Хорошо, что opengl32.dll
не изменился, потому что он не должен меняться. opengl32.dll
является компонентом ОС. Единственное, что должно касаться этого файла - это сама Windows, например, во время обновления.
Windows предлагает стандартную реализацию OpenGL, которая всегда должна быть доступна (может прибегнуть к программному рендерингу). Эта общая реализация поддерживает только OpenGL 1.1, поэтому opengl32.dll
экспортирует только основные функции API OpenGL 1.1. В дополнение к этому, другие реализации OpenGL могут быть подключены к системе в виде устанавливаемого клиентского драйвера (ICD). При установке драйверов для вашего графического процессора поставщик графического процессора обычно устанавливает и регистрирует такой ICD для запуска OpenGL с использованием вашего графического процессора. Когда контекст OpenGL создается с помощью API WGL , ОС ищет и загружает подходящий ICD и настраивает ваш контекст OpenGL для связи с этим ICD. Функции API OpenGL 1.1, экспортированные в opengl32.dll
, просто передают в ICD.
ICD может (и обычно делает) предлагать дополнительные функциональные возможности по сравнению с базовым API OpenGL 1.1, который предоставляется через opengl32.dll
. Чтобы получить доступ к таким дополнительным функциям, вы должны вручную загрузить соответствующие функции с помощью wglGetProcAddress()
. Поскольку написание всего кода, например, для загрузки всего API-интерфейса ядра OpenGL 4.6, довольно утомительно, обычно использует библиотеку , такую как GLEW или рад , чтобы позаботиться об этом & hellip;
Для Delphi, я думаю dglOpenGL может быть интересным.