]> git.sesse.net Git - movit/blobdiff - demo.cpp
Make gamma polynomial constants into an array; slightly fewer uniforms to set, and...
[movit] / demo.cpp
index ba96291f6636f4270fe8714951fff88c6fa0bd8c..dd04c84314160ccdec170672ae8244092efaa2ac 100644 (file)
--- a/demo.cpp
+++ b/demo.cpp
@@ -1,4 +1,3 @@
-#define GL_GLEXT_PROTOTYPES 1
 #define NO_SDL_GLEXT 1
 
 #define WIDTH 1280
@@ -191,6 +190,9 @@ int main(int argc, char **argv)
        SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
 
 #ifdef HAVE_SDL2
+       SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
+       SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
+       SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1);
        // SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG);
        SDL_Window *window = SDL_CreateWindow("OpenGL window",
                SDL_WINDOWPOS_UNDEFINED,
@@ -210,11 +212,7 @@ int main(int argc, char **argv)
        printf("Wrongly rounded x+0.48 or x+0.52 values: %d/510\n",
                movit_num_wrongly_rounded);
        if (movit_num_wrongly_rounded > 0) {
-               if (movit_shader_rounding_supported) {
-                       printf("Rounding off in the shader to compensate.\n");
-               } else {
-                       printf("No shader roundoff available; cannot compensate.\n");
-               }
+               printf("Rounding off in the shader to compensate.\n");
        }
        
        unsigned img_w, img_h;
@@ -223,13 +221,6 @@ int main(int argc, char **argv)
        EffectChain chain(WIDTH, HEIGHT);
        glViewport(0, 0, WIDTH, HEIGHT);
 
-       glMatrixMode(GL_PROJECTION);
-       glLoadIdentity();
-       glOrtho(0.0, 1.0, 0.0, 1.0, 0.0, 1.0);
-
-       glMatrixMode(GL_MODELVIEW);
-       glLoadIdentity();
-
        ImageFormat inout_format;
        inout_format.color_space = COLORSPACE_sRGB;
        inout_format.gamma_curve = GAMMA_sRGB;
@@ -254,7 +245,8 @@ int main(int argc, char **argv)
        glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, pbo);
        glBufferData(GL_PIXEL_PACK_BUFFER_ARB, WIDTH * HEIGHT * 4, NULL, GL_STREAM_READ);
 
-       make_hsv_wheel_texture();
+       init_hsv_resources();
+       check_error();
 
        int frame = 0;
        bool screenshot = false;
@@ -302,7 +294,6 @@ int main(int argc, char **argv)
                glBindBuffer(GL_PIXEL_PACK_BUFFER_ARB, 0);
                check_error();
 
-               glLoadIdentity();
                draw_hsv_wheel(0.0f, lift_rad, lift_theta, lift_v);
                draw_hsv_wheel(0.2f, gamma_rad, gamma_theta, gamma_v);
                draw_hsv_wheel(0.4f, gain_rad, gain_theta, gain_v);
@@ -361,5 +352,6 @@ int main(int argc, char **argv)
                }
 #endif
        }
+       cleanup_hsv_resources();
        return 0; 
 }