glVertex3f (x1, y2, z2 );
glVertex3f ( x2, y2, z2 );
glVertex3f ( x2, y2, z1 );
glVertex3f (x1,y2, z1 ); glEnd ();
gIBegin ( GL_POLYGON ); // bottom face glNormal3f ( 0.0, -1.0,0.0);

Компьютерная графика. Полигональные модели дг7егтехЗт ( х2, у1,г2 ); дгУегтехЗт (х1,у1,г2 ); дгУегтехЗт ( х1, у1, г1 ); д^егтехЗт ( х2, у1, г1 ); д!Епс1 ();

}

12.3. Преобразования объектов в пространстве.

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

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

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

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

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

void gIMatrixMode ( GLenum mode );

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

Процедура

void gILoadldenity ();

устанавливает единичную текущую матрицу.

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

12. Работа с библиотекой OpenGL

Преобразование сдвига задается процедурой void gITranslate {fd}(TYPE х, TYPE у, TYPE z); обеспечивающей сдвиг объекта на величину (х, у, z).

преобразование поворота - процедурой

void gIRotate {fd}(TYPE angle, TYPE x, TYPE y, TYPE z);

обеспечивающей поворот на угол angle в направлении против часовой стрелки вокруг прямой с направляющим вектором (х, у, z).


⇐ Предыдущая| |Следующая ⇒