wglGetProcAddress для функций OpenGL 1.1 - PullRequest
2 голосов
/ 06 августа 2011

Эта вики-страница на веб-сайте OpenGL утверждает, что функции OpenGL 1.1 НЕ должны загружаться через wglGetProcAddress, и формулировка, по-видимому, подразумевает, что некоторые системы по умолчанию возвращают NULL, если вы попытаетесь:

http://www.opengl.org/wiki/Platform_specifics:_Windows#wglGetProcAddress

(Идея в том, что только функции 1.2+ заслуживают загрузки с помощью wglGetProcAddress).

На странице не сказано, кто сообщал об этих неудачных вызовах wglGetProcAddress для функций 1.1, которые я лично никогда не видел. И поиск в Google, так что рядом нет информации по этому вопросу.

Будет ли wglGetProcAddress () фактически возвращать NULL для функций 1.1 для достаточного количества пользователей, так что мне должно быть все равно? Или же это просто не удастся избранным неудачливым пользователям с действительно сломанными драйверами графического процессора (в этом случае мне все равно).

Кто-нибудь еще сталкивался с этим?

Ответы [ 2 ]

2 голосов
/ 06 августа 2011

Вопрос, который вы должны задать себе, состоит в том, имеет ли это для вас значение и стоит ли вам заботиться.

Загрузка функций OpenGL 1.1 вручную будет означать, что вам придется использовать разные имена функций, иначе онисталкиваются с объявлениями в gl/gl.h.Или вы должны определить GL_NO_PROTOTYPES, но в этом случае у вас также не будет функционала OpenGL 1.0.
Так что, в любом случае, это будет означать дополнительные проблемы без каких-либо выгод, вы можете простоиспользовать функциональность 1.1, ничего не делая.

Сказав это, я попробовал это однажды, потому что подумал, что было бы гениальной идеей загружать все динамически (когда я протрезвел, я задумалсячто дало мне эту идею), и я могу подтвердить, что она не работает (или, по крайней мере, 2 года назад) не работает с драйверами nVidia.
Хотя, если подумать, это вполне оправданно, и даже хорошочто то, что не имеет смысла, не работает.

1 голос
/ 07 августа 2011

Я технически ответил на это на странице обсуждения этой статьи Wiki , но:

Будет ли wglGetProcAddress () фактически возвращать NULL для функций 1.1 для достаточного количества пользователей, так что я долженна самом деле все равно?

Он вернет NULL для всех пользователей.Я пробовал это на платформах NVIDIA и ATI (последние драйверы и оборудование DX10), и все они делают это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...