T.M. SoftStudio

feci quod potui, faciant meliora potentes

WebGL: Термины и понятия - Камера или глаз

Полностью

Камера или глаз (eye) объект, определяющий где, относительно сцены, составленной из набора графических объектов, расположен в 3D-пространстве пользователь и как он ориентирован. Камера добавляет к сцене эффект перспективы. Реализация камеры состоит из набора трансформаций:

  • Viewing Transformation определяет позицию камеры или наблюдателя в 3D-пространстве.

  • Modeling Transformation определяет позицию, угол вращения и размер графического объекта в сцене.

  • Modelview Transformation — так как modeling transformation и viewing transformation аналогичны по своей сути, данный термин используется для обозначения как modeling transformations, так и viewing transformations.

  • Projection Transformation — основывается на View Frustum.




View Frustum — объем между передним и задним обрезающими планами. Только объекты, находящиеся в этом объеме, отображаются на экране. Viewing frustum определяется полем зрения (field of view) и расстоянием по оси z до переднего и заднего обрезающего планов (front clipping plane, back clipping plane).

Projection Transformation преобразует viewing frustum в параллелепипед в NDC-координатах, так что 3D-точки проецируются на передний план.




Различают два типа Projection Transformation — Perspective Projection и Orthographic Projection.

Perspective Projectionviewing frustum представляет собой усеченную пирамиду.

Orthographic Projectionviewing frustum представляет собой параллелепипед.

  • Viewport Transformation — NDC-координаты преобразуются в координаты устройства.

Данной реализации камеры соответствуют следующие стадии преобразования вершин модели:






Object Coordinates — первоначальные координаты вершин модели.

Eye Coordinates — преобразованные локальные координаты вершин модели в координаты пространства камеры.

Clip Coordinates — преобразованные координаты вершин модели в пространстве камеры с помощью проекции на рабочую область рисования, так что ближний к ней полигон будет большим, чем дальний в viewing frustum.

Normalized Device Coordinates (NDC) — приведенные координаты Homogeneous Coordinates (x,y,z,w) вершин к обычным координатам путем деления x,y,z на w.

Window Coordinates (Screen Coordinates) — приведенные координаты рабочей области к координатам устройства.