]> git.sesse.net Git - movit/blobdiff - demo.cpp
Merge branch 'master' into epoxy
[movit] / demo.cpp
index cd9fe9fb9dfb2e29e694d6bf82153b9e157821a2..9831b31f082ee39c6f40437bb98825bd6c69c342 100644 (file)
--- a/demo.cpp
+++ b/demo.cpp
@@ -4,7 +4,7 @@
 #define WIDTH 1280
 #define HEIGHT 720
 
-#include <GL/glew.h>
+#include <epoxy/gl.h>
 #include <SDL/SDL.h>
 #include <SDL/SDL_error.h>
 #include <SDL/SDL_events.h>
@@ -21,7 +21,6 @@
 #include <setjmp.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <string.h>
 #include <sys/time.h>
 #include <time.h>
 
@@ -36,6 +35,8 @@
 #include "util.h"
 #include "widgets.h"
 
+using namespace movit;
+
 unsigned char result[WIDTH * HEIGHT * 4];
 
 float lift_theta = 0.0f, lift_rad = 0.0f, lift_v = 0.0f;
@@ -177,9 +178,18 @@ int main(int argc, char **argv)
        SDL_SetVideoMode(WIDTH, HEIGHT, 0, SDL_OPENGL);
        SDL_WM_SetCaption("OpenGL window", NULL);
 
-       init_movit(".", MOVIT_DEBUG_ON);
+       CHECK(init_movit(".", MOVIT_DEBUG_ON));
        printf("GPU texture subpixel precision: about %.1f bits\n",
                log2(1.0f / movit_texel_subpixel_precision));
+       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");
+               }
+       }
        
        unsigned img_w, img_h;
        unsigned char *src_img = load_image(argc > 1 ? argv[1] : "blg_wheels_woman_1.jpg", &img_w, &img_h);