Difference for arch/ogl/ogl.c from version 1.27 to 1.28


version 1.27 version 1.28
Line 1119
 
Line 1119
  return 0;   return 0;
 }  }
   
   grs_canvas *offscreen_save_canv=NULL, *offscreen_canv=NULL;
   void ogl_start_offscreen_render(int x, int y, int w, int h) {
    if (offscreen_canv) Error("ogl_start_offscreen_render: offscreen_canv!=NULL");
    offscreen_save_canv = grd_curcanv;
    offscreen_canv = gr_create_sub_canvas(grd_curcanv, x, y, w, h);
    gr_set_current_canvas(offscreen_canv);
    glDrawBuffer(GL_BACK);
   }
   void ogl_end_offscreen_render(void) {
    int y;
    if (!offscreen_canv) Error("ogl_end_offscreen_render: no offscreen_canv");
   
    glDrawBuffer(GL_FRONT);
    glReadBuffer(GL_BACK);
    OGL_DISABLE(TEXTURE_2D);
   
    y = last_height - offscreen_canv->cv_bitmap.bm_y - offscreen_canv->cv_bitmap.bm_h;
    glRasterPos2f(offscreen_canv->cv_bitmap.bm_x/(float)last_width, y/(float)last_height);
    glCopyPixels(offscreen_canv->cv_bitmap.bm_x, y,
    offscreen_canv->cv_bitmap.bm_w, offscreen_canv->cv_bitmap.bm_h, GL_COLOR);
   
    gr_free_sub_canvas(offscreen_canv);
    gr_set_current_canvas(offscreen_save_canv);
    offscreen_canv=NULL;
   }
   
 void ogl_start_frame(void){  void ogl_start_frame(void){
  r_polyc=0;r_tpolyc=0;r_bitmapc=0;r_ubitmapc=0;r_ubitbltc=0;r_upixelc=0;   r_polyc=0;r_tpolyc=0;r_bitmapc=0;r_ubitmapc=0;r_ubitbltc=0;r_upixelc=0;
 // gl_badtexture=500;  // gl_badtexture=500;
Line 1174
 
Line 1200
  //gluPerspective(90.0,(GLfloat)(grd_curscreen->sc_w*3)/(GLfloat)(grd_curscreen->sc_h*4),1.0,1000000.0);   //gluPerspective(90.0,(GLfloat)(grd_curscreen->sc_w*3)/(GLfloat)(grd_curscreen->sc_h*4),1.0,1000000.0);
 // ogl_swap_buffers();//platform specific code  // ogl_swap_buffers();//platform specific code
 // glClear(GL_COLOR_BUFFER_BIT);  // glClear(GL_COLOR_BUFFER_BIT);
    
 }  }
 void ogl_swap_buffers(void){  void ogl_swap_buffers(void){
  ogl_clean_texture_cache();   ogl_clean_texture_cache();

Legend:
line(s) removed in v.1.27 
line(s) changed
 line(s) added in v.1.28