Qt & OpenGL - QGLWidget & QPainter: буферизация глубины

Я создаю подкласс QGLWidget и имею свой код рисования в paintEvent вместо paintGL, поскольку я хочу нарисовать 2D-наложение с помощью QPainter поверх моих 3D-материалов, сделанных с помощью OpenGL.Моя буферизация глубины отлично работает, когда у меня нет наложения.Если наложение нарисовано, мой буфер глубины уходит в самоволку: я вижу вещи, которые должны быть скрыты объектами впереди.initializeGL выглядит так:Структура моего кода paintEvent выглядит следующим образом:В зависимости от if одна и та же сцена выглядит нормально (наложение отключено) или неправильно (наложение включено).Не считая странной проблемы с буфером глубины, он отлично работает.Мое (дикое) предположение состоит в том, что конструкция QPainter отключает буферизацию глубины.Мы будем благодарны за любой намек.Я полагаю, что запасным решением было бы преобразовать мой оверлей в текстуру и заставить OpenGL смешать ее.
7 голосов | спросил user816098 15 J000000Friday11 2011, 19:14:41

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132