В OpenGL первые два преобразования задаются одной матрицей, которая называется матрицей видового преобразования.

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

По умолчанию при инициализации как OpenGL, так и DirectX во все матрицы занесено единичное значение, то есть объектная, мировая и система координат наблюдателя в этот момент совпадают и вместо перспективного проецирования системой лучей-проекторов, выходящих из точки наблюдения, используется ортогональное проецирование параллельными лучами, перпендикулярными плоскости проекции. Другими словами, координаты (хэ, y.à) результата проецирования точки на плоскость экрана совпадают со значениями компонентов х, у мировых координат этой точки. На экране отображаются вершины, для которых выполняется условие-1<х.< 1, -1<уэ< 1.

При разработке графических систем иногда могут возникать затруднения, связанные с соотнесением алгебраических преобразований в конвейере и соответствующих им геометрических образов на экране. Например, разработчик в модели движения камеры поворачивает линию визирования в положительном направлении вокруг оси Хп. Наблюдатель в этот момент опускает взгляд вниз (и объекты на экране должны сдвинуться вверх) или, наоборот, поднимает его вверх. То же самое относится к вращению точки привязки объекта вокруг осей Системы координат графических библиотек мировой системы. При перемещении объекта в виртуальном мире вращение в положительном направлении в различных графических библиотеках может давать разный результат. Ответ зависит от применения в библиотеке левосторонней или правосторонней системы координат. Так, в мировой системе DirectX используется левая тройка и оси координат направлены, как показано на рис. 21.5. Если смотреть на плоскость X, У со стороны положительной полуоси Z, то для совмещения оси X с осью У ось X необходимо повернуть по часовой стрелке. В мировой системе OpenGL используется правая тройка, когда ось Z имеет противоположное направление и поворот получается против часовой стрелки. Влияние системы координат на положительное направление поворотов будет рассмотрено на численных примерах при изучении геометрических преобразований. Различия систем координат приходится учитывать при построении графической системы, использующей одну модель мира и модель движения, но позволяющую пользователю выбирать применяемую графическую библиотеку при запуске приложения.


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