4.9. Матрицы преобразований в OpenGL

В этом разделе речь пойдет о реализации механизма преобразований в однородных координатах в виде программного пакета и об интерфейсе между этим пакетом и прикладной программой. В OpenGL существуют три матрицы, которые входят в состав параметров, характеризующих текущее состояние графической системы. В этой главе мы рассмотрим только матрицу вида {model-view matrix). Всеми тремя матрицами можно манипулировать с помощью одного и того же набора функций, а для выбора, с какой именно матрицей выполняются операции, используется функция glMatrixMode( ).

4.9. Матрицы преобразовании в OpenGL

4.9.1. Текущая матрица преобразования В большинстве графических систем используется текущая .матрица преобразования - ТМП (СТМ - current transformation matrix). Эта матрица применяется для преобразования всех вершин. Если изменяется ТМП, изменяется текущее состояние системы. Умножение на ТМП является одной из стадий конвейерного процесса обработки информации в графической системе (рис. 4.54). Обозначим матрицу ТМП через С. Тогда, если р - это вершина, то при "перемещении" ее по конвейеру формируется произведение Ср. Матрица ТМП имеет размер 4x4 и может быть изменена функциями, которые входят в состав графического пакета10.

Текущая матрица преобразования

Рис. 4.54. Текущая матрица преобразования В исходном состоянии ТМП является единичной матрицей размера 4x4; при необходимости в любой момент прикладная программа может ее реинициализировать. Будем использовать символ для обозначения процедуры замены содержимого матрицы. Операция инициализации в нашей системе обозначений будет выражаться следующим образом"opengl5_210.html">⇐ Предыдущая| |Следующая ⇒