]> git.sesse.net Git - nageru/blobdiff - flow.cpp
Use fp16 for the densification output texture; evidently does not matter for quality.
[nageru] / flow.cpp
index 374e07d73ffe40f461f4df605dc159fa19a98a2b..dd22a58c902232ecb33c1934e1e91d24dd5f0a1d 100644 (file)
--- a/flow.cpp
+++ b/flow.cpp
@@ -245,7 +245,6 @@ Sobel::Sobel()
        glVertexAttribPointer(texcoord_attrib, 2, GL_FLOAT, GL_FALSE, 0, BUFFER_OFFSET(0));
 
        uniform_tex = glGetUniformLocation(sobel_program, "tex");
-       uniform_image_size = glGetUniformLocation(sobel_program, "image_size");
        uniform_inv_image_size = glGetUniformLocation(sobel_program, "inv_image_size");
 }
 
@@ -255,7 +254,6 @@ 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, uniform_tex, 0);
-       glProgramUniform2f(sobel_program, uniform_image_size, level_width, level_height);
        glProgramUniform2f(sobel_program, uniform_inv_image_size, 1.0f / level_width, 1.0f / level_height);
 
        GLuint grad0_fbo;  // TODO: cleanup
@@ -526,8 +524,7 @@ int main(void)
                // Set up an output texture (initially zero).
                GLuint dense_flow_tex;
                glCreateTextures(GL_TEXTURE_2D, 1, &dense_flow_tex);
-               //glTextureStorage2D(dense_flow_tex, 1, GL_RGB16F, level_width, level_height);
-               glTextureStorage2D(dense_flow_tex, 1, GL_RGBA32F, level_width, level_height);
+               glTextureStorage2D(dense_flow_tex, 1, GL_RGB16F, level_width, level_height);
 
                // And draw.
                densify.exec(tex0_view, tex1_view, flow_out_tex, dense_flow_tex, level_width, level_height, width_patches, height_patches);