Спецификация интерфейса RenderMan - RenderMan Interface Specification

В Спецификация интерфейса RenderMan,[1] или RISpec короче говоря, это открытый API разработан Студия Pixar Animation описывать трехмерные сцены и превращать их в цифровые фотореалистичный картинки. Он включает RenderMan Shading Language.

Как техническая спецификация Pixar для стандарта протокол связи (или интерфейс ) между программами моделирования и программами рендеринга, способными создавать изображения фотореалистичного качества, концепция RISpec аналогична PostScript но для описания 3D сцены а не двухмерные макеты страниц. Таким образом, программы моделирования, которые понимают протокол интерфейса RenderMan, могут отправлять данные в программное обеспечение для рендеринга, которое реализует интерфейс RenderMan, не заботясь о том, что рендеринг алгоритмы используются последними.

Интерфейс был впервые опубликован в 1988 г. (версия 3.0) и был разработан таким образом, чтобы на будущее чтобы охватить достижения в области технологий в течение значительного количества лет. Текущая версия - 3.2.1, выпущенная в ноябре 2005 года.

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

В Язык затенения RenderMan позволяет определения материалов из поверхности можно описать не только путем настройки небольшого набора параметров, но и произвольно сложным образом с помощью C -подобный язык программирования писать затенение процедуры, широко известные как процедурные текстуры и шейдеры. Освещение и смещения на поверхности также можно программировать с помощью языка затенения. Язык штриховки позволяет выполнять каждый оператор в SIMD манера, но не настаивает на этом. Еще одна функция, которая устанавливает средства визуализации на основе RISpec, помимо многих других средств визуализации, - это возможность выводить произвольные переменные в виде изображения: нормали поверхности, отдельные проходы освещения и многое другое может быть выведено из средства визуализации за один проход.

RenderMan имеет много общего с OpenGL (разработан ныне несуществующей Силиконовая Графика ), несмотря на то, что два API ориентированы на разные группы пользователей (OpenGL для аппаратного рендеринга в реальном времени и RenderMan для фотореалистичного автономного рендеринга). Оба API имеют форму конечного автомата на основе стека с (концептуально) немедленным отображением геометрических примитивов. Возможно реализовать любой API с точки зрения другого.

Необходимые возможности

Чтобы средство визуализации называлось «совместимым с RenderMan», оно должно реализовывать как минимум следующие возможности:

  • Полное иерархическое графическое состояние, включая стеки атрибутов и преобразований, а также список активных источников света.
  • Орфографический и перспектива просмотр трансформаций.
  • На основе глубины скрытая поверхность устранение.
  • Пиксельная фильтрация и пространственное сглаживание.
  • Гамма-коррекция и дизеринг перед квантование.
  • Вывод изображений, содержащих любую комбинацию цветов RGB, A и Z. Разрешение этих файлов должно быть таким, как указано пользователем.
  • Все из геометрические примитивы описаны в спецификации, и предоставляют все стандартные примитивные переменные, применимые к каждому примитиву.
  • Возможность выполнять расчеты затенения с помощью настраиваемого пользователем затенения.
  • Возможность индексировать карты текстур, карты окружения и карты глубины тени
  • Пятнадцать стандартных шейдеров источника света, поверхности, объема, смещения и формирования изображения, требуемые спецификацией. Любые дополнительные шейдеры и любые отклонения от стандартных шейдеров, представленных в этой спецификации, должны быть задокументированы путем предоставления эквивалентного шейдера, выраженного в RenderMan. язык затенения.

Дополнительные расширенные возможности

Кроме того, средство визуализации может реализовать любую из следующих дополнительных возможностей:

Экспортеры

инструменты

Языковые привязки

дальнейшее чтение

Смотрите также

использованная литература

  1. ^ «RenderMan - Уголок разработчика - Спецификация RI». Архивировано из оригинал на 2009-05-16. Получено 2009-06-12.

внешние ссылки