diff --git a/examples/js/nodes/NodeLib.js b/examples/js/nodes/NodeLib.js index db8f185b4a4f2e274993223e757e010c0387762f..eabc03baeee75b3179511243aff2f8ae818fe3c0 100644 --- a/examples/js/nodes/NodeLib.js +++ b/examples/js/nodes/NodeLib.js @@ -141,8 +141,10 @@ THREE.NodeLib.add( new THREE.FunctionNode( [ " vec3 q1 = dFdy( eye_pos );", " vec2 st0 = dFdx( mUv.st );", " vec2 st1 = dFdy( mUv.st );", - " vec3 S = normalize( q0 * st1.t - q1 * st0.t );", - " vec3 T = normalize( -q0 * st1.s + q1 * st0.s );", + " float factor = sign( st1.t * st0.s - st0.t * st1.s );", + " factor *= float( gl_FrontFacing ) * 2.0 - 1.0;", + " vec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * factor );", + " vec3 T = normalize( ( -q0 * st1.s + q1 * st0.s ) * factor );", " vec3 N = normalize( surf_norm );", " vec3 mapN = map * 2.0 - 1.0;", " mapN.xy = scale * mapN.xy;",