main.frag 665 B

1234567891011121314151617181920212223242526272829303132
  1. #version 300 es
  2. precision mediump float;
  3. uniform sampler2D pog;
  4. uniform float time;
  5. in vec2 uv;
  6. in vec4 vertex;
  7. in vec4 normal;
  8. out vec4 frag_color;
  9. #define FOG_MIN 1.0
  10. #define FOG_MAX 50.0
  11. float fog_factor(float d)
  12. {
  13. if (d <= FOG_MIN) return 0.0;
  14. if (d >= FOG_MAX) return 1.0;
  15. return 1.0 - (FOG_MAX - d) / (FOG_MAX - FOG_MIN);
  16. }
  17. void main(void) {
  18. vec3 light_source = vec3(0.0, 0.0, 00.0);
  19. float a = abs(dot(normalize(light_source - vertex.xyz), normal.xyz));
  20. vec4 t = texture(pog, uv);
  21. frag_color = mix(
  22. vec4(t.xyz * vec3(1.0, 1.0, 1.0) * a, 1.0),
  23. vec4(0.0, 0.0, 0.0, 1.0),
  24. fog_factor(length(vertex)));
  25. }