2023-01-12 15:00:14 -05:00

38 lines
908 B
GLSL

#version 120
//Horizontal bilateral blur for volumetric fog + Forward rendered objects + Draw volumetric fog
#extension GL_EXT_gpu_shader4 : enable
varying vec2 texcoord;
flat varying vec3 zMults;
uniform sampler2D depthtex0;
uniform sampler2D colortex3;
uniform sampler2D colortex2;
uniform sampler2D colortex0;
uniform int frameCounter;
uniform float far;
uniform float near;
uniform int isEyeInWater;
uniform vec2 texelSize;
float ld(float depth) {
return 1.0 / (zMults.y - depth * zMults.z); // (-depth * (far - near)) = (2.0 * near)/ld - far - near
}
void main() {
/* DRAWBUFFERS:3 */
vec3 color = texture2D(colortex3,texcoord).rgb;
vec4 transparencies = texture2D(colortex2,texcoord);
color = color*(1.0-transparencies.a)+transparencies.rgb*10.;
vec4 vl = texture2D(colortex0,texcoord);
color *= vl.a;
color += vl.rgb;
gl_FragData[0].rgb = clamp(color,6.11*1e-5,65000.0);
}