2023-01-13 04:00:14 +08:00
|
|
|
#version 120
|
2023-07-07 05:56:54 +08:00
|
|
|
//#extension GL_EXT_gpu_shader4 : disable
|
2023-07-07 20:56:38 +08:00
|
|
|
#include "/lib/settings.glsl"
|
2023-01-13 04:28:19 +08:00
|
|
|
|
2023-01-13 04:00:14 +08:00
|
|
|
uniform sampler2D colortex4;
|
|
|
|
uniform sampler2D depthtex1;
|
|
|
|
|
|
|
|
uniform float near;
|
|
|
|
uniform float far;
|
|
|
|
|
|
|
|
|
|
|
|
float linZ(float depth) {
|
|
|
|
return (2.0 * near) / (far + near - depth * (far - near));
|
|
|
|
}
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
//////////////////////////////VOID MAIN//////////////////////////////
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
/* DRAWBUFFERS:4 */
|
|
|
|
vec3 oldTex = texelFetch2D(colortex4, ivec2(gl_FragCoord.xy), 0).xyz;
|
|
|
|
float newTex = texelFetch2D(depthtex1, ivec2(gl_FragCoord.xy*4), 0).x;
|
|
|
|
if (newTex < 1.0)
|
|
|
|
gl_FragData[0] = vec4(oldTex, linZ(newTex)*linZ(newTex)*65000.0);
|
|
|
|
else
|
|
|
|
gl_FragData[0] = vec4(oldTex, 2.0);
|
|
|
|
}
|