fogFragmentDeclaration.js 990 B

123456789101112131415161718192021222324
  1. // Do not edit.
  2. import { ShaderStore } from "../../Engines/shaderStore.js";
  3. const name = "fogFragmentDeclaration";
  4. const shader = `#ifdef FOG
  5. #define FOGMODE_NONE 0.
  6. #define FOGMODE_EXP 1.
  7. #define FOGMODE_EXP2 2.
  8. #define FOGMODE_LINEAR 3.
  9. #define E 2.71828
  10. uniform vec4 vFogInfos;uniform vec3 vFogColor;varying vec3 vFogDistance;float CalcFogFactor()
  11. {float fogCoeff=1.0;float fogStart=vFogInfos.y;float fogEnd=vFogInfos.z;float fogDensity=vFogInfos.w;float fogDistance=length(vFogDistance);if (FOGMODE_LINEAR==vFogInfos.x)
  12. {fogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);}
  13. else if (FOGMODE_EXP==vFogInfos.x)
  14. {fogCoeff=1.0/pow(E,fogDistance*fogDensity);}
  15. else if (FOGMODE_EXP2==vFogInfos.x)
  16. {fogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);}
  17. return clamp(fogCoeff,0.0,1.0);}
  18. #endif
  19. `;
  20. // Sideeffect
  21. ShaderStore.IncludesShadersStore[name] = shader;
  22. /** @internal */
  23. export const fogFragmentDeclaration = { name, shader };
  24. //# sourceMappingURL=fogFragmentDeclaration.js.map