Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: Allender от Октябрь 03, 2006, 13:45 Ситуация такая:
Есть виджет с нацепленным OpenGL контекстом сторонней библиотеки. Его парент, это фрейм - занимающийся обработкой пользовательских запросов. Задача: пользователь должен мышкой нарисовать прямоугольник на виджете, для дальнейшай обработки, например - перекрасить все что попало под выделение. Перерисовывать OpenGl сцены на каждое двидение мышки - это перебор :))) Раньше (Qt-3)делалось следующее: Код:
Теперь setRasterOp отменили, вместо него compositionMode(), причем операции наложения доступны только на QImage (который, кстати, теперь QPaintDevice) Да и чтобы врубить паинтер в любом месте ещё и доп атрибут нужен Qt::WA_PaintOutsidePaintEvent. Вобщем, как спортироваться, не представляю.... Дампить временно OpenGL в картинку и рендерить не наш метод :))) Нужно чтобы всё красиво:) Кто-нибудь решал подобную задачку? Заранее спасибо :) Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: burunduk от Октябрь 04, 2006, 09:12 Найдёте решение - выложите сюда пожалуйста. Меня тоже этот вопрос интересует.
Я так понимаю, что OpenGL и обычное рисование несовместимо... Как только в методе paintEvent() пишешь QPainter(this) - опенГЛ сцена пропадает :( Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: Allender от Октябрь 04, 2006, 12:21 Цитата: "burunduk" Найдёте решение - выложите сюда пожалуйста. Меня тоже этот вопрос интересует. Я так понимаю, что OpenGL и обычное рисование несовместимо... Как только в методе paintEvent() пишешь QPainter(this) - опенГЛ сцена пропадает :( Может я чего маленько не понимаю.... Но при PaintEvente не плохо бы сцену заапдейтить... Мало ли чего на ней было... У этого эвента даже рект есть, который изменился в процессе работы... Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: Allender от Октябрь 17, 2006, 12:24 Вот оно - решение :))))
QRubberBand Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: Dendy от Октябрь 17, 2006, 12:41 Цитата: "Allender" Вот оно - решение :)))) QRubberBand Только хотел сказать! :D Название: Qt-4.1.4 Рисуем поверх OpenGL сцены Отправлено: burunduk от Февраль 28, 2007, 15:19 не понравился мне он :(
каждый раз перерисовывает всю сцену (paintGL вызывается при каждом движении мыши) Цитата: "Allender" Вот оно - решение :)))) QRubberBand |