Режим GL_CLAMP_TO_EDGE
Полезным может оказаться также режим GL_EYE_LINEAR, который позволяет получать ненормированный вектор от наблюдателя. Для предотвращения появления артефактов в случаях, когда точка на поверхности куба, соответствующая текстурным координатам, подходит слишком близко к какому-либо из его ребер, вместо GL_REPEAT (ИЛИ GL_CLAMP) следует применить режим GL_CLAMP_TO_EDGE () при задании отсечения текстурных координат (texture wrapping). Задание этого режима осуществляется следующими командами: glTexParameteri ( GL_TEXTURE_CUBEJMAP_ARB, GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE ); glTexParameteri (GL_TEXTURE_CUBEJMAP_ARB, GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE ); Обратите внимание, что данный режим устанавливается только для s и t, поскольку отсечение координат происходит в пределах одной из граней куба. Так как в OpenGL по умолчанию устанавливается режим GL_REPEAT, то при работе с кубическими картами для всех карт следует явно выставить GL_CLAMP_TO_EDGE. Для использования кубических текстур их (подобно всем остальным) следует сначала разрешить при помощи команды glEnable ( GL_TEXTURE_CUBEJMAP_ARB ); Важно помнить, что в OpenGL кубические текстуры имеют более высокий приоритет по сравнению с обычными, поэтому если одновременно в одном и том же текстурном блоке разрешить и кубическую, и обычную (например, двумерную) текстуры, то будет выбрана именно кубическая.
Наш сайт создан для любителей и профессионалов, для тех кому не безинтересна система под названием Linux. На нашем сайте вы найдете статьи от установки до программирования на Linux'e, отзывы о системе, советы и поддержка начинающим пользователям. Для новичком, доступен раздел "Запускаем Linux", в котором рассказывается все от "упаковки", до первого включения системы.