three
Version:
JavaScript 3D library
34 lines (18 loc) • 642 B
JavaScript
export default /* glsl */`
normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; // overrides both flatShading and attribute normals
normal = - normal;
normal = normal * faceDirection;
normal = normalize( normalMatrix * normal );
vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
mapN.xy *= normalScale;
normal = normalize( tbn * mapN );
normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );
`;