Files
oak-editor/effects/volumetriclight.frag
T
2018-11-15 21:25:52 +11:00

19 lines
433 B
GLSL

#version 110
uniform float amount;
uniform sampler2D tex0;
uniform vec2 resolution; // screen resolution
varying vec2 vTexCoord;
#define T texture2D(tex0,.5+(p.xy*=.992))
void main() {
float alpha = texture2D(tex0, vTexCoord)[3];
vec3 p = gl_FragCoord.xyz/vec3(resolution, 1.0)-.5;
vec3 o = T.rgb;
for (float i=0.;i<amount;i++) {
p.z += pow(max(0.,.5-length(T.rg)),2.)*exp(-i*.08);
}
gl_FragColor=vec4(o*o+p.z, alpha);
}