Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: romank от Июль 24, 2009, 12:27



Название: OpenGL extensions
Отправлено: romank от Июль 24, 2009, 12:27
Добрый день.
Подскажите как достучатся до

glGenBuffers(), glBindBuffer() и так далее.


Название: Re: OpenGL extensions
Отправлено: Sergeich от Июль 25, 2009, 21:10
Юзай GLEW: http://glew.sourceforge.net/


Название: Re: OpenGL extensions
Отправлено: break от Июль 26, 2009, 01:43
Или Glee http://www.opengl.org/sdk/libs/GLee/


Название: Re: OpenGL extensions
Отправлено: romank от Июль 26, 2009, 13:32
Я решил этот вопрос следующим образом.
1. Скопировать файлы "qlextensions.h" и "glextensions.cpp" из директории ...\qt\demos\boxes
2. Добавить в проект #include "glextensions.h"
3. initializeGL() дополнить getGLExtensionFunctions().resolve(context());


Название: Re: OpenGL extensions
Отправлено: Lestat от Ноябрь 30, 2009, 17:12
Я юзаю либы nVidia, правда под виндой... там собраны glut, glew, либа для загрузки изображений, еще что-то есть


Название: Re: OpenGL extensions
Отправлено: xop от Декабрь 12, 2009, 18:07
Или самому получать на них указатели через wglGetProcAddress/glXGetProcAddress.


Название: Re: OpenGL extensions
Отправлено: Dendy от Декабрь 12, 2009, 18:34
Или самому получать на них указатели через wglGetProcAddress/glXGetProcAddress.

Внимание, правильный ответ:

Юзай GLEW: http://glew.sourceforge.net/


Название: Re: OpenGL extensions
Отправлено: xop от Декабрь 13, 2009, 00:12
Согласен, что использовать glew в данной ситуации наиболее простое решение, но рано или поздно придется разобраться как оно там внутри работает. Скорее всего - как только захочется рендерить в два окошка или использовать расширения типа ARB_uniform_buffer_object (которые в ядре OpenGL 3.1 и позже).


Название: Re: OpenGL extensions
Отправлено: Dendy от Декабрь 13, 2009, 16:47
Однако да, последнее обновление GLEW 3 ноября 2008, добавлена поддержка OpenGL 3.0. Или разработчик заснул, или не считает возможным добавление поддержки OpenGL 3.1. А может у него банально нет времени.


Название: Re: OpenGL extensions
Отправлено: xop от Декабрь 13, 2009, 17:57
Ну, можно вытянуть последнюю версию из svn и собрать ее - там будет OpenGL 3.2. Я даже пробовал это под линуксом делать - собралось. Но вот как это под win будет выглядеть - представляю себе слабо, т.к. для сборки оно само через wget качало с opengl.org/registry информацию по расширениям, потом их парсило тоже кажется какой-то сугубо юниксовой тулзой, ну и потом собственно компиляло. Вообще в работе от glew довольно давно отказался и перешел на самописную библиотеку - пока не жалею :)


Название: Re: OpenGL extensions
Отправлено: Dendy от Декабрь 13, 2009, 18:36
На то они и стандарты, чтобы не завися от SDK можно было использовать то же API. Хотя реестр расширений OpenGL разросся настолько, что на GLEW свет клином таки сошёлся. Я вот, к примеру, не нашёл подходящей для себя библиотеки работы с форматом ZIP, взял спецификацию и сделал по ней. Непомню кто высказал следующее мнение, но я с ним согласен: Разработчик должен знать инструмент на один уровень глубже, чтобы в сложных моментах не застрять на ровном месте. Написание собственных библиотек как нельзя лучше этому способствует (-;


Название: Re: OpenGL extensions
Отправлено: xop от Январь 20, 2010, 10:45
Кстати, 31 декабря вышла новая версия glew, поддерживающая OpenGL 3.2 и все последние расширения. Подарок к НГ :)