Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Архив вопросов и ответов (https://www.otvetnemail.ru/arhiv-voprosov-i-otvetov-805/)
-   -   Qt-4.1.4 Рисуем поверх OpenGL сцены (https://www.otvetnemail.ru/arhiv-voprosov-i-otvetov-805/qt-4-1-4-risuem-poverh-opengl-sceny-333842/)

Guest 30.09.2011 10:23

Qt-4.1.4 Рисуем поверх OpenGL сцены
 
Ситуация такая:Есть виджет с нацепленным OpenGL контекстом сторонней библиотеки.Его парент, это фрейм - занимающийся обработкой пользовательских запросов.Задача: пользователь должен мышкой нарисовать прямоугольник на виджете, для дальнейшай обработки, например - перекрасить все что попало под выделение.Перерисовывать OpenGl сцены на каждое двидение мышки - это перебор ))Раньше (Qt-3)делалось следующее:Код: QPainter aPainter( myOpenGLViewPort); aPainter.setRasterOp(Qt::XorROP); aPainter.setPen(Qt::white); QRect aRect = QRect(myStartX, myStartY, myCurrW, myCurrH); if ( !myRect.isEmpty() ) aPainter.drawRect( myRect ); aPainter.drawRect(aRect); myRect = aRect;Теперь setRasterOp отменили, вместо него compositionMode(), причем операции наложения доступны только на QImage (который, кстати, теперь QPaintDevice)Да и чтобы врубить паинтер в любом месте ещё и доп атрибут нужен Qt::WA_PaintOutsidePaintEvent.Вобщем, как спортироваться, не представляю.... Дампить временно OpenGL в картинку и рендерить не наш метод ))Нужно чтобы всё красиво:) Кто-нибудь решал подобную задачку?Заранее спасибо


Часовой пояс GMT, время: 16:36.


© www.otvetnemail.ru - Форум вопросов и ответов.