pbrBlockAmbientOcclusion.fx 968 B

1234567891011121314151617181920212223242526272829303132
  1. struct ambientOcclusionOutParams
  2. {
  3. vec3 ambientOcclusionColor;
  4. #if DEBUGMODE > 0
  5. vec3 ambientOcclusionColorMap;
  6. #endif
  7. };
  8. void ambientOcclusionBlock(
  9. #ifdef AMBIENT
  10. const in vec3 ambientOcclusionColorMap_,
  11. const in vec4 vAmbientInfos,
  12. #endif
  13. out ambientOcclusionOutParams outParams
  14. )
  15. {
  16. vec3 ambientOcclusionColor = vec3(1., 1., 1.);
  17. #ifdef AMBIENT
  18. vec3 ambientOcclusionColorMap = ambientOcclusionColorMap_ * vAmbientInfos.y;
  19. #ifdef AMBIENTINGRAYSCALE
  20. ambientOcclusionColorMap = vec3(ambientOcclusionColorMap.r, ambientOcclusionColorMap.r, ambientOcclusionColorMap.r);
  21. #endif
  22. ambientOcclusionColor = mix(ambientOcclusionColor, ambientOcclusionColorMap, vAmbientInfos.z);
  23. #if DEBUGMODE > 0
  24. outParams.ambientOcclusionColorMap = ambientOcclusionColorMap;
  25. #endif
  26. #endif
  27. outParams.ambientOcclusionColor = ambientOcclusionColor;
  28. }