Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: kdm от Октябрь 04, 2010, 02:25



Название: Использование Qt с графическим движком
Отправлено: kdm от Октябрь 04, 2010, 02:25
Я хотел бы сделать презентацию. Вначале я выбрал QGraphicsScene. Разместил там объекты: текст, имаджи. Но также необходимо в некоторой точке QGraphicsScene сделать интерактивную трехмерную модель. Работать с OpenGL так на низком уровне я совсем не умею, умею только точки и квады с линиями расставлять.

Поэтому посмотрел в сторону графических движков и нашел компактный движок BlendELF (OpenGL), который поддерживает множество необходимых для меня функций.

Как бы его встроить в сцену QGraphicsScene (отдельным виджетом или можно как-то вмонтировать)?
На форуме по поводу встаривания в winforms отвечают, что надо переделать часть движка, отвечающую за контекст. Движок использует glfw (что связанное с wgl).

В Qt есть поддержка OpenGL (QGLWidget). Как бы мне встроить все это в Qt приложение? Что необходимо учесть?

Посоветуйте пожалуйста.


Название: Re: Использование Qt с графическим движком
Отправлено: vipet от Октябрь 04, 2010, 18:21
Re: Adding QGLWidget to QGraphicsScene problem

    Hi guys,

    I have solved this problem with some tricks.
    I know that it's not good to do these thinks but I don't find any right way.
    Try to inherit your class from QGLWidget and QGraphicsItem and add the item to QGraphicsScene ( as item not widget).

    You need to grab framebuffer and draw the image on item in it's paint method.

    I tested my code on Windows, Linux and Mac OS and it works fine.

    You should keep in mind that it works but not the right way to go on.

    If you have any other question then feel free to ask me.

http://www.qtcentre.org/threads/12309-Adding-QGLWidget-to-QGraphicsScene-problem