-
где скачать расширения opengl
GL_ARB_vertex_buffer_object
-
ГГДДЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ????????
-
Расширения - это специфика видеокарты и драйверов. Ставишь новые драйвера на карту и вот тебе новые расширения.
Соответственно качай их с сайта производителя своей видеокарты.
А если ты не это имел ввиду, то вопрос правильно задавай.
P.S.
Подчключать расширения можно добавив в свой модуль нужные функции и константы.
Или используя соответствующие версии заголовочных файлов OpenGL.
Лично я прдепочитаю добавлять функции вручную. Поскольку быстрее и контролируется поддердка расширений проще.
-
(с сайта
http://www.elite-games.ru/ Уроки для программистов - VBO)
технология с помощью которой можно поместить информацию о вершинах напрямую в видеокарту и оставить её там. Дает огромный прирост скорости работы приложения. Чтобы внедрить её в наш движок, вначале нужно
загрузить расширение GL_ARB_vertex_buffer_object, поддерживаемое всеми современными видеокартами.
-
Загрузить и скачать - немного разные вещи. ;))
Вообще на опенгл писать умеешь?
НЕ стоит сразу начинать с расширений...
В interface части нужного модуля пишеш:
type
PGLHandleARB = ^GLHandleARB;
GLHandleARB = integer;
PPGLCharARB = ^PGLCharARB;
PGLCharARB = ^GLCharARB;
GLCharARB = Char;
procedure glVertexPointer(size:GLint; atype:GLenum; stride:GLsizei; data:pointer); stdcall; external OpenGL32;
procedure glColorPointer(size:GLint; atype:GLenum; stride:GLsizei; data:pointer); stdcall; external OpenGL32;
procedure glNormalPointer(atype:GLenum; stride:GLsizei; data:pointer); stdcall; external OpenGL32;
procedure glTexCoordPointer(size: GLint; atype: GLEnum; stride: GLsizei; data: pointer); stdcall; external OpenGL32;
procedure glDrawArrays(mode:GLenum; first:GLint; count:GLsizei); stdcall; external OpenGL32;
procedure glDrawElements(mode: GLEnum; count: GLsizei; atype: GLEnum; indices: Pointer); stdcall; external OpenGL32;
procedure glEnableClientState(aarray:GLenum); stdcall; external OpenGL32;
procedure glDisableClientState(aarray:GLenum); stdcall; external OpenGL32;
const
GL_VERTEX_ARRAY = $8074;
GL_NORMAL_ARRAY = $8075;
GL_COLOR_ARRAY = $8076;
GL_TEXTURE_COORD_ARRAY = $8078;
Теперь у теюя доступны основные функции для работы с VBO.
Можно еще через wglGetProcAddr.
-
сейчас попробую
-
[4]Ну-у, это не VBO, это Vertex Array... Хотя VBO на нем же основано. Про использование расширений и VBO в частности есть в статьях на
http://steps3d.narod.ru
-
Единственное. чего тут нет для VBO - функций для биндования буффера. Они у меня в другой части юнита инициализятся, поэтому просмотрел, не добавил сюда. Мой косяк, согласен.
ИМХо автор читал стать с элит-геймс и сам может все сотальные функции добавить по аналогии.
-
Мне то ж интересно про расширения.
GL_ARB_MULTITEXTURE
насколько я понял в opengl32.dll glut.dll этих процедур нету, так что компоненту к DELPI подключать придется. Где скачать не подскажете?
Буду признателен.
-
> [8] Kharagh (25.05.08 04:51)
БЛ*. Прочитай [2] внимательно.
-
Прошу прощения за ***. Не с той ноги встал.
-
Интересно, есть ли какой-нибудь хитрый драйвер, эмулирующий расширения софтверно, если сама видеокарта не умеет?
-
> Тыщ © (26.05.08 00:58) [11]
>
> Интересно, есть ли какой-нибудь хитрый драйвер, эмулирующий
> расширения софтверно, если сама видеокарта не умеет?
А никто не гарантирует, что какоето расширение выполняется на карте.
Вернее даже так: много выполняется драйвером. Это гарантированно.
А драйвером специальных - врядли найдешь.
Это только вендоры могут сделать естественно и оно им нафиг не надо.
-
@!!ex_ (26.05.08 16:41) [12]
Не, ну например, одна демка у меня не хочет выполняться, ругается на отсутствие GL_NV_fragment_program_option.
Была бы эмуляция этого дела, я бы хоть посмотрел, что это такое.
-
> Тыщ © (26.05.08 16:55) [13]
>
> @!!ex_ (26.05.08 16:41) [12]
>
> Не, ну например, одна демка у меня не хочет выполняться,
> ругается на отсутствие GL_NV_fragment_program_option.
> Была бы эмуляция этого дела, я бы хоть посмотрел, что это
> такое.
Напиши свой драйвер.
Есть линуксовые открытые драйвера.
Возьми их за основу и сделай.
Почему не сделает кто-то другой?
Да потому что нафиг не надо. Редко кто пишет игры под конкретного вендора. Это только демки так пишут.
-
@!!ex_ (26.05.08 17:45) [14]
> Да потому что нафиг не надо.
Впрочем, мне тоже. Для одной демки драйвер я писать не собираюсь :)