Название: Взаимодействие QPainter и OpenGL Отправлено: Vladimir от Март 28, 2012, 14:28 Доброго дня! Возможно ли в одном виджете QGLWidget рисовать средствами OpenGL, а поверх выводить примитивы, нарисованные с помощью QPainter? Если да, то подскажите, пожалуйста, как это сделать..
Название: Re: Взаимодействие QPainter и OpenGL Отправлено: mitrich от Март 31, 2012, 15:57 Возможно.
Цитировать It is also possible to draw 2D graphics onto a QGLWidget subclass, it is necessary to reimplement QGLWidget::paintEvent() and do the following: См. пример Overpainting Example (http://qt-project.org/doc/qt-4.8/opengl-overpainting.html).
Название: Re: Взаимодействие QPainter и OpenGL Отправлено: deMax от Июль 03, 2013, 12:00 А можно наоборот? Нарисовать сцену через QPainter, а потом сверху нарисовать через OpenGl?
Проблема в том, что я не могу нарисовать красивый контур средствами QPainter. В другой программе видел рисование контура через gluNewTess, и он рисуется красиво. Название: Re: Взаимодействие QPainter и OpenGL Отправлено: Hrundel от Июль 05, 2013, 14:17 Опиши проблему поточнее, а то вообще не понятно что тебе нужно.
Нарисовать OpenGL поверх QPainter невозможно. Если тебе просто панели нужны поверх OpenGL сцены, типа как в игрушках, то подход у тебя вообще неправильный. Слышал что-нибудь о смешении perspectiv и orthogonal view? Вот это и будет решением твоей проблемы. Работает прекрасно. Можно и динамически поверху рисовать и картинки грузить и ловить их координаты и клики по ним обрабатывать. И все это в чистом GL и Qt мучить не надо. Название: Re: Взаимодействие QPainter и OpenGL Отправлено: deMax от Июль 06, 2013, 15:24 Нарисовать OpenGL поверх QPainter невозможно. Спасибо, пока решил проблему через Qpainter, проблема кривых линий была в округлении координат. |