|
@@ -24,11 +24,9 @@ export default /* glsl */`
|
|
|
|
|
|
vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
|
|
vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {
|
|
|
|
|
|
- // Workaround for Adreno 3XX dFd*( vec3 ) bug. See #9988
|
|
|
|
-
|
|
|
|
- vec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );
|
|
|
|
- vec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );
|
|
|
|
- vec3 vN = surf_norm; // normalized
|
|
|
|
|
|
+ vec3 vSigmaX = dFdx( surf_pos.xyz );
|
|
|
|
+ vec3 vSigmaY = dFdy( surf_pos.xyz );
|
|
|
|
+ vec3 vN = surf_norm; // normalized
|
|
|
|
|
|
vec3 R1 = cross( vSigmaY, vN );
|
|
vec3 R1 = cross( vSigmaY, vN );
|
|
vec3 R2 = cross( vN, vSigmaX );
|
|
vec3 R2 = cross( vN, vSigmaX );
|