X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=splat.frag;h=6e873bc75c959dcf9713f22a5fc51e771895086f;hb=3795723be95f2fe82f3c8b8b45b1a905b2c811fd;hp=c06667b1b41a9c7fc67bb633607d6826efd1e403;hpb=a19f7e1c7efbea4b9fbf631156e3de51d62ac477;p=nageru diff --git a/splat.frag b/splat.frag index c06667b..6e873bc 100644 --- a/splat.frag +++ b/splat.frag @@ -4,17 +4,15 @@ in vec2 image_pos; flat in vec2 flow, I_0_check_offset, I_1_check_offset; out vec2 out_flow; -uniform sampler2D image0_tex, image1_tex; +uniform sampler2DArray gray_tex; void main() { out_flow = flow; // TODO: Check if we are sampling out-of-image. - // TODO: See whether using intensity values gives equally good results - // as RGB, since the rest of our pipeline is intensity. - vec3 I_0 = texture(image0_tex, image_pos + I_0_check_offset).rgb; - vec3 I_1 = texture(image1_tex, image_pos + I_1_check_offset).rgb; - vec3 diff = abs(I_1 - I_0); - gl_FragDepth = diff.x + diff.y + diff.z; + float I_0 = texture(gray_tex, vec3(image_pos + I_0_check_offset, 0)).r; + float I_1 = texture(gray_tex, vec3(image_pos + I_1_check_offset, 1)).r; + float diff = abs(I_1 - I_0); + gl_FragDepth = 0.125 * diff.x; // Make sure we stay well under the 1.0 maximum. }