Координаты текстуры
Координаты текстуры
Перед нанесением текстуры на объект осталось установить соответствие между точками на поверхности объекта и на самой текстуре. Задавать это соответствие можно двумя методами: отдельно для каждой вершины или сразу для всех вершин, задав параметры специальной функции отображения.
Первый метод реализуется с помощью команд
void glTexCoord[1 2 3 4][s i f d](type coord)
void glTexCoord[1 2 3 4][s i f d]v(type *coord)
Чаще всего используется команды вида glTexCoord2…(type s, type t), задающие текущие координаты текстуры. Вообще, понятие текущих координат текстуры аналогично понятиям текущего цвета и текущей нормали, и является атрибутом вершины. Однако даже для куба нахождение соответствующих координат текстуры является довольно трудоемким занятием, поэтому в библиотеке GLU помимо команд, проводящих построение таких примитивов, как сфера, цилиндр и диск, предусмотрено также наложение на них текстур. Для этого достаточно вызвать команду
void gluQuadricTexture(GLUquadricObj*quadObject, GLboolean textureCoords)
с параметром textureCoords равным GL_TRUE, и тогда текущая текстура будет автоматически накладываться на примитив.
Второй метод реализуется с помощью команд
void glTexGen[i f d](GLenum coord, GLenum pname, GLtype param)
void glTexGen[i f d]v(GLenum coord, GLenum pname, const GLtype *params)
Параметр coord определяет для какой координаты задается формула и может принимать значение GL_S, GL_T; pname определяет тип формулы и может быть равен GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, GL_EYE_PLANE. С помощью params задаются необходимые параметры, а param может быть равен GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP. Рассмотрение всех возможных комбинаций значений аргументов этой команды заняло бы слишком много места, поэтому в качестве примера рассмотрим, как можно задать зеркальную текстуру. При таком наложении текстуры изображение будет как бы отражаться от поверхности объекта, вызывая интересный оптический эффект. Для этого сначала надо создать два целочисленных массива коэффициентов s_coeffs и t_coeffs со значениями (1,0,0,1) и (0,1,0,1) соответственно, а затем вызвать команды:
glEnable(GL_TEXTURE_GEN_S);
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, GL_EYE_LINEAR);
glTexGendv(GL_S, GL_EYE_PLANE, s_coeffs);
и такие же команды для координаты t с соответствующими изменениями.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Декартовы и полярные координаты
Декартовы и полярные координаты В двумерном пространстве точка определяется в плоскости XY, которая называется также плоскостью построений. Ввод координат с клавиатуры возможен в виде абсолютных и относительных координат.Ввод абсолютных координат производится в
Текстуры
Текстуры Наложение текстуры на поверхность объектов сцены повышает ее реалистичность, однако при этом надо учитывать, что этот процесс требует значительных вычислительных затрат. Под текстурой будем понимать некоторое изображение, которое надо определенным образом
Проекционные координаты
Проекционные координаты Проекционные координаты применяются для указания того, как будет отображаться на поверхности объекта карта текстуры. Они используют пространство координат UVW, где U – горизонтальное направление, V – вертикальное, а W – глубина. Координаты
Трехмерные координаты
Трехмерные координаты Построение новых объектов всегда происходит путем задания координат. Как в двухмерном, так и в трехмерном пространстве для этого могут применяться различные методы. Правда, ввод трехмерных координат обладает некоторыми особенностями, которые мы и
Координаты наложения карт текстур. Модификатор UVW Map (UVW-проекция текстуры)
Координаты наложения карт текстур. Модификатор UVW Map (UVW-проекция текстуры) Достаточно часто бывает так, что после применения материала при попытке визуализировать объект программа выдает сообщение об ошибке (рис. 7.18). Рис. 7.18. Окно Missing Map Coordinates (Потеряны проекционные
Декартовы и полярные координаты
Декартовы и полярные координаты В двумерном пространстве точка определяется в плоскости XY, которая называется также плоскостью построений. Ввод координат с клавиатуры возможен в виде абсолютных и относительных координат.Ввод абсолютных координат производится в
Простейшие текстуры
Простейшие текстуры Рассмотрим порядок создания простейших текстур. Простейшими будем считать такие текстуры, которые создаются лишь за счет изменения параметров, но без использования карт (изображений). При помощи таких текстур можно хорошо передать вешний вид и
Текстуры mental ray
Текстуры mental ray Существует несколько типов текстур, которые хорошо подходят при работе с mental ray. В частности, тип Arch & Design (mi) очень удобен при создании большинства материалов, используемых при текстурировании интерьеров и архитектуры. Именно с ним мы и будем
Текстуры и визуализация
Текстуры и визуализация Особенности текстурирования и визуализации интерьеров в стиле минимализм заключаются в том, что текстуры должны быть подобраны максимально грамотно, в тон, а освещение должно быть достаточно ярким и мягким.При создании текстур вам понадобится
Декартовы и полярные координаты
Декартовы и полярные координаты В двумерном пространстве точка определяется в плоскости XY , которая называется также плоскостью построений. Ввод координат с клавиатуры возможен в виде абсолютных и относительных координат.Ввод абсолютных координат производится в
Трехмерные координаты
Трехмерные координаты Построение новых объектов всегда происходит путем задания координат. Как в двухмерном, так и в трехмерном пространстве для этого могут применяться различные методы. Правда, ввод трехмерных координат обладает некоторыми особенностями, которые мы и
Декартовы и полярные координаты
Декартовы и полярные координаты В двумерном пространстве точка определяется в плоскости XY, которая называется также плоскостью построений. Ввод координат с клавиатуры возможен в виде абсолютных и относительных координат.Ввод абсолютных координат производится в
Класс CSize – относительные координаты
Класс CSize – относительные координаты Класс CSize создан на основе структуры SIZE, предназначенной для определения относительных координат точек в двумерном пространстве. Так как CSize наследуется от структуры SIZE, он включает все ее поля. Вы можете непосредственно обращаться к
Текстуры
Текстуры Для создания трехмерного изображения объекта проектирования в ArchiCAD имеется достаточно большое количество инструментов. Одним из таких инструментов является создание и использование текстур – объектов, имитирующих структуру поверхности материалов.Текстуры
Текстуры
Текстуры Текстуры являются достаточно непростым и совершенно непредсказуемым видом фотографий. Многим кажется, что насобирать текстур даже у себя дома или во дворе достаточно просто – сюда подойдут и фрагмент кирпичной стены, и асфальт, и гравий, и деревянный забор во
У7.3 Полярные координаты
У7.3 Полярные координаты Перепишите класс POINT таким образом, чтобы в качестве базового использовалось бы представление точки в полярных, а не декартовых