Наложение карт освещенности при помощи мультитекстурирования

Мультитекстурирование позволяет вывести грань вместе с текстурой и картой освещенности за один проход. Настройки OpenGL при этом аналогичны рассмотренному примеру. Поскольку текстурные координаты для каждого блока задаются независимо, то для него можно задать свою матрицу преобразования текстурных координат, а также способ автоматической генерации текстурных координат и свой закон наложения текстуры.
Возможность мультитекстурирования существует также при работе с вершинными массивами (vertex array). Для этого служит функция giciientActiveTextureARB. Она берет в качестве входного параметра номер текстурного модуля (GL_TEXTUREO_ARB, …, GLJTEXTURE31_ARB) и относит к нему следующие команды: glTexCoordPointer, glEnableClientState и gl Disabled ient State.Так, задать массивы текстурных координат для первых двух текстурных модулей можно при помощи такого фрагмента кода:

// setup 1st texture unitgiciientActiveTextureARB ( GL_TEXTUREO_ARB ); glTexCoordPointer ( 2, GL_FLOAT, 0, pO ); glEnableClientState ( GL_TEXTURE_COORD_ARRAY ); // setup 2nd texture unitgiciientActiveTextureARB ( GL_TEXTURE1_ARB ); glTexCoordPointer ( 2, GL_FLOAT, 0, pi ); glEnableClientState ( GL TEXTURE COORD ARRAY );

Категория: Простейшие расширения

Таги: , ,

Приветствие!

Наш сайт создан для любителей и профессионалов, для тех кому не безинтересна система под названием Linux. На нашем сайте вы найдете статьи от установки до программирования на Linux'e, отзывы о системе, советы и поддержка начинающим пользователям. Для новичком, доступен раздел "Запускаем Linux", в котором рассказывается все от "упаковки", до первого включения системы.

Архивный календарь

Март 2010
Пн Вт Ср Чт Пт Сб Вс
« Фев    
1234567
891011121314
15161718192021
22232425262728
293031  


Статистика