volumetricLightScatteringPass.vertex.fx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Attribute
  2. attribute vec3 position;
  3. #include<bonesDeclaration>
  4. #include<morphTargetsVertexGlobalDeclaration>
  5. #include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]
  6. // Uniform
  7. #include<instancesDeclaration>
  8. uniform mat4 viewProjection;
  9. uniform vec2 depthValues;
  10. #if defined(ALPHATEST) || defined(NEED_UV)
  11. varying vec2 vUV;
  12. uniform mat4 diffuseMatrix;
  13. #ifdef UV1
  14. attribute vec2 uv;
  15. #endif
  16. #ifdef UV2
  17. attribute vec2 uv2;
  18. #endif
  19. #endif
  20. void main(void)
  21. {
  22. vec3 positionUpdated = position;
  23. #if (defined(ALPHATEST) || defined(NEED_UV)) && defined(UV1)
  24. vec2 uvUpdated = uv;
  25. #endif
  26. #include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]
  27. #include<instancesVertex>
  28. #include<bonesVertex>
  29. gl_Position = viewProjection * finalWorld * vec4(positionUpdated, 1.0);
  30. #if defined(ALPHATEST) || defined(BASIC_RENDER)
  31. #ifdef UV1
  32. vUV = vec2(diffuseMatrix * vec4(uvUpdated, 1.0, 0.0));
  33. #endif
  34. #ifdef UV2
  35. vUV = vec2(diffuseMatrix * vec4(uv2, 1.0, 0.0));
  36. #endif
  37. #endif
  38. }