X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=init.cpp;h=37e9d70f974ec160c7bd7b2f169767cdcf17b263;hp=0957a11fc2077386bff4cb9ea4320cad36c58709;hb=0cdd6e9e30a807056699ed9b3fa023a23ce83af9;hpb=a7bc6c9c002f26b0bb781a3475774eba5dab6acf diff --git a/init.cpp b/init.cpp index 0957a11..37e9d70 100644 --- a/init.cpp +++ b/init.cpp @@ -38,7 +38,7 @@ void measure_texel_subpixel_precision() check_error(); glBindTexture(GL_TEXTURE_2D, dst_texnum); check_error(); - glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F_ARB, width, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, width, 1, 0, GL_RGBA, GL_FLOAT, NULL); check_error(); glGenFramebuffers(1, &fbo); @@ -58,13 +58,13 @@ void measure_texel_subpixel_precision() float texdata[] = { 0, 1 }; glGenTextures(1, &src_texnum); check_error(); - glBindTexture(GL_TEXTURE_1D, src_texnum); + glBindTexture(GL_TEXTURE_2D, src_texnum); check_error(); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); check_error(); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); check_error(); - glTexImage1D(GL_TEXTURE_1D, 0, GL_R16F, 2, 0, GL_RED, GL_FLOAT, texdata); + glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, 2, 1, 0, GL_RED, GL_FLOAT, texdata); check_error(); // Basic state. @@ -81,7 +81,7 @@ void measure_texel_subpixel_precision() read_file("vs.vert"), read_file("texture1d.frag")); glUseProgram(glsl_program_num); check_error(); - glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 1D sampler. + glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 2D sampler. check_error(); // Draw the texture stretched over a long quad, interpolating it out. @@ -136,7 +136,7 @@ void measure_texel_subpixel_precision() movit_texel_subpixel_precision = biggest_jump; // Clean up. - glBindTexture(GL_TEXTURE_1D, 0); + glBindTexture(GL_TEXTURE_2D, 0); check_error(); glBindFramebuffer(GL_FRAMEBUFFER, 0); check_error(); @@ -189,13 +189,13 @@ void measure_roundoff_problems() } glGenTextures(1, &src_texnum); check_error(); - glBindTexture(GL_TEXTURE_1D, src_texnum); + glBindTexture(GL_TEXTURE_2D, src_texnum); check_error(); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); check_error(); - glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); check_error(); - glTexImage1D(GL_TEXTURE_1D, 0, GL_R32F, 512, 0, GL_RED, GL_FLOAT, texdata); + glTexImage2D(GL_TEXTURE_2D, 0, GL_R32F, 512, 1, 0, GL_RED, GL_FLOAT, texdata); check_error(); // Basic state. @@ -212,7 +212,7 @@ void measure_roundoff_problems() read_file("vs.vert"), read_file("texture1d.frag")); glUseProgram(glsl_program_num); check_error(); - glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 1D sampler. + glUniform1i(glGetUniformLocation(glsl_program_num, "tex"), 0); // Bind the 2D sampler. // Draw the texture stretched over a long quad, interpolating it out. float vertices[] = { @@ -221,12 +221,6 @@ void measure_roundoff_problems() 1.0f, 1.0f, 1.0f, 0.0f }; - float texcoords[] = { - 0.25f, 0.0f, - 0.25f, 0.0f, - 0.75f, 0.0f, - 0.75f, 0.0f - }; GLuint vao; glGenVertexArrays(1, &vao); @@ -235,7 +229,7 @@ void measure_roundoff_problems() check_error(); GLuint position_vbo = fill_vertex_attribute(glsl_program_num, "position", 2, GL_FLOAT, sizeof(vertices), vertices); - GLuint texcoord_vbo = fill_vertex_attribute(glsl_program_num, "texcoord", 2, GL_FLOAT, sizeof(texcoords), texcoords); + GLuint texcoord_vbo = fill_vertex_attribute(glsl_program_num, "texcoord", 2, GL_FLOAT, sizeof(vertices), vertices); // Same data. glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); check_error(); @@ -265,7 +259,7 @@ void measure_roundoff_problems() movit_num_wrongly_rounded = wrongly_rounded; // Clean up. - glBindTexture(GL_TEXTURE_1D, 0); + glBindTexture(GL_TEXTURE_2D, 0); check_error(); glBindFramebuffer(GL_FRAMEBUFFER, 0); check_error();