git-svn-id: svn://db.shs.com.ru/libs@67 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
17
qglview/shaders/ssr.frag
Normal file
17
qglview/shaders/ssr.frag
Normal file
@@ -0,0 +1,17 @@
|
||||
#version 150
|
||||
|
||||
uniform sampler2D t0, t1, ts;
|
||||
uniform float z_near, z_far;
|
||||
|
||||
void main(void) {
|
||||
ivec2 tc = ivec2(gl_FragCoord.xy);
|
||||
vec2 sp = qgl_FragTexture.xy;
|
||||
vec4 v0 = texelFetch(t0, tc, 0), v1 = texelFetch(t1, tc, 0), vs = texelFetch(ts, tc, 0);
|
||||
vec3 dc = v0.rgb, n = v1.xyz * 2. - vec3(1.);
|
||||
vec3 vd = vec3(0, 0, 1);
|
||||
vec3 rn = reflect(vd, n);
|
||||
float coeff = clamp(dot(vd, rn), 0, 1);
|
||||
vec3 rvs = texture(ts, sp - rn.xy/v0.w).rgb;
|
||||
qgl_FragData[0].rgb = mix(vs.rgb, rvs, coeff);
|
||||
//qgl_FragData[0].rgb = vec3(v0.w/10);
|
||||
}
|
||||
Reference in New Issue
Block a user