glEnableVertexArrayAttrib(sobel_vao, position_attrib);
glVertexAttribPointer(position_attrib, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0));
- GLint texcoord_attrib = glGetAttribLocation(sobel_program, "texcoord");
- glEnableVertexArrayAttrib(sobel_vao, texcoord_attrib);
- glVertexAttribPointer(texcoord_attrib, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0));
-
uniform_tex = glGetUniformLocation(sobel_program, "tex");
uniform_inv_image_size = glGetUniformLocation(sobel_program, "inv_image_size");
}
glEnableVertexArrayAttrib(motion_search_vao, position_attrib);
glVertexAttribPointer(position_attrib, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0));
- GLint texcoord_attrib = glGetAttribLocation(motion_search_program, "texcoord");
- glEnableVertexArrayAttrib(motion_search_vao, texcoord_attrib);
- glVertexAttribPointer(texcoord_attrib, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0));
-
uniform_image_size = glGetUniformLocation(motion_search_program, "image_size");
uniform_inv_image_size = glGetUniformLocation(motion_search_program, "inv_image_size");
uniform_image0_tex = glGetUniformLocation(motion_search_program, "image0_tex");
#version 450 core
in vec2 position;
-in vec2 texcoord;
out vec2 flow_tc;
out vec2 patch_bottom_left_texel; // Center of bottom-left texel of patch.
// 0.000 0.000 -2.000 -1.000
// 0.000 0.000 0.000 1.000
gl_Position = vec4(2.0 * position.x - 1.0, 2.0 * position.y - 1.0, -1.0, 1.0);
- flow_tc = texcoord;
+ flow_tc = position;
- vec2 patch_bottom_left = texcoord - vec2(0.5, 0.5) * vec2(inv_flow_width, inv_flow_height);
+ vec2 patch_bottom_left = position - vec2(0.5, 0.5) * vec2(inv_flow_width, inv_flow_height);
patch_bottom_left_texel = patch_bottom_left + vec2(0.5, 0.5) * vec2(inv_image_width, inv_image_height);
}