worldPostFragment.fs 823 B

123456789101112131415161718192021222324252627282930
  1. #version 430
  2. layout (binding = 0) uniform sampler2D colorSamp;
  3. layout (binding = 1) uniform sampler2D ssaoSamp;
  4. layout (binding = 2) uniform sampler2D shadowSamp;
  5. layout (binding = 3) uniform sampler2D worldNormalSamp;
  6. uniform bool ssao;
  7. uniform bool shadows;
  8. uniform float bump;
  9. in vec2 varTex;
  10. out vec4 color;
  11. const vec3 light = vec3(-0.280166, -0.573576, -0.769751);
  12. void main() {
  13. if(ssao) {
  14. color = vec4(texture(colorSamp, varTex).xyz * (texture(ssaoSamp, varTex).r + 0.5), 1.0);
  15. } else {
  16. color = vec4(texture(colorSamp, varTex).xyz, 1.0);
  17. }
  18. if(shadows) {
  19. float f = texture(shadowSamp, varTex).r;
  20. color *= f * 0.5 + 0.5;
  21. }
  22. float diffuseLight = max(dot(texture(worldNormalSamp, varTex).xyz, -light), 0.0) * bump + (1.0 - bump);
  23. color *= diffuseLight;
  24. }