Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: sersar от Январь 24, 2008, 15:55



Название: С чего начать...
Отправлено: sersar от Январь 24, 2008, 15:55
Здравствуйте!
Мне необходимо нарисовать обьёмный прямоугольник. Нанести надпись на одной стороне и на другой (например: on и off). И потом по сигналу проворачивать прямоугольник. Можно ли такое написать на Qt? Примеры 3D программирования которые я находил показывали фигуры в окне, а мне надо только фигура на экране.

Пишу под Windows. Qt 4.3.1


Название: Re: С чего начать...
Отправлено: Dodge от Январь 24, 2008, 16:36
QGlWidget и OpenGL вам в руки, все очень просто, курим ассистент и учебники по opengl.


Название: Re: С чего начать...
Отправлено: sersar от Январь 25, 2008, 14:19
QGlWidget и OpenGL вам в руки, все очень просто, курим ассистент и учебники по opengl.
Я понимаю, что и зайца можно научить курить... Но приведите пример пожалуйста. Ассистент и всемогущий гугль не помог. В примерах фигура только в окне.


Название: Re: С чего начать...
Отправлено: Dodge от Январь 26, 2008, 11:19
Я понимаю, что и зайца можно научить курить... Но приведите пример пожалуйста. Ассистент и всемогущий гугль не помог. В примерах фигура только в окне.

showFullScreen() не катит?



Название: Re: С чего начать...
Отправлено: sersar от Январь 26, 2008, 13:31
(http://www.opennet.ru/docs/RUS/qt3_prog/images/fig8.20.png)
OpenGL рисует куб в окне, а мне надо, чтоб видимым был только куб.

Использовать придётся QPainter...


Название: Re: С чего начать...
Отправлено: sir_KIR от Март 01, 2008, 18:51
Если я правильно понял вопрос, то краткий ответ такой:

1. Рендерите средствами OpenGL свою сцену в теневой буфер (на экране не отобразится).
2. Захватываете теневой буфер в битмап.
3. Отображаете битмап куда вам надо с указанием прозрачного цвета фона (например, черный, как в вашем примере).


Название: Re: С чего начать...
Отправлено: Dodge от Март 04, 2008, 17:45
...

На мой взгляд проще использовать фид-буфер.

См
glRenderMode
glFeedbackBuffer

З.Ы. Могу ошибатся)