background.vertex.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. // Do not edit.
  2. import { ShaderStore } from "../Engines/shaderStore.js";
  3. import "./ShadersInclude/backgroundVertexDeclaration.js";
  4. import "./ShadersInclude/backgroundUboDeclaration.js";
  5. import "./ShadersInclude/helperFunctions.js";
  6. import "./ShadersInclude/bonesDeclaration.js";
  7. import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
  8. import "./ShadersInclude/instancesDeclaration.js";
  9. import "./ShadersInclude/clipPlaneVertexDeclaration.js";
  10. import "./ShadersInclude/fogVertexDeclaration.js";
  11. import "./ShadersInclude/lightVxFragmentDeclaration.js";
  12. import "./ShadersInclude/lightVxUboDeclaration.js";
  13. import "./ShadersInclude/logDepthDeclaration.js";
  14. import "./ShadersInclude/instancesVertex.js";
  15. import "./ShadersInclude/bonesVertex.js";
  16. import "./ShadersInclude/bakedVertexAnimation.js";
  17. import "./ShadersInclude/clipPlaneVertex.js";
  18. import "./ShadersInclude/fogVertex.js";
  19. import "./ShadersInclude/shadowsVertex.js";
  20. import "./ShadersInclude/logDepthVertex.js";
  21. const name = "backgroundVertexShader";
  22. const shader = `precision highp float;
  23. #include<__decl__backgroundVertex>
  24. #include<helperFunctions>
  25. attribute vec3 position;
  26. #ifdef NORMAL
  27. attribute vec3 normal;
  28. #endif
  29. #include<bonesDeclaration>
  30. #include<bakedVertexAnimationDeclaration>
  31. #include<instancesDeclaration>
  32. varying vec3 vPositionW;
  33. #ifdef NORMAL
  34. varying vec3 vNormalW;
  35. #endif
  36. #ifdef UV1
  37. attribute vec2 uv;
  38. #endif
  39. #ifdef UV2
  40. attribute vec2 uv2;
  41. #endif
  42. #ifdef MAINUV1
  43. varying vec2 vMainUV1;
  44. #endif
  45. #ifdef MAINUV2
  46. varying vec2 vMainUV2;
  47. #endif
  48. #if defined(DIFFUSE) && DIFFUSEDIRECTUV==0
  49. varying vec2 vDiffuseUV;
  50. #endif
  51. #include<clipPlaneVertexDeclaration>
  52. #include<fogVertexDeclaration>
  53. #include<__decl__lightVxFragment>[0..maxSimultaneousLights]
  54. #ifdef REFLECTIONMAP_SKYBOX
  55. varying vec3 vPositionUVW;
  56. #endif
  57. #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
  58. varying vec3 vDirectionW;
  59. #endif
  60. #include<logDepthDeclaration>
  61. #define CUSTOM_VERTEX_DEFINITIONS
  62. void main(void) {
  63. #define CUSTOM_VERTEX_MAIN_BEGIN
  64. #ifdef REFLECTIONMAP_SKYBOX
  65. vPositionUVW=position;
  66. #endif
  67. #include<instancesVertex>
  68. #include<bonesVertex>
  69. #include<bakedVertexAnimation>
  70. #ifdef MULTIVIEW
  71. if (gl_ViewID_OVR==0u) {gl_Position=viewProjection*finalWorld*vec4(position,1.0);} else {gl_Position=viewProjectionR*finalWorld*vec4(position,1.0);}
  72. #else
  73. gl_Position=viewProjection*finalWorld*vec4(position,1.0);
  74. #endif
  75. vec4 worldPos=finalWorld*vec4(position,1.0);vPositionW=vec3(worldPos);
  76. #ifdef NORMAL
  77. mat3 normalWorld=mat3(finalWorld);
  78. #ifdef NONUNIFORMSCALING
  79. normalWorld=transposeMat3(inverseMat3(normalWorld));
  80. #endif
  81. vNormalW=normalize(normalWorld*normal);
  82. #endif
  83. #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
  84. vDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));
  85. #ifdef EQUIRECTANGULAR_RELFECTION_FOV
  86. mat3 screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));vec3 segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));if (fFovMultiplier<=1.0) {vDirectionW=normalize(segment);} else {vDirectionW=normalize(vDirectionW+(vDirectionW-segment));}
  87. #endif
  88. #endif
  89. #ifndef UV1
  90. vec2 uv=vec2(0.,0.);
  91. #endif
  92. #ifndef UV2
  93. vec2 uv2=vec2(0.,0.);
  94. #endif
  95. #ifdef MAINUV1
  96. vMainUV1=uv;
  97. #endif
  98. #ifdef MAINUV2
  99. vMainUV2=uv2;
  100. #endif
  101. #if defined(DIFFUSE) && DIFFUSEDIRECTUV==0
  102. if (vDiffuseInfos.x==0.)
  103. {vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}
  104. else
  105. {vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}
  106. #endif
  107. #include<clipPlaneVertex>
  108. #include<fogVertex>
  109. #include<shadowsVertex>[0..maxSimultaneousLights]
  110. #ifdef VERTEXCOLOR
  111. vColor=color;
  112. #endif
  113. #if defined(POINTSIZE) && !defined(WEBGPU)
  114. gl_PointSize=pointSize;
  115. #endif
  116. #include<logDepthVertex>
  117. #define CUSTOM_VERTEX_MAIN_END
  118. }
  119. `;
  120. // Sideeffect
  121. ShaderStore.ShadersStore[name] = shader;
  122. /** @internal */
  123. export const backgroundVertexShader = { name, shader };
  124. //# sourceMappingURL=background.vertex.js.map