| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Мерцание при изменение размеров окна |
| Автор: Paspartu 17.7.2010, 04:24 | ||||||
| Доброго времени суток! Как правильно выводить графику в окно (CView) MFC? Начал изучать OpenGL… и уже начал ломать мозг … В 2D есть двойная буферизация (GDI)… а тут… в общем делаю так:
в CTestOpenGLView::PreCreateWindow установил WS_CLIPCHILDREN | WS_CLIPSIBLINGS в CTestOpenGLView::OnCreate настроил OpenGL короче говоря все по книжкам и примерам...
а также...
Если не использовать OnEraseBkgn - жуткое мерцание... а если использовать, то иногда сцена не прорисовывается... Когда и где делать прорисовку OpenGL? 1. Необходимо ли ее делать при обработке CTestOpenGLView::OnSize? 2. Почему при использовании OnEraseBkgn (запрет затирки фона) получаются портаки, хотя COpenGLDrawer::Draw(...) вызывается? + он вызывается в CTestOpenGLApp::OnIdle по окончании сообщений, но сцена не прорисовывается (иногда)? 3. Возможна ли двойная буферизация? T.e. рисовать средствами OpenGL в совместимом контексте, а затем делать блитинг на окно? Или это изврат? Короче говоря какие есть нюансы при выводе графики OpenGL в CView? |