blob: cb15430ca6d424cec5c696df9872d72c6c696503 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#version 330 core
out vec4 FragColor;
uniform vec3 color;
in vec3 vFragPos;
uniform vec3 cameraPos;
uniform vec3 fogColor;
uniform float fogDensity;
uniform float fogAmount;
void main()
{
// Basic color with fog applied
vec3 base = color;
// vFragPos provided by vertex shader
float dist = length(vFragPos - cameraPos);
float fogFactor = 1.0 - exp(-fogDensity * dist);
fogFactor = clamp(fogFactor * fogAmount, 0.0, 1.0);
vec3 finalColor = mix(base, fogColor, fogFactor);
FragColor = vec4(finalColor, 1.0);
}
|