По какой-то причине я возился с ручной загрузкой OpenGL.Какова точка запроса расширений OpenGL, прежде чем пытаться их загрузить?
Каждое учебное пособие, которое я нашел, рекомендует сначала запросить строку расширения, затем разобрать его в список расширений и затем, наконец, загрузить указатели на поддерживаемые расширения. Мне кажется, что весь этот процесс можно было бы свести к простому указанию на функцию, а затем проверить любые NULL
s, возвращенные wglGetProcAddress
или их эквивалент.
Мой вопрос: Какую цель выполняет промежуточная процедура запроса? Возможно ли, чтобы функция была неподдерживаемой, но для *GetProcAddress
для возврата указателя не NULL
?
Итак, давайте посмотрим, правильно ли я понимаю: указатели на функции специфичны для клиентской библиотеки OpenGL. Однако фактическое поведение поддерживается контекстом GL, который является отдельным объектом из клиентской библиотеки. Цель строки расширения - объявить, какая из точек входа в клиентской библиотеке действительна для контекста. – Michael
@ Майкл: все эти внутренние детали очень специфичны для реализации. Спецификация просто гарантирует, что любая соответствующая реализация должна реализовать все основные функции Версии, которые она запрашивает supprt плюс все расширения, которые она перечисляет. – derhass