Вывод текстуры в общем случае
Библиотека OpenGL может работать в один момент времени только с одной текстурой, называемой активной. Для работы с несколькими текстурами необходимо задавать имя для текстуры. Затем по имени выбирается, какая из текстур будет использоваться.
1. Включить поддержку текстурирование glEnable(GL_TEXTURE_2D).
2. Сгенерировать имена для текстур glGenTextures.
3. Установить текущую текстуру (glBindTexture).
4. Загрузить изображение. Преобразовать в формат OpenGL.
5. Загрузить текстуру glTexImage2D.
6. Если есть еще текстуры, то перейти на п3.
7. Установить текущую текстуру (glBindTexture)
8. Отрисовать объект. Перед каждой вершиной задать координаты в системе координат текстуры. glTexCoord2d(0,0);glVertex3f(1,0,0);.
При текстурировании возможна ситуация, когда один пиксел объекта накрывает несколько пикселов текстуры или наоборот. В этом случае требуется определиться с методом аппроксимации. Для этого служит функция glTexParameteri. Существует 2 вида аппроксимаций: возможность выбора ближайшего пиксела (GL_NEAREST) и линейная аппроксимация (GL_LINEAR).
Иногда возникает потребность размножить текстуру по поверхности, например для реализации упорядоченных структур. Для этого создается текстура маленького размера, а затем устанавливаются следующие параметры: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);которые задают повторение по координатным осям текстуры S и T. При привязке координат текстуры значения координат S и T устанавливаются больше чем 1.
Не нашли, что искали? Воспользуйтесь поиском:
|