X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=flow.cpp;h=8e823e71f8dc0575debf134a6bb086c13221af3b;hb=a75370343264a46e8addeff4973c7267e8ff2146;hp=dba6607b0eb3e967fcb2786bd31c5051ad72797a;hpb=bcdff7b1a183d7ff138a920997182d00f2decf0e;p=nageru diff --git a/flow.cpp b/flow.cpp index dba6607..8e823e7 100644 --- a/flow.cpp +++ b/flow.cpp @@ -248,8 +248,8 @@ void Sobel::exec(GLint tex0_view, GLint grad0_tex, int level_width, int level_he glBindTextureUnit(0, tex0_view); glBindSampler(0, nearest_sampler); glProgramUniform1i(sobel_program, glGetUniformLocation(sobel_program, "tex"), 0); - glProgramUniform1f(sobel_program, glGetUniformLocation(sobel_program, "inv_width"), 1.0f / level_width); - glProgramUniform1f(sobel_program, glGetUniformLocation(sobel_program, "inv_height"), 1.0f / level_height); + glProgramUniform2f(sobel_program, glGetUniformLocation(sobel_program, "image_size"), level_width, level_height); + glProgramUniform2f(sobel_program, glGetUniformLocation(sobel_program, "inv_image_size"), 1.0f / level_width, 1.0f / level_height); GLuint grad0_fbo; // TODO: cleanup glCreateFramebuffers(1, &grad0_fbo); @@ -305,10 +305,8 @@ void MotionSearch::exec(GLuint tex0_view, GLuint tex1_view, GLuint grad0_tex, GL bind_sampler(motion_search_program, "grad0_tex", 2, grad0_tex, nearest_sampler); bind_sampler(motion_search_program, "flow_tex", 3, flow_tex, linear_sampler); - glProgramUniform1f(motion_search_program, glGetUniformLocation(motion_search_program, "image_width"), level_width); - glProgramUniform1f(motion_search_program, glGetUniformLocation(motion_search_program, "image_height"), level_height); - glProgramUniform1f(motion_search_program, glGetUniformLocation(motion_search_program, "inv_image_width"), 1.0f / level_width); - glProgramUniform1f(motion_search_program, glGetUniformLocation(motion_search_program, "inv_image_height"), 1.0f / level_height); + glProgramUniform2f(motion_search_program, glGetUniformLocation(motion_search_program, "image_size"), level_width, level_height); + glProgramUniform2f(motion_search_program, glGetUniformLocation(motion_search_program, "inv_image_size"), 1.0f / level_width, 1.0f / level_height); GLuint flow_fbo; // TODO: cleanup glCreateFramebuffers(1, &flow_fbo);