Glloader/ru

From KlayGE
Jump to: navigation, search

glloader, под-проект Klay Game Engine, это библиотека загрузки расширений OpenGL. Этот проект был запущен в 2004 году(см. 'glloader's History'). Он поддерживает OpenGL от 1.0 до 4.2, OpenGL ES от 1.0 до 2.0, также хорошо как WGL, GLX, и другие расширения GL. Имеется автоматическая генерация кода. Если вам нужна поддержка новых расширений, то всё что вам нужно, это написать сценарий на XMLязыке.


Основной особенностью glloader является то, что он предоставляет возможность инициализации расширения. Если расширение предоставлено ядром, то загрузчик попытается загрузить расширение из ядра прежде чем оно будет использовано.

После установки путе к каталогам include и lib, всё что вам нужно сделать, это добавить строку#include <glloader/glloader.h> в ваш код.

Заметки

Пожалуйста, не помещайте glloader в каталог с не-английскими названиями. Иначе скрипт autogen.py не сможет запуститься нормально.

Интерфейс

 int glloader_is_supported(const char* name);

Определяет, доступна ли определенная функция на вашей платформе . Параметр name задаёт строку имени. Возвращает 0 если не доступно.

Обратите внимание: Вы можете использовать строку вида "GL_VERSION_x_y" для определения поддерживаетмой версии x.y ядра OpenGL.

 void* glloader_get_gl_proc_address(const char* name);

Загружает функцию OpenGL. Параметр name задаёт имя функции. Возвращает адрес функции для расширения.

Обратите внимание: Когда функция завершается неудачно, то НЕТ гарантии что возвращенное значение будет NULL.

 int glloader_num_features();

Возвращает число поддерживаемых возможностей, включая возможности ядра и расширений.

 const char* glloader_get_feature_name(int index);

Возвращает имя возможности. Параметр index' в диапазоне [0, glloader_num_features() - 1].


Автоматический генератор кода

Так как написание загрузки кода очень скучное занятие, то я разработал автоматический генератор кода для того чтобы помочь писать код. Есть много xml файлов в каталоге "./xml". Каждый xml-файл содержит определение типов, токены, функции, и путь инициализации расширения. Пользователи могут написать ствои xml-скрипты, тспользуя "autogen.py". О н сгенерирует код загрузки кода в каталогах src и include.

Зависимость

Python 2.6 и и выше нужен для запуска "autogen.py".