Спецификация интерфейса 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. язык затенения.
Дополнительные расширенные возможности
Кроме того, средство визуализации может реализовать любую из следующих дополнительных возможностей:
- Местные источники света
- Глубина резкости
- Отображение смещения
- Отображение окружающей среды
- Глобальное освещение
- Уровень детализации
- Размытость
- Специальные проекции камеры
- Спектральные цвета
- трассировка лучей
- Твердотельное моделирование
- Растушевка объема
Экспортеры
- Для 3D Studio Max: 3Delight для 3ds Max по исследованиям ДНК
- Для Блендер: Мозаика (Открытый исходный код )
- Для Гудини: встроенная поддержка. Однако вся поддержка сторонних средств визуализации (включая RenderMan) отключена при использовании вариантов лицензирования Apprentice или Apprentice HD.
- Для Световая волна:
- Светлый человек Тим Даппер
- Light-R Фелипе Эскивель (бесплатно)
- Для майя:
- 3Delight для Maya
- Жидкость (Открытый исходный код )
- MayaMan автор: AnimalLogic
- RenderMan для Maya от Pixar
- Для Softimage:
- 3Delight для Softimage
- Affogato от Восходящее Солнце (Открытый исходный код )
- XSIMan от Graphic Primitives
инструменты
- RenderMan Studio
- RIBKit (Открытый исходный код, различные инструменты RenderMan, например инструмент построения визуальных шейдеров под названием SLer)
- RIBShrink и RIBDepends (инструменты, поставляемые с 3Delight. Сжимайте RIB, чтобы занимать меньше места на диске, и перемещайте RIB с зависимостями в новое место и / или локализуйте зависимости)
- ShaderMan.Next (Открытый исходный код, бесплатный инструмент для построения шейдеров. Переписывание ShaderMan )
Языковые привязки
- Комплект компьютерной графики Python для Python
- RubyMan для Рубин
- G&RT для Lua
- RiGO для Идти
- Сценарии tcl
дальнейшее чтение
- Аподака, Энтони А.; Ларри Гриц; Ронен Барзель (1999). Advanced RenderMan: создание CGI для движущихся изображений. Сан-Франциско: Издательство Морган Кауфманн. ISBN 1-55860-618-1. OCLC 42621055.
- Эберт, Дэвид С.; Ф. Кентон Масгрейв; Дарвин Пичи; Кен Перлин; Стивен Уорли (2003). Текстурирование и моделирование: процедурный подход, 3-е изд.. Берлингтон, Массачусетс: Издательство Морган Кауфманн. ISBN 1-55860-848-6. OCLC 52689816.
- Рагхавачари, Сати (2005). Рендеринг для начинающих: синтез изображений с помощью RenderMan. Берлингтон, Массачусетс: Focal Press. ISBN 0-240-51935-3. OCLC 57670361.
- Стивенсон, Ян (2002). Essential RenderMan Fast. Лондон, Нью-Йорк: Springer. ISBN 1-85233-608-0. OCLC 50494960.
- Апстилль, Стив (1990). The RenderMan Companion: Руководство программиста по реалистичной компьютерной графике. Чтение, Масса: Эддисон-Уэсли. ISBN 0-201-50868-0. OCLC 19741379.
- Кортес, Руди; Сати Рагхавачари (2007). Руководство по языку шейдинга RenderMan. Курс Технологии PTR. ISBN 1-59863-286-8.
Смотрите также
использованная литература
- ^ «RenderMan - Уголок разработчика - Спецификация RI». Архивировано из оригинал на 2009-05-16. Получено 2009-06-12.
внешние ссылки
- Технические характеристики Pixar RI - официальные характеристики.
- Репозиторий RenderMan
- Справочники и руководства по компьютерной графике профессора Малькольма Кессона
- Заметки RenderMan (примечания по написанию шейдеров)
- Язык шейдеров RenderMan Доминик Сусмель
- Рендеринг для начинающих RIB файлы и шейдеры из книги