diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /apps/openmb/resources/shaders/cube.frag | |
Diffstat (limited to 'apps/openmb/resources/shaders/cube.frag')
| -rw-r--r-- | apps/openmb/resources/shaders/cube.frag | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/apps/openmb/resources/shaders/cube.frag b/apps/openmb/resources/shaders/cube.frag new file mode 100644 index 0000000..cb15430 --- /dev/null +++ b/apps/openmb/resources/shaders/cube.frag @@ -0,0 +1,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); +} |