Russian Qt Forum
Ноябрь 23, 2024, 12:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Взаимодействие QPainter и OpenGL  (Прочитано 5585 раз)
Vladimir
Крякер
****
Offline Offline

Сообщений: 305



Просмотр профиля
« : Март 28, 2012, 14:28 »

Доброго дня! Возможно ли в одном виджете QGLWidget рисовать средствами OpenGL, а поверх выводить примитивы, нарисованные с помощью QPainter? Если да, то подскажите, пожалуйста, как это сделать..
Записан
mitrich
Гость
« Ответ #1 : Март 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:
  • Construct a QPainter object.
  • Initialize it for use on the widget with the QPainter::begin() function.
  • Draw primitives using QPainter's member functions.
  • Call QPainter::end() to finish painting.
См. пример Overpainting Example.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Июль 03, 2013, 12:00 »

А можно наоборот? Нарисовать сцену через QPainter, а потом сверху нарисовать через OpenGl?

Проблема в том, что я не могу нарисовать красивый контур средствами QPainter. В другой программе видел рисование контура через gluNewTess, и он рисуется красиво.
Записан
Hrundel
Гость
« Ответ #3 : Июль 05, 2013, 14:17 »

Опиши проблему поточнее, а то вообще не понятно что тебе нужно.

Нарисовать OpenGL поверх QPainter невозможно.

Если тебе просто панели нужны поверх OpenGL сцены, типа как в игрушках, то подход у тебя вообще неправильный.
Слышал что-нибудь о смешении perspectiv и orthogonal view? Вот это и будет решением твоей проблемы. Работает прекрасно. Можно и динамически поверху рисовать и картинки грузить и ловить их координаты и клики по ним обрабатывать. И все это в чистом GL и Qt мучить не надо.
« Последнее редактирование: Июль 05, 2013, 15:59 от Hrundel » Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #4 : Июль 06, 2013, 15:24 »

Нарисовать OpenGL поверх QPainter невозможно.
Спасибо, пока решил проблему через Qpainter, проблема кривых линий была в округлении координат.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.1 секунд. Запросов: 23.