SimpleWater shader error with three r164
vincentfretin opened this issue · 1 comments
vincentfretin commented
I have a shader error in playground example since the update to three r164, I don't know where it's coming from. The scene doesn't seem impacted.
THREE.WebGLProgram: Shader Error 0 - VALIDATE_STATUS false
Material Name: SimpleWaterMaterial
Material Type: MeshStandardMaterial
Program Info Log: Fragment shader is not compiled.
FRAGMENT
ERROR: 0:1659: 'vUv' : undeclared identifier
ERROR: 0:1659: 'st' : field selection requires structure, vector, or interface block on left hand side
ERROR: 0:1659: '=' : dimension mismatch
ERROR: 0:1659: '=' : cannot convert from 'highp float' to 'highp 2-component vector of float'
ERROR: 0:1660: 'vUv' : undeclared identifier
ERROR: 0:1660: 'st' : field selection requires structure, vector, or interface block on left hand side
ERROR: 0:1660: '=' : dimension mismatch
ERROR: 0:1660: '=' : cannot convert from 'highp float' to 'highp 2-component vector of float'
1654: // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988
1655:
1656: vec3 eye_pos = -vViewPosition;
1657: vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );
1658: vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );
> 1659: vec2 st0 = dFdx( vUv.st );
1660: vec2 st1 = dFdy( vUv.st );
1661:
1662: float scale = sign( st1.t * st0.s - st0.t * st1.s ); // we do not care about the magnitude
1663:
1664: vec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );
1665: vec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );
vincentfretin commented
Oh wait it says Material Name: SimpleWaterMaterial
I missed that completely.
If someone want to try to make a fix, please go ahead.