Преобразование объектов в пространстве, камеры

Преобразования в пространстве

В процессе построения изображения координаты вершин подвергаются определенным преобразованиям. По­добным преобразованиям подвергаются заданные векторы нормали.

Изначально камера находится в начале координат и направлена вдоль отрицательного направления оси Оz.

В OpenGL существуют две матрицы, последовательно применяющиеся в преобразова­нии координат. Одна из них – матрица моделирования (modelview matrix), а другая – матрица проецирования (projection matrix). Первая служит для задания положения объ­екта и его ориентации, вторая отвечает за выбранный способ проецирования. OpenGL поддерживает два типа проецирования – параллельное и перспективное.

Существует набор различных процедур, умножающих текущую матрицу (моделирова­ния или проецирования) на матрицу выбранного геометрического преобразования.

Текущая матрица задается при помощи процедуры gIMatrixMode(GLenum mode). Пара­метр mode может прини­мать значения GL_MODELVIEW, GL_TEXTURE или GL_PROJECTION, позволяя выбирать в качестве текущей матрицы матрицу моделиро­вания (видовую матрицу), матрицу проецирования или матрицу преобразования тек­стуры.

Процедура gILoadldenity() устанавливает единичную текущую матрицу.

Обычно задание соответствующей матрицы начинается с установки единичной и по­следовательного применения матриц геометрических преобразований.

Преобразование переноса задается процедурой glTranslate{f d}(TYPE x, TYPE у, TYPE z), обеспечивающей пе­ренос объекта на величину (x, у, z).

Преобразование поворота задаётся процедурой glRotate{f d}(TYPE angle, TYPE x, TYPE y, TYPE z), обеспечивающей поворот на угол angle в направлении против часовой стрелки вокруг прямой с направляющим вектором (x, у, z).

Преобразование масштабирования задаётся процедурой glScale{f d}(TYPE x, TYPE у, TYPE z).

Если указано несколько преобразований, то текущая матрица в результате будет после­довательно умножена на соответствующие матрицы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: