アプリのウィンドウのサイズを次のように変更しようとしています:
mysurface = SDL_SetVideoMode(width, height, 32, SDL_OPENGL);
vsync swapbuffers (ドライバー xorg-video-ati 内) を使用していますが、ウィンドウ サイズが変更されるとちらつきが見られます (1 つ以上の黒いフレームだと思います)。
void Video::draw()
{
if (videoChanged){
mysurface = SDL_SetVideoMode(width, height, 32, SDL_OPENGL);
scene->init(); //Update glFrustum & glViewPort
}
scene->draw();
SDL_GL_SwapBuffers();
}
SDL_GL_SwapBuffers() のように、
SDL_SetVideoMode は vsync されていませんか?
または、ウィンドウを破棄して別のウィンドウを作成し、その間バッファは黒ですか?
誰かがこれを行うための作業コードを知っていますか? 多分フリーグルで?