Willka писал(а):
MagicWolf писал(а):
Не сталкивался с таким, переключение буферов делаете?
всмысле?
кодом объясните, больше для меня толку будет

Вот так обновление окна:
Код:
int COpenGL_Win::update_window ()
{
if ( yes_init==0 )
return IS_QUIT;
if ( !wglMakeCurrent(hDC_ogl_win, hRC_ogl_win) )
return return_error(IS_ERROR,"%s","update_window -> !wglMakeCurrent(hDC_ogl_win, hRC_ogl_win)");
if ( GLEE_ARB_multisample && os.samples_bits!=0 )
glEnable(GL_MULTISAMPLE_ARB);
messages_window ();
if ( quit_win )
return IS_QUIT;
if ( scene_setting.max_fps==0 ||
(scene_setting.max_fps!=0 && timer.poll()>(old_timer+1.0/(float)scene_setting.max_fps)) ) {
if ( work_scenes()!=IS_OK )
return rc;
if ( draw_scenes()!=IS_OK )
return rc;
if ( os.count_buffers==2 )
SwapBuffers(hDC_ogl_win);
old_timer = timer.poll();
}
if ( delay_update )
MsgWaitForMultipleObjects(0, NULL, false, (DWORD)delay_update, QS_ALLINPUT);
return IS_OK;
}
Обрати внимание на SwapBuffers! А при инициализации надо взвести вот этот флаг:
Код:
if ( os.count_buffers==2 )
pfd.dwFlags |= PFD_DOUBLEBUFFER;