Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Генерация текстурных координат

Читайте также:
  1. А) координаталары белгілі нүкте үстіне
  2. А. Декартова координатная система
  3. Алгоритм RSA. Генерация ключей и функция шифрования
  4. Б) схема оси развития, модифицированная в соответствии с представлениями структурной психосоматики -глубинные зоны перенесены к началу координат.
  5. Б. Полярная и цилиндрическая координатные системы
  6. Большие слюнные железы. Особенности строения и развития различных желез. Их регенерация и возрастные изменения
  7. В криволінійних координатах

Текстурные координаты, ассоциированные с вершиной, могут быть получены из текущих текстурных координат или быть сгенерированными согласно функции, зависящей от координат вершины. Генерацией текстурных координат управляет команда:

void glTexGen{ifd}(GLenum coord, GLenum pname, TYPE param),

void glTexGen{ifd}v(GLenum coord, GLenum pname, TYPE * param),

где coord – текстурная координата; pname – имя параметра; param – значения параметра pname (невекторная или векторная форма).

Аргумент coord должен быть одним из констант GL_S, GL_T, GL_R или GL_Q, указывающих соответствие принадлежащим координатам s, t, r и q соответственно. В первой форме команды param является константой, определяющей одно значение параметра текстурной генерации; во второй форме param, указатель на массив значений параметров.

Имя параметра может принимать следующие значения: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE и GL_EYE_PLANE (два последних параметра только для векторной формы команды).

Для GL_TEXTURE_GEN_MODE параметр param может принимать следующие значения:

- GL_OBJECT_LINEAR – параметр устанавливает функцию генерации текстурных координат

,

где x 0, y 0, z 0 и w 0 – мировые координаты вершины; p 1, p 2, p 3 и p 4 – коэффициенты уравнения плоскости, которые указываются в param с помощью pname, равного GL_OBJECT_PLANE;

- GL_EYE_LINEAR – параметр устанавливает функцию генерации

,

где ; xe, ye, ze и we – видовые координаты вершины; M – матрица видового преобразования. Коэффициенты уравнения плоскости указываются в param с помощью pname, равного GL_EYE_PLANE;

- GL_SPHERE_MAP. Здесь текстурные координаты s или t генерируются следующим образом:

,

где u – вектор от начала видовых координат к вершине; nf – текущая нормаль после преобразования в видовые координаты; – результирующий вектор отражения, исходя из которого, определяется соответствующая координата:

, ,

где .

Функция glEnable с параметром GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R или GL_TEXTURE_GEN_Q включает генерацию соответствующей текстурной координаты, функция
glDisable с теми же параметрами – отключает.

По умолчанию значения коэффициентов уравнения плоскости устанавливаются следующим образом: все pi для координат s, t, r и q равны нулю, кроме p 1 для координаты s и p 2 для t, которые равны единице. Текстурная генерация координат по умолчанию выключена для всех координат.


Дата добавления: 2015-07-10; просмотров: 130 | Нарушение авторских прав


Читайте в этой же книге: Наложение текстуры на грань | Пример. | Визуализация текстуры | Функции OpenGL для установки параметров текстуры | Пример программы с применением текстурирования |
<== предыдущая страница | следующая страница ==>
Взаимодействие текстуры с объектом| Функции OpenGL для задания текстурного изображения

mybiblioteka.su - 2015-2024 год. (0.006 сек.)