Название: OpenGL 3.2 и Qt4.5.3 Отправлено: altk от Октябрь 29, 2009, 21:54 Использую платформу Windows Vista. Нужно написать приложение с использованием функций OpenGL 3.2. Как всем известно,стандартные библиотеки, которые идут с виндой поддерживают только OpenGL 1.4. С сайта opengl.org я скачал файлы glext.h и wglext.h. На одном из русскоязычных сайтов нашел парсер, который при помощи двух файлов создает два исходника(.h и .cpp), которые добавляются в проект. После добавления становится возможным использование новых фукций. Теперь подскажите пожалуйста, как правильно подключить всё это дело, чтобы оно заработало вместе c Qt4. Я так понимаю нужно инициализировать контекст специальным образом? Если честно, я пока совсем не знаю решения...
Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: azazello от Ноябрь 24, 2009, 19:42 (если ещё актуально) насколько я помню, QT имеет инициализацию только OGL 2.x.
OGL 3.x инициализируется отдельно(и его ещё вроде нет в QT). Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: break от Ноябрь 25, 2009, 03:59 Вообще то есть такая возможность - к сожалению я сам сейчас далек от 3D графики но точно знаю что можно использовать OGL 3.X совместно с QGLWidget - копайте в сторону переопределения initializeGL в QGLWidget
Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: azazello от Ноябрь 25, 2009, 13:00 копайте в сторону переопределения initializeGL в QGLWidget ну это и означает, что в Qt нету3.x создаётся через # WGL_ARB_create_context /# GLX_ARB_create_context If version 3.2 or greater is requested, the context returned may implement any of the following versions: * The requested profile of the requested version. * The requested profile of any later version, so long as no features have been removed from that later version and profile. Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: break от Ноябрь 25, 2009, 16:41 Я попросил программиста графики из нашей фирмы ответить на этот спорный вопрос - у нас как раз работают ф-ции OpenGL 3.X в Qt 4.X
Вот его комментарий Цитировать XOP: В QGLWidget действительно создается старый контекст, но - все функции из новой спецификации OpenGL вполне нормально работают, по крайней мере на видеокартах от NVIDIA. На ATI не проверял - не было ни возможности, ни необходимости. Еще на форуме opengl.org есть кусок кода qt-виджета, в котором создается именно новый контекст (под X11): http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=262519 Под винду аналогичный код будет еще проще. С его слов я понял так: вам надо использовать ваши h и cpp для вызова соответствующих ф-ций GL - после создания QGLWidget(точнее перед вызовом ф-ции initializeGL) уже создан GL контекст и он является текущим - работайте с ним. Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: azazello от Декабрь 01, 2009, 17:17 В QGLWidget действительно создается старый контекст, но - все функции из новой спецификации OpenGL вполне нормально работают, по крайней мере на видеокартах от NVIDIA. На ATI не проверял - не было ни возможности, ни необходимости. лучше разделять контексты (ибо nvidia дрова прощают многое, а вот ati, а тем более intel\via вмогут такого не простить).также, рендеры для 2.x и 3.x - явно разные(при правильной архитектуре движка) - так что по коду всё-равно разные реализации Название: Re: OpenGL 3.2 и Qt4.5.3 Отправлено: break от Декабрь 01, 2009, 18:28 Цитировать ибо nvidia дрова прощают многое Ну ATI так это вообще какашка по сравнению с NVidia - до сих пор нормальных дров для Линукс нет, а уж головники программистов графики с ATI картами всем известны. По поводу intel - какая разница будет рнаботать или нет если мощных карт для 3D на базе intel все равно нет? Это получается минимальные системные требования должны ограничивать... |