Difference between revisions of "Glloader/ru"
(Uncomplete Ru) |
Gongminmin (Talk | contribs) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[glloader]], под-проект [[KlayGE|Klay Game Engine]], это библиотека загрузки расширений OpenGL. Этот проект был запущен в 2004 году(см. '[[glloader's History]]'). Он поддерживает OpenGL от 1.0 до 4. | + | [[glloader]], под-проект [[KlayGE|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 не сможет запуститься нормально. | |
== Интерфейс == | == Интерфейс == | ||
− | + | <pre> | |
int glloader_is_supported(const char* name); | int glloader_is_supported(const char* name); | ||
+ | </pre> | ||
+ | Определяет, доступна ли определенная функция на вашей платформе . Параметр '''name''' задаёт строку имени. Возвращает 0 если не доступно. | ||
− | + | '''Обратите внимание''': Вы можете использовать строку вида "GL_VERSION_x_y" для определения поддерживаетмой версии x.y ядра OpenGL. | |
− | + | ||
− | ''' | + | |
− | + | ||
+ | <pre> | ||
void* glloader_get_gl_proc_address(const char* name); | void* glloader_get_gl_proc_address(const char* name); | ||
+ | </pre> | ||
+ | Загружает функцию OpenGL. Параметр '''name''' задаёт имя функции. Возвращает адрес функции для расширения. | ||
− | + | '''Обратите внимание''': Когда функция завершается неудачно, то '''НЕТ''' гарантии что возвращенное значение будет NULL. | |
− | + | ||
− | ''' | + | |
− | + | ||
+ | <pre> | ||
int glloader_num_features(); | int glloader_num_features(); | ||
+ | </pre> | ||
+ | Возвращает число поддерживаемых возможностей, включая возможности ядра и расширений. | ||
− | + | <pre> | |
− | + | ||
− | + | ||
const char* glloader_get_feature_name(int index); | const char* glloader_get_feature_name(int index); | ||
+ | </pre> | ||
+ | Возвращает имя возможности. Параметр '''index'''' в диапазоне [0, glloader_num_features() - 1]. | ||
− | |||
+ | == Автоматический генератор кода == | ||
− | + | Так как написание загрузки кода очень скучное занятие, то я разработал автоматический генератор кода для того чтобы помочь писать код. Есть много xml файлов в каталоге "./xml". Каждый xml-файл содержит определение типов, токены, функции, и путь инициализации расширения. Пользователи могут написать ствои xml-скрипты, тспользуя "autogen.py". О н сгенерирует код загрузки кода в каталогах src и include. | |
− | + | == Зависимость == | |
+ | Python 2.6 и и выше нужен для запуска "autogen.py". | ||
− | + | [[Category:Glloader]] | |
− | + | ||
[[en:Glloader/en]] | [[en:Glloader/en]] | ||
[[zh:Glloader]] | [[zh:Glloader]] |
Latest revision as of 12:10, 30 April 2012
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".