It works in babylon 6.49.0, throws errors in babylon 7 and up.
I get:
scene is now loaded
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Unable to compile effect:
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Uniforms: u_World, u_ViewProjection, u_view, reflectionMatrix, vSphericalL00, vSphericalL1_1, vSphericalL10, vSphericalL11, vSphericalL2_2, vSphericalL2_1, vSphericalL20, vSphericalL21, vSphericalL22, vSphericalX, vSphericalY, vSphericalZ, vSphericalXX_ZZ, vSphericalYY_ZZ, vSphericalZZ, vSphericalXY, vSphericalYZ, vSphericalZX, u_cameraPosition, textureTransform, textureTransform1, textureTransform2, textureTransform3, u_FabricBaseColor, u_PatternTransparentColor, u_PatternTransparentFactor, u_Color, u_PatternReplaceColor, u_PatternReplaceColorFactor, u_PatternReplacementColor, u_DesignTransparentColor, u_DesignTransparentFactor, u_Color1, u_Float, u_Float1, u_Color2, vLightData0, vLightDiffuse0, vLightSpecular0, vLightDirection0, vLightFalloff0, vLightGround0, lightMatrix0, shadowsInfo0, depthValues0, viewFrustumZ0, cascadeBlendFactor0, lightSizeUVCorrection0, depthCorrection0, penumbraDarkness0, frustumLengths0, vLightData1, vLightDiffuse1, vLightSpecular1, vLightDirection1, vLightFalloff1, vLightGround1, lightMatrix1, shadowsInfo1, depthValues1, viewFrustumZ1, cascadeBlendFactor1, lightSizeUVCorrection1, depthCorrection1, penumbraDarkness1, frustumLengths1, textureInfoName, textureInfoName1, textureInfoName2, textureInfoName3, vDebugMode, ambientFromScene, exposureLinear, contrast, vInverseScreenSize, vignetteSettings1, vignetteSettings2, vCameraColorCurveNegative, vCameraColorCurveNeutral, vCameraColorCurvePositive, txColorTransform, colorTransformSettings, ditherIntensity, vLightingIntensity, invertNormal, vMetallicReflectanceFactors, GradientTextureSampler, PatternTextureSampler, DesignTextureSampler, FabricTextureSampler, shadowSampler0, depthSampler0, shadowSampler1, depthSampler1, environmentBrdfSampler
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Attributes: position, normal, uv
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Defines:
#define NORMAL
#define UV1
#define PREPASS_NORMAL_INDEX -1
#define PREPASS_POSITION_INDEX -1
#define PREPASS_DEPTH_INDEX -1
#define SCENE_MRT_COUNT 0
#define NUM_BONE_INFLUENCERS 0
#define BonesPerMesh 0
#define NUM_MORPH_INFLUENCERS 0
#define VIGNETTEBLENDMODEMULTIPLY
#define SAMPLER3DGREENDEPTH
#define SAMPLER3DBGRMAP
#define BUMPDIRECTUV 0
#define CAMERA_PERSPECTIVE
#define VMAINUV
#define UVTRANSFORM3
#define PBR
#define METALLICWORKFLOW
#define DEBUGMODE 0
#define DEBUGMODE_FORCERETURN
#define NORMALXYSCALE
#define LODBASEDMICROSFURACE
#define AMBIENT
#define USEPHYSICALLIGHTFALLOFF
#define ALPHATESTVALUE 0.5
#define RADIANCEOVERALPHA
#define SPECULAROVERALPHA
#define NUM_SAMPLES 8u
#define BRDF_V_HEIGHT_CORRELATED
#define MS_BRDF_ENERGY_CONSERVATION
#define RADIANCEOCCLUSION
#define HORIZONOCCLUSION
#define ENVIRONMENTBRDF
#define LIGHT0
#define HEMILIGHT0
#define LIGHT1
#define HEMILIGHT1
#define SPECULARTERM
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Vertex code:
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: #version 300 es
#define WEBGL2
#define NORMAL
#define UV1
#define PREPASS_NORMAL_INDEX -1
#define PREPASS_POSITION_INDEX -1
#define PREPASS_DEPTH_INDEX -1
#define SCENE_MRT_COUNT 0
#define NUM_BONE_INFLUENCERS 0
#define BonesPerMesh 0
#define NUM_MORPH_INFLUENCERS 0
#define VIGNETTEBLENDMODEMULTIPLY
#define SAMPLER3DGREENDEPTH
#define SAMPLER3DBGRMAP
#define BUMPDIRECTUV 0
#define CAMERA_PERSPECTIVE
#define VMAINUV
#define UVTRANSFORM3
#define PBR
#define METALLICWORKFLOW
#define DEBUGMODE 0
#define DEBUGMODE_FORCERETURN
#define NORMALXYSCALE
#define LODBASEDMICROSFURACE
#define AMBIENT
#define USEPHYSICALLIGHTFALLOFF
#define ALPHATESTVALUE 0.5
#define RADIANCEOVERALPHA
#define SPECULAROVERALPHA
#define NUM_SAMPLES 8u
#define BRDF_V_HEIGHT_CORRELATED
#define MS_BRDF_ENERGY_CONSERVATION
#define RADIANCEOCCLUSION
#define HORIZONOCCLUSION
#define ENVIRONMENTBRDF
#define LIGHT0
#define HEMILIGHT0
#define LIGHT1
#define HEMILIGHT1
#define SPECULARTERM
#define SHADER_NAME vertex:nodeMaterial3
precision highp sampler2DArray;
precision highp float;
in vec3 position;
in vec3 normal;
in vec2 uv;
uniform mat4 u_World;
uniform mat4 u_ViewProjection;
uniform mat4 u_view;
uniform mat4 reflectionMatrix;
uniform vec3 vSphericalX;
uniform vec3 vSphericalY;
uniform vec3 vSphericalZ;
uniform vec3 vSphericalXX_ZZ;
uniform vec3 vSphericalYY_ZZ;
uniform vec3 vSphericalZZ;
uniform vec3 vSphericalXY;
uniform vec3 vSphericalYZ;
uniform vec3 vSphericalZX;
uniform vec3 u_cameraPosition;
uniform mat4 textureTransform3;
uniform vec3 u_FabricBaseColor;
uniform vec4 u_PatternTransparentColor;
uniform float u_PatternTransparentFactor;
uniform vec4 u_Color;
uniform vec4 u_PatternReplaceColor;
uniform float u_PatternReplaceColorFactor;
uniform vec4 u_PatternReplacementColor;
uniform vec4 u_DesignTransparentColor;
uniform float u_DesignTransparentFactor;
uniform vec4 u_Color1;
uniform float u_Float;
uniform float u_Float1;
uniform vec3 u_Color2;
uniform sampler2D GradientTextureSampler;
uniform sampler2D PatternTextureSampler;
uniform sampler2D DesignTextureSampler;
uniform sampler2D FabricTextureSampler;
out vec4 v_output0;
out vec2 vMainuv;
out vec2 transformedUV3;
out vec4 v_output2;
const float PI=3.1415926535897932384626433832795;
const float RECIPROCAL_PI=0.3183098861837907;
const float RECIPROCAL_PI2=0.15915494309189535;
const float HALF_MIN=5.96046448e-08;
const float LinearEncodePowerApprox=2.2;
const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;
const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);
const float Epsilon=0.0000001;
#define saturate(x) clamp(x,0.0,1.0)
#define absEps(x) abs(x)+Epsilon
#define maxEps(x) max(x,Epsilon)
#define saturateEps(x) clamp(x,Epsilon,1.0)
mat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];
vec3 i1=inMatrix[1];
vec3 i2=inMatrix[2];
mat3 outMatrix=mat3(
vec3(i0.x,i1.x,i2.x),
vec3(i0.y,i1.y,i2.y),
vec3(i0.z,i1.z,i2.z)
);
return outMatrix;
}
mat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];
float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];
float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];
float b01=a22a11-a12a21;
float b11=-a22a10+a12a20;
float b21=a21a10-a11a20;
float det=a00b01+a01b11+a02b21;
return mat3(b01,(-a22a01+a02a21),(a12a01-a02a11),
b11,(a22a00-a02a20),(-a12a00+a02a10),
b21,(-a21a00+a01a20),(a11a00-a01a10))/det;
}
float toLinearSpace(float color)
{
return pow(color,LinearEncodePowerApprox);
}
vec3 toLinearSpace(vec3 color)
{
return pow(color,vec3(LinearEncodePowerApprox));
}
vec4 toLinearSpace(vec4 color)
{
return vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);
}
float toGammaSpace(float color)
{
return pow(color,GammaEncodePowerApprox);
}
vec3 toGammaSpace(vec3 color)
{
return pow(color,vec3(GammaEncodePowerApprox));
}
vec4 toGammaSpace(vec4 color)
{
return vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);
}
float square(float value)
{return valuevalue;
}
vec3 square(vec3 value)
{return valuevalue;
}
float pow5(float value) {float sq=valuevalue;
return sqsqvalue;
}
float getLuminance(vec3 color)
{return clamp(dot(color,LuminanceEncodeApprox),0.,1.);
}
float getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))43758.5453);
}
float dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);
float normVariance=varianceAmount/255.0;
float dither=mix(-normVariance,normVariance,rand);
return dither;
}
const float rgbdMaxRange=255.0;
vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));
float D =max(rgbdMaxRange/maxRGB,1.);
D =clamp(floor(D)/255.0,0.,1.);
vec3 rgb=color.rgbD;
rgb=toGammaSpace(rgb);
return vec4(clamp(rgb,0.,1.),D);
}
vec3 fromRGBD(vec4 rgbd) {rgbd.rgb=toLinearSpace(rgbd.rgb);
return rgbd.rgb/rgbd.a;
}
vec3 parallaxCorrectNormal( vec3 vertexPos,vec3 origVec,vec3 cubeSize,vec3 cubePos ) {vec3 invOrigVec=vec3(1.0,1.0,1.0)/origVec;
vec3 halfSize=cubeSize*0.5;
vec3 intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;
vec3 intersecAtMinPlane=(cubePos-halfSize-vertexPos)invOrigVec;
vec3 largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);
float distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);
vec3 intersectPositionWS=vertexPos+origVecdistance;
return intersectPositionWS-cubePos;
}
uniform Light0
{vec4 vLightData;
vec4 vLightDiffuse;
vec4 vLightSpecular;
vec3 vLightGround;
vec4 shadowsInfo;
vec2 depthValues;
} light0;
uniform Light1
{vec4 vLightData;
vec4 vLightDiffuse;
vec4 vLightSpecular;
vec3 vLightGround;
vec4 shadowsInfo;
vec2 depthValues;
} light1;
void main(void) {
mat3 u_World_NUS = mat3(u_World);
vec4 output2 = vec4(u_World_NUS * normal, 0.0);
vec4 output1 = u_World * vec4(position, 1.0);
vec4 output0 = u_ViewProjection * output1;
gl_Position = output0;
v_output0 = output0;
vec4 worldPos = output0;
mat4 view = u_view;
vMainuv = uv.xy;
vMainuv = uv.xy;
vMainuv = uv.xy;
transformedUV3 = vec4(textureTransform3 * vec4(uv.xy, 1.0, 0.0));
v_output2 = output2;
}
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Fragment code:
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: #version 300 es
#define WEBGL2
#define NORMAL
#define UV1
#define PREPASS_NORMAL_INDEX -1
#define PREPASS_POSITION_INDEX -1
#define PREPASS_DEPTH_INDEX -1
#define SCENE_MRT_COUNT 0
#define NUM_BONE_INFLUENCERS 0
#define BonesPerMesh 0
#define NUM_MORPH_INFLUENCERS 0
#define VIGNETTEBLENDMODEMULTIPLY
#define SAMPLER3DGREENDEPTH
#define SAMPLER3DBGRMAP
#define BUMPDIRECTUV 0
#define CAMERA_PERSPECTIVE
#define VMAINUV
#define UVTRANSFORM3
#define PBR
#define METALLICWORKFLOW
#define DEBUGMODE 0
#define DEBUGMODE_FORCERETURN
#define NORMALXYSCALE
#define LODBASEDMICROSFURACE
#define AMBIENT
#define USEPHYSICALLIGHTFALLOFF
#define ALPHATESTVALUE 0.5
#define RADIANCEOVERALPHA
#define SPECULAROVERALPHA
#define NUM_SAMPLES 8u
#define BRDF_V_HEIGHT_CORRELATED
#define MS_BRDF_ENERGY_CONSERVATION
#define RADIANCEOCCLUSION
#define HORIZONOCCLUSION
#define ENVIRONMENTBRDF
#define LIGHT0
#define HEMILIGHT0
#define LIGHT1
#define HEMILIGHT1
#define SPECULARTERM
#define SHADER_NAME fragment:nodeMaterial3
precision highp sampler2DArray;
precision highp float;
uniform mat4 u_World;
uniform mat4 u_ViewProjection;
uniform mat4 u_view;
uniform mat4 reflectionMatrix;
uniform vec3 vSphericalX;
uniform vec3 vSphericalY;
uniform vec3 vSphericalZ;
uniform vec3 vSphericalXX_ZZ;
uniform vec3 vSphericalYY_ZZ;
uniform vec3 vSphericalZZ;
uniform vec3 vSphericalXY;
uniform vec3 vSphericalYZ;
uniform vec3 vSphericalZX;
uniform vec3 u_cameraPosition;
uniform mat4 textureTransform3;
uniform vec3 u_FabricBaseColor;
uniform vec4 u_PatternTransparentColor;
uniform float u_PatternTransparentFactor;
uniform vec4 u_Color;
uniform vec4 u_PatternReplaceColor;
uniform float u_PatternReplaceColorFactor;
uniform vec4 u_PatternReplacementColor;
uniform vec4 u_DesignTransparentColor;
uniform float u_DesignTransparentFactor;
uniform vec4 u_Color1;
uniform float u_Float;
uniform float u_Float1;
uniform vec3 u_Color2;
uniform float textureInfoName;
uniform float textureInfoName1;
uniform float textureInfoName2;
uniform float textureInfoName3;
uniform vec3 ambientFromScene;
uniform vec4 vLightingIntensity;
uniform float invertNormal;
uniform vec4 vMetallicReflectanceFactors;
uniform sampler2D GradientTextureSampler;
uniform sampler2D PatternTextureSampler;
uniform sampler2D DesignTextureSampler;
uniform sampler2D FabricTextureSampler;
uniform sampler2D environmentBrdfSampler;
in vec4 v_output0;
in vec2 vMainuv;
in vec2 transformedUV3;
in vec4 v_output2;
const float PI=3.1415926535897932384626433832795;
const float RECIPROCAL_PI=0.3183098861837907;
const float RECIPROCAL_PI2=0.15915494309189535;
const float HALF_MIN=5.96046448e-08;
const float LinearEncodePowerApprox=2.2;
const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;
const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);
const float Epsilon=0.0000001;
#define saturate(x) clamp(x,0.0,1.0)
#define absEps(x) abs(x)+Epsilon
#define maxEps(x) max(x,Epsilon)
#define saturateEps(x) clamp(x,Epsilon,1.0)
mat3 transposeMat3(mat3 inMatrix) {vec3 i0=inMatrix[0];
vec3 i1=inMatrix[1];
vec3 i2=inMatrix[2];
mat3 outMatrix=mat3(
vec3(i0.x,i1.x,i2.x),
vec3(i0.y,i1.y,i2.y),
vec3(i0.z,i1.z,i2.z)
);
return outMatrix;
}
mat3 inverseMat3(mat3 inMatrix) {float a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];
float a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];
float a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];
float b01=a22a11-a12a21;
float b11=-a22a10+a12a20;
float b21=a21a10-a11a20;
float det=a00b01+a01b11+a02b21;
return mat3(b01,(-a22a01+a02a21),(a12a01-a02a11),
b11,(a22a00-a02a20),(-a12a00+a02a10),
b21,(-a21a00+a01a20),(a11a00-a01a10))/det;
}
float toLinearSpace(float color)
{
return pow(color,LinearEncodePowerApprox);
}
vec3 toLinearSpace(vec3 color)
{
return pow(color,vec3(LinearEncodePowerApprox));
}
vec4 toLinearSpace(vec4 color)
{
return vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);
}
float toGammaSpace(float color)
{
return pow(color,GammaEncodePowerApprox);
}
vec3 toGammaSpace(vec3 color)
{
return pow(color,vec3(GammaEncodePowerApprox));
}
vec4 toGammaSpace(vec4 color)
{
return vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);
}
float square(float value)
{return valuevalue;
}
vec3 square(vec3 value)
{return valuevalue;
}
float pow5(float value) {float sq=valuevalue;
return sqsqvalue;
}
float getLuminance(vec3 color)
{return clamp(dot(color,LuminanceEncodeApprox),0.,1.);
}
float getRand(vec2 seed) {return fract(sin(dot(seed.xy ,vec2(12.9898,78.233)))43758.5453);
}
float dither(vec2 seed,float varianceAmount) {float rand=getRand(seed);
float normVariance=varianceAmount/255.0;
float dither=mix(-normVariance,normVariance,rand);
return dither;
}
const float rgbdMaxRange=255.0;
vec4 toRGBD(vec3 color) {float maxRGB=maxEps(max(color.r,max(color.g,color.b)));
float D =max(rgbdMaxRange/maxRGB,1.);
D =clamp(floor(D)/255.0,0.,1.);
vec3 rgb=color.rgbD;
rgb=toGammaSpace(rgb);
return vec4(clamp(rgb,0.,1.),D)
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Offending line [208] in vertex code: transformedUV3 = vec4(textureTransform3 * vec4(uv.xy, 1.0, 0.0));
_LogEnabled @ chunk-B623SFX6.js?v=798a4441:52
Show 1 more frame
Show less
chunk-B623SFX6.js?v=798a4441:52 BJS - [08:00:53]: Error: VERTEX SHADER ERROR: 0:208: ‘=’ : dimension mismatch
ERROR: 0:208: ‘assign’ : cannot convert from ‘highp 4-component vector of float’ to ‘out highp 2-component vector of float’