shadowMap.vertex.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // Do not edit.
  2. import { ShaderStore } from "../Engines/shaderStore.js";
  3. import "./ShadersInclude/bonesDeclaration.js";
  4. import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
  5. import "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
  6. import "./ShadersInclude/morphTargetsVertexDeclaration.js";
  7. import "./ShadersInclude/helperFunctions.js";
  8. import "./ShadersInclude/shadowMapVertexDeclaration.js";
  9. import "./ShadersInclude/shadowMapUboDeclaration.js";
  10. import "./ShadersInclude/shadowMapVertexExtraDeclaration.js";
  11. import "./ShadersInclude/clipPlaneVertexDeclaration.js";
  12. import "./ShadersInclude/morphTargetsVertexGlobal.js";
  13. import "./ShadersInclude/morphTargetsVertex.js";
  14. import "./ShadersInclude/instancesVertex.js";
  15. import "./ShadersInclude/bonesVertex.js";
  16. import "./ShadersInclude/bakedVertexAnimation.js";
  17. import "./ShadersInclude/shadowMapVertexNormalBias.js";
  18. import "./ShadersInclude/shadowMapVertexMetric.js";
  19. import "./ShadersInclude/clipPlaneVertex.js";
  20. const name = "shadowMapVertexShader";
  21. const shader = `attribute vec3 position;
  22. #ifdef NORMAL
  23. attribute vec3 normal;
  24. #endif
  25. #include<bonesDeclaration>
  26. #include<bakedVertexAnimationDeclaration>
  27. #include<morphTargetsVertexGlobalDeclaration>
  28. #include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]
  29. #ifdef INSTANCES
  30. attribute vec4 world0;attribute vec4 world1;attribute vec4 world2;attribute vec4 world3;
  31. #endif
  32. #include<helperFunctions>
  33. #include<__decl__shadowMapVertex>
  34. #ifdef ALPHATEXTURE
  35. varying vec2 vUV;uniform mat4 diffuseMatrix;
  36. #ifdef UV1
  37. attribute vec2 uv;
  38. #endif
  39. #ifdef UV2
  40. attribute vec2 uv2;
  41. #endif
  42. #endif
  43. #include<shadowMapVertexExtraDeclaration>
  44. #include<clipPlaneVertexDeclaration>
  45. #define CUSTOM_VERTEX_DEFINITIONS
  46. void main(void)
  47. {vec3 positionUpdated=position;
  48. #ifdef UV1
  49. vec2 uvUpdated=uv;
  50. #endif
  51. #ifdef NORMAL
  52. vec3 normalUpdated=normal;
  53. #endif
  54. #include<morphTargetsVertexGlobal>
  55. #include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]
  56. #include<instancesVertex>
  57. #include<bonesVertex>
  58. #include<bakedVertexAnimation>
  59. vec4 worldPos=finalWorld*vec4(positionUpdated,1.0);
  60. #ifdef NORMAL
  61. mat3 normWorldSM=mat3(finalWorld);
  62. #if defined(INSTANCES) && defined(THIN_INSTANCES)
  63. vec3 vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));vNormalW=normalize(normWorldSM*vNormalW);
  64. #else
  65. #ifdef NONUNIFORMSCALING
  66. normWorldSM=transposeMat3(inverseMat3(normWorldSM));
  67. #endif
  68. vec3 vNormalW=normalize(normWorldSM*normalUpdated);
  69. #endif
  70. #endif
  71. #include<shadowMapVertexNormalBias>
  72. gl_Position=viewProjection*worldPos;
  73. #include<shadowMapVertexMetric>
  74. #ifdef ALPHATEXTURE
  75. #ifdef UV1
  76. vUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));
  77. #endif
  78. #ifdef UV2
  79. vUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));
  80. #endif
  81. #endif
  82. #include<clipPlaneVertex>
  83. }`;
  84. // Sideeffect
  85. ShaderStore.ShadersStore[name] = shader;
  86. /** @internal */
  87. export const shadowMapVertexShader = { name, shader };
  88. //# sourceMappingURL=shadowMap.vertex.js.map