Войти
Подсказки

Использования extgl для инициализации расширений

Автор:

Для чего нужен extgl?
Наверняка многим надоело инициализировать расширения OpenGL, проводить парсинг строки c расширениями, определять версию OpenGL и пр. Вот от этого и избавляет extgl.

Где его можно достать?
Здесь: http://www.levp.de/3d/files/extgl.zip

Как его использовать?
1. Подключаем файлы extgl.h и extgl.c к проекту.
2. Строчку

#include <gl/gl.h>

заменяем на

#include "extgl.h"

3. Проводим стандартную процедуру инициализации OpenGL. После того как получили контекст устройства, вставляем стоку:

extgl_Initialize(); // инициализация расширений

4. Вот и вся инициализация :) Теперь можно начинать работать. Информация, о том поддерживается ли расширение или нет, находится в структуре extgl_Extensions. Там же и версия OpenGL ( extgl_Extensions.OpenGL12, extgl_Extensions.OpenGL13 и т.д. )

Пример:

// а вот тут мы запихнем всю информацию в видюху
if ( extgl_Extensions.ARB_vertex_buffer_object ) {
  // генерируем буфер VBO
  glGenBuffersARB(1, &bufID);
  // заносим в него вершины и нормали
  glBindBufferARB(GL_ARRAY_BUFFER_ARB, bufID);
  glBufferDataARB(GL_ARRAY_BUFFER_ARB, iVertexNum * sizeof(GLVERTEX), pVertexData, GL_STATIC_DRAW_ARB);
}

31 июля 2003