shadowMapFragment.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. // Do not edit.
  2. import { ShaderStore } from "../../Engines/shaderStore.js";
  3. const name = "shadowMapFragment";
  4. const shader = `float depthSM=vDepthMetricSM;
  5. #if defined(SM_DEPTHCLAMP) && SM_DEPTHCLAMP==1
  6. #if SM_USEDISTANCE==1
  7. depthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
  8. #else
  9. #ifdef USE_REVERSE_DEPTHBUFFER
  10. depthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
  11. #else
  12. depthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
  13. #endif
  14. #endif
  15. #ifdef USE_REVERSE_DEPTHBUFFER
  16. gl_FragDepth=clamp(1.0-depthSM,0.0,1.0);
  17. #else
  18. gl_FragDepth=clamp(depthSM,0.0,1.0);
  19. #endif
  20. #elif SM_USEDISTANCE==1
  21. depthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;
  22. #endif
  23. #if SM_ESM==1
  24. depthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);
  25. #endif
  26. #if SM_FLOAT==1
  27. gl_FragColor=vec4(depthSM,1.0,1.0,1.0);
  28. #else
  29. gl_FragColor=pack(depthSM);
  30. #endif
  31. return;`;
  32. // Sideeffect
  33. ShaderStore.IncludesShadersStore[name] = shader;
  34. /** @internal */
  35. export const shadowMapFragment = { name, shader };
  36. //# sourceMappingURL=shadowMapFragment.js.map