envmap_vertex.glsl.js 647 B

12345678910111213141516171819202122232425262728293031323334353637
  1. export default /* glsl */`
  2. #ifdef USE_ENVMAP
  3. #ifdef ENV_WORLDPOS
  4. vWorldPosition = worldPosition.xyz;
  5. #else
  6. vec3 cameraToVertex;
  7. if ( isOrthographic ) {
  8. cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );
  9. } else {
  10. cameraToVertex = normalize( worldPosition.xyz - cameraPosition );
  11. }
  12. vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );
  13. #ifdef ENVMAP_MODE_REFLECTION
  14. vReflect = reflect( cameraToVertex, worldNormal );
  15. #else
  16. vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
  17. #endif
  18. #endif
  19. #endif
  20. `;
粤ICP备19079148号