Наложение карт освещенности при помощи мультитекстурирования
Мультитекстурирование позволяет вывести грань вместе с текстурой и картой освещенности за один проход. Настройки 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", в котором рассказывается все от "упаковки", до первого включения системы.