mirror of
https://github.com/PixelGuys/Cubyz.git
synced 2025-08-03 19:28:49 -04:00
28 lines
682 B
GLSL
28 lines
682 B
GLSL
#version 430
|
|
|
|
layout(location = 0) out vec4 fragColor;
|
|
|
|
in vec2 texCoords;
|
|
|
|
struct Fog {
|
|
bool activ;
|
|
vec3 color;
|
|
float density;
|
|
};
|
|
|
|
uniform Fog fog;
|
|
|
|
uniform sampler2D color;
|
|
|
|
vec4 calcFog(vec3 pos, vec4 color, Fog fog) {
|
|
float distance = length(pos);
|
|
float fogFactor = 1.0/exp((distance*fog.density)*(distance*fog.density));
|
|
fogFactor = clamp(fogFactor, 0.0, 1.0);
|
|
vec3 resultColor = mix(fog.color, color.xyz, fogFactor);
|
|
return vec4(resultColor.xyz, color.w + 1 - fogFactor);
|
|
}
|
|
|
|
void main() {
|
|
// TODO: Reconstruct position from the depth value. fragColor = calcFog(texture(position, texCoords).xyz, texture(color, texCoords)*vec4(4, 4, 4, 1), fog);
|
|
fragColor.rgb /= 4;
|
|
} |