pbrBlockAmbientOcclusion.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Do not edit.
  2. import { ShaderStore } from "../../Engines/shaderStore.js";
  3. const name = "pbrBlockAmbientOcclusion";
  4. const shader = `struct ambientOcclusionOutParams
  5. {vec3 ambientOcclusionColor;
  6. #if DEBUGMODE>0 && defined(AMBIENT)
  7. vec3 ambientOcclusionColorMap;
  8. #endif
  9. };
  10. #define pbr_inline
  11. void ambientOcclusionBlock(
  12. #ifdef AMBIENT
  13. in vec3 ambientOcclusionColorMap_,
  14. in vec4 vAmbientInfos,
  15. #endif
  16. out ambientOcclusionOutParams outParams
  17. )
  18. {vec3 ambientOcclusionColor=vec3(1.,1.,1.);
  19. #ifdef AMBIENT
  20. vec3 ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;
  21. #ifdef AMBIENTINGRAYSCALE
  22. ambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);
  23. #endif
  24. ambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);
  25. #if DEBUGMODE>0
  26. outParams.ambientOcclusionColorMap=ambientOcclusionColorMap;
  27. #endif
  28. #endif
  29. outParams.ambientOcclusionColor=ambientOcclusionColor;}
  30. `;
  31. // Sideeffect
  32. ShaderStore.IncludesShadersStore[name] = shader;
  33. /** @internal */
  34. export const pbrBlockAmbientOcclusion = { name, shader };
  35. //# sourceMappingURL=pbrBlockAmbientOcclusion.js.map