![]() |
|
![]() ![]() ![]() |
|
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
я хочу использовать от QT только оболочку, т.е. окно (со всеми обработчиками и так далее).
Хочу использовать OpenGL с библитекой Gle. QT оборачивает как основные функции так и расширения ОГЛ, а я гдето в помощи читал что подключение Gle(ну того что Glew для винды) не приветсвуется и ошибки будут сыпаться пачками. Вот хочу спросить наперед у опытных программеров, возможен ли такой гибридный подход, либо используй OpenGL в QT, либо не используй QT вообще? Хотелось просто потом портироваться на мобильник, а конкретно рыться в симбиане неохото(первая попытка неудалась), а через QT все доступно. -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
я пытался отрисовывать на Qt'шном окне DirectX'ом - и скажу, что если это и возможно, то результат зависит от версии библиотеки и скрытых внутренних механизмов
Qt использует свой стек рендеринга, думаю встраиваться в него не самая удачная идея |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Vetos, нет никаких проблем, кроме криво реализованных хидеров в gle. Таким образом, если ты ОЧЕНЬ хочешь ее использовать, то делай отдельный модуль (читай *.cpp файл), который будет с ней работать, но не будет подключать хидеры QtOpenGL.
На сколько я помню, gle просто открывает все возможное функции OpenGL (читай расширения), а не только те, что открыты по умолчанию. Если ты хочешь потом портировать на мобильник, то следует сразу ознакомиться с GLES (кажется как). Чтобы потом не было мучительно больно.
Вот что делают энтузиасты: QDirect3DWidget. Это сообщение отредактировал(а) bsa - 22.11.2011, 10:41 |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
а ктото обещал нативную работу с opengl? речь идет о том, чтобы использовать окна Qt для отрисовки на винде например можно было получить hwnd окна и попытаться рисовать на нем собственно речь о том, что Qt не позволял завладеть отрисовкой окна по простому и тут нет разницы чем отрисовывать, directx или opengl |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
а если документацию почитать?
|
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
bsa, а если пост автора почитать?
из него следует, что автор собирается использовать opengl не через обертки Qt, а через нативную библиотеку |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
alexvs11, ты видимо документацию так и не прочитал... Или не понял... Или не захотел понять...
Для тех кто в танке: QGLWidget создает контекст OpenGL, который необходим для отрисовки сцены с использованием данной библиотеки. Далее у тебя есть возможность использовать средства QPainter или OpenGL для отрисовки. Выбор остается за тобой. Чтобы тебе было удобней, создано несколько виртуальных методов, которые вызываются при инициализации контекста для его настройки, изменении размера виджета (для настройки вьюпорта, например), а так же paintGL для отрисовки сцены. |
|||
|
||||
alexvs11 |
|
|||
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: 2 Всего: 10 |
bsa, ок, победили
об таком использовании я не знал |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Именно поэтому я и отослал к документации. Рекомендую в следующий раз не брезговать и читать ее, когда возникает спор. ![]() |
|||
|
||||
Vetos |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Спасибо за ответы!
Т.е. я просто создаю класс который будет рисовать что мне нужно, командами поднятыми Gle, сразу на окне QT с поднятым контекстом? Или же создавать контекст прийдется вручную без QGLWidget?
моб тянет OGL ES 2.0, для моего уровня особых отличий небудет, просто вдальнейшем хотелось поковырять библиотеку для десктопов
Так получается что всетаки GLWidget может использоваться только встроенными функциями? Или всетаки возможен вариант использования контекста GLWidget? Впринцыпе начну я знакомиться с функциональносттью QT по отношению к GL, всеравно и так и так прийдется его использовать для мобилки. Но всеже если какието приемлемые варианты известны прошу помощи. Для начала попробую перенести уроки gl33lessons на QT, если QT поддерживает весь функционал уроков, то впринципе на первых порах мне будет достаточно. И всетаки идея с гибридным использованием не покидает мою голову. Я просто гдето на nokia.com читал что QT не поддерживает OpenGL на 100%, может это какието старые странички, может в 4.7.4 версии уже все реализовано??? -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
||||
|
|||||
bsa |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
Зачем? QGLWidget позволяет тебе встраивать OpenGL сцену в интерфейс приложения. Зачем отказываться от такой возможности?
Эти примеры придется немного отредактировать. В частности, убрать создание контекста (это QGLWidget сделает за тебя) и разнести код по трем виртуальным функциям. Это не сложно. |
||||||||
|
|||||||||
Vetos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 4.4.2005 Репутация: нет Всего: 4 |
Спасибо
вот и я думаю, богатый функционал Qt уже состовляет пол движка, и скрипты и сеть, и т.д. Буду изучать (Ужеб давно пора бы) ![]() Если комуто понадобится то полная поддержка версий OpenGL свыше 3.1 есть только в версии Qt 4.8.0 ( сам пользуюсь версией Qt 4.8.0 RC ) Это сообщение отредактировал(а) Vetos - 3.12.2011, 00:40 -------------------- Строить нужно так, чтоб никто не сломал! А ломать, чтоб никто не знал 8) :ne_huliganit |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |