Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2011, 14:53   #1
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию детектирование GL extensions

не знал в какой раздел воткнуть, поэтому здесь.

Возник вопрос как проверить железяку/драйвер на предмет поддержки GL_ARB_point_sprite без использования glGetString(GL_EXTENSIONS)?
f.hump вне форума Ответить с цитированием
Старый 23.08.2011, 15:20   #2
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

А чем не нравится glGetString?
А вообще можно попробовать запросить работу с функцией и если вернётся не nil то расширение пашет
Код:
  var
    glPointParameterfvARB : procedure (pname: LongWord; const params: Pointer); stdcall;
  begin 
    glPointParameterfvARB := wglGetProcAddress(PChar('glPointParameterfvARB'));
    if glPointParameterfvARB = nil then
       MessageBox(0, 'Not Load Extensions', 'Error', 0);
  end;
RomiKon вне форума Ответить с цитированием
Старый 23.08.2011, 15:59   #3
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

В целом, я так и делаю, для тех расширений, которые вносят новые фукнции. glPointParameterfvARB - относится к GL_ARB_point_parameters extension, и в общем то включена в OpenGL 1.4 как glPointParameterfv. Целевые железяки гарантированно поддерживают OpenGL 1.4, делаю заточку под OpenGL 1.5, ну и соответсвенно если 1.5 нет, то нужны расширения.
По непонятным причинам на тестовой железяке glGetString всегда возвращает 0.
GL_ARB_point_sprite extension не вносит новых функций, поэтому не к чему применить wglGetProcAddress.
В общем похоже проверка на ошибку glIsEnabled(GL_POINT_SPRITE_ARB) может служить нужным мне индикатором.
f.hump вне форума Ответить с цитированием
Старый 23.08.2011, 20:29   #4
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Ну тогда проверяйте версию OpenGL и ни каких проблем
RomiKon вне форума Ответить с цитированием
Старый 24.08.2011, 12:38   #5
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Вот советую посмотреть:
http://glew.sourceforge.net/
An1ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Детектирование устройств. Devourer12345 Помощь студентам 5 12.04.2010 23:21