Такую спецификацию можно сформировать разными способами. Один из них состоит в том, что положение и ориентация камеры задаются набором координатных преобразований. Эти координатные преобразования используются для вычисления положения точек объектов, заданных вершинами, в системе координат камеры. Такой подход очень удобен и с точки зрения его программной реализации, и с точки зрения гибкости графической системы, поскольку позволяет довольно просто формировать различные виды объекта, "перемещая" камеру. Именно такой подход мы и будем использовать в дальнейшем, начиная с главы 5.
Необходимость настройки значений множества параметров также представляет определенную сложность. Частично причины этой проблемы кроются в самой модели синтезированной камеры. В классических методах визуализации, применяемых, в частности, в архитектурном проектировании, акцент делается именно на взаимосвязи наблюдателя и среды, в то время как модель предполагает независимость наблюдателя и наблюдаемых объектов. Так, классическая двухточечная перспектива куба на рис. 1.24 формируется именно вследствие учета взаимосвязи наблюдателя и плоскостей граней куба (см. упр. 1.6). API OpenGL позволяет создавать преобразования самого разного вида и обеспечивает программисту возможность использовать некоторые нетрадиционные функции. Рассмотрим, например, обращение к двум функциям:
gluLookAt(cop_x, сор_у, cop_z, at_x, at_y, at_z,…); glPerspective(field_of_view, . . .); Вызов первой функции ориентирует камеру в направлении указанной точки пространства, а вызов второй - устанавливает параметры объектива для формирования изображения с учетом перспективы. Но ни одна из существующих графических библиотек, построенных на основе концепции синтезированной камеры - OpenGL, PH1GS, VRML, - не имеет в своем составе функций для задания взаимосвязей между камерой и объектом.
Рис. 1.23. Параметры сне- Рис. 1.24. Двухточечная перспектива куба цификации камеры
Источник света характеризуется положением, интенсивностью и цветом излучения и его направленностью. В составе большинства АР1 имеются функции для задания такого рода параметров, причем в сцене может присутствовать несколько источников света с разными характеристиками. Существуют и функции спецификации оптических свойств материалов поверхностей объектов. Эти функции вызываются на этапе создания моделей объектов. Набор программируемых свойств источников света и материалов определяется принятой в данном АР1 моделью взаимодействия света с окружающей средой. Подробно такие модели рассматриваются в главе 6.