void draw(void) { GLenum err; static int first = 1; if (first) { printf("Scaling images to %d by %d\n", w, h); if (w0 != w || h0 != h) { img0 = resize_img(img0, w0, h0); } if (w1 != w || h1 != h) { img1 = resize_img(img1, w1, h1); } if (w2 != w || h2 != h) { img2 = resize_img(img2, w2, h2); } first = 0; } glClear(GL_COLOR_BUFFER_BIT); compute_matte(); glRasterPos2i(w/2, h); glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, img0); err = glGetError(); if (err != GL_NO_ERROR) printf("Error: %s\n", gluErrorString(err)); }
void draw(void) { static int first = 1; GLenum err; if (first) { printf("Scaling images to %d by %d\n", w, h); if (w0 != w || h0 != h) { img0 = resize_img(img0, w0, h0); } if (w1 != w || h1 != h) { img1 = resize_img(img1, w1, h1); } first = 0; } glClear(GL_COLOR_BUFFER_BIT); glRasterPos2i(0, 0); glDrawBuffer(GL_BACK); glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, img1); glDrawBuffer(GL_FRONT); glDrawPixels(w, h, GL_RGBA, GL_UNSIGNED_BYTE, img0); err = glGetError(); if (err != GL_NO_ERROR) printf("Error: %s\n", gluErrorString(err)); }