pbrBlockFinalUnlitComponents.fx 1.1 KB

12345678910111213141516171819202122232425262728
  1. // _____________________________ Diffuse ________________________________________
  2. vec3 finalDiffuse = diffuseBase;
  3. finalDiffuse *= surfaceAlbedo.rgb;
  4. finalDiffuse = max(finalDiffuse, 0.0);
  5. finalDiffuse *= vLightingIntensity.x;
  6. // _____________________________ Ambient ________________________________________
  7. vec3 finalAmbient = vAmbientColor;
  8. finalAmbient *= surfaceAlbedo.rgb;
  9. // _____________________________ Emissive ________________________________________
  10. vec3 finalEmissive = vEmissiveColor;
  11. #ifdef EMISSIVE
  12. vec3 emissiveColorTex = texture2D(emissiveSampler, vEmissiveUV + uvOffset).rgb;
  13. finalEmissive *= toLinearSpace(emissiveColorTex.rgb);
  14. finalEmissive *= vEmissiveInfos.y;
  15. #endif
  16. finalEmissive *= vLightingIntensity.y;
  17. // ______________________________ Ambient ________________________________________
  18. #ifdef AMBIENT
  19. vec3 ambientOcclusionForDirectDiffuse = mix(vec3(1.), aoOut.ambientOcclusionColor, vAmbientInfos.w);
  20. #else
  21. vec3 ambientOcclusionForDirectDiffuse = aoOut.ambientOcclusionColor;
  22. #endif
  23. finalAmbient *= aoOut.ambientOcclusionColor;
  24. finalDiffuse *= ambientOcclusionForDirectDiffuse;