window->enable_opengl();
// Composite texture to screen and swap buffer
case VFrame::TEXTURE:
+ if( !flip_y ) {
+ int fh1 = command->frame->get_h()-1;
+ float in_y1 = fh1 - command->in_y1;
+ float in_y2 = fh1 - command->in_y2;
+ command->in_y1 = in_y2;
+ command->in_y2 = in_y1;
+ }
draw_output(command, flip_y);
break;
default:
glColor4f(1, 1, 1, 1);
glDisable(GL_BLEND);
- if(command->frame) {
-// Render to PBuffer
- command->frame->enable_opengl();
- command->frame->set_opengl_state(VFrame::SCREEN);
- canvas_w = command->frame->get_w();
- canvas_h = command->frame->get_h();
- }
- else {
-// Render to canvas
- canvas_w = window->get_w();
- canvas_h = window->get_h();
- }
-
//printf("Playback3D::overlay_sync 1 %d\n", command->input->get_opengl_state());
switch( command->input->get_opengl_state() ) {
case VFrame::SCREEN:
command->input->enable_opengl();
command->input->screen_to_texture();
- if(command->frame)
- command->frame->enable_opengl();
- else
- window->enable_opengl();
break;
default:
printf("Playback3D::overlay_sync unknown state\n");
break;
}
+ if(command->frame) {
+// Render to PBuffer
+ command->frame->enable_opengl();
+ command->frame->set_opengl_state(VFrame::SCREEN);
+ canvas_w = command->frame->get_w();
+ canvas_h = command->frame->get_h();
+ }
+ else {
+// Render to canvas
+ window->enable_opengl();
+ canvas_w = window->get_w();
+ canvas_h = window->get_h();
+ }
+
const char *shader_stack[16];
memset(shader_stack,0, sizeof(shader_stack));