]> git.sesse.net Git - nageru/blob - splat.frag
Make disabling variational refinement somewhat more efficient.
[nageru] / splat.frag
1 #version 450 core
2
3 in vec2 image_pos;
4 flat in vec2 flow, I_0_check_offset, I_1_check_offset;
5 out vec2 out_flow;
6
7 uniform sampler2DArray image_tex;
8
9 void main()
10 {
11         out_flow = flow;
12
13         // TODO: Check if we are sampling out-of-image.
14         // TODO: See whether using intensity values gives equally good results
15         // as RGB, since the rest of our pipeline is intensity.
16         vec3 I_0 = texture(image_tex, vec3(image_pos + I_0_check_offset, 0)).rgb;
17         vec3 I_1 = texture(image_tex, vec3(image_pos + I_1_check_offset, 1)).rgb;
18         vec3 diff = abs(I_1 - I_0);
19         gl_FragDepth = 0.125 * (diff.x + diff.y + diff.z);  // Make sure we stay well under the 1.0 maximum.
20 }