Theory/TransformationsAndAttributes

Rib 

Команды трансформаций и атрибутов


Рассмотрим следующий пример:


Результат рендеринга:


Первичной системой координат в RenderMan'е является система координат, связанная с камерой. До начала блока WorldBegin, мы работаем именно в этой системе координат (т.е. она является текущей). В пакетах трехмерного моделирования, таких как Maya и Houdini, базовой, наоборот, является мировая система координат, и уже относительно нее задается положение камеры. Хотя с точки зрения внутренней механики они, подобно RenderMan'у, перед выводом изображения на экран, переводят геометрию в систему координат камеры, не стоит забывать об этом принципиальном отличии.


В данном уроке будут рассмотрены два типа команд: команды трансформаций (transformations) и команды задания атрибутов (attributes). Команда переноса Translate – одна из четырех команд трансформаций. Остальные три: поворот Rotate, масштабирование Scale и скос Scew. Об их назначении будет рассказано ниже, а пока остановимся на команде переноса:



Ее действие заключается в следующем:

  • создается копия системы координат камеры;
  • она переносится на 3 единицы вдоль оси z исходной «камерной» системы координат.

Когда рендерер входит в блок WorldBegin смещенная система координат становится текущей и отныне именуется «мировой» («world»).


Команды трансформации аддитивны, т.е.



эквивалентно


.


В отличие от команд трансфоримаций команды атрибутов перекрывают друг друга. Так выполнение команд



даст синий, а не лиловый цвет. Компоненты RGB цвета принимают значения от 0.0 до 1.0. В отличие от Maya в RenderMan'e геометрия может быть растеризована без указания материала.


Другим атрибутом, не зависящим от материала, является Opacity, задающая прозрачность объекта.


Источники

1. Оригинальная статья Transformation & attribute basics. на www.fundza.com: http://fundza.com/rib/example2/example2.html