Ay, XXX [название удалено по понятным причинам - Автор.], продукт отечественного трехмерного софтостроен ия! На совести вашего криво написанного деинсталлятора - все мои картинки, исходники к ним, равно как и все остальное содержимое моего славного боевого друга и товарища - диска С! Надеюсь, в славном 199х-ом году вам славно поикалось.
Первый Renderman-cosMecTHMb^ был потом, и был это - BMRT. Но это уже - современная история: с Интернетом, Амазоном, Пентиумами и ньюсгруппами.
Впрочем, я немного увлекся. Точнее: отвлекся…
Другие RIB’bi
Отметим, что у RIB'ob представление бывает не только текстовое, но и бинарное (оптимизированное для быстрой загрузки рендерером) и упакованное (оптимизированное для уменьшения занимаемого дискового пространства - используется библиотека упаковки GZIP). Объединенного бинарно-упакованного представления нет, но его несложно сымитировать при помощи той же самой командной строки:
catrib -binary test2.rib I gzip -cq9 > test2.gbin
Слева направо: программа catrib (из поставки Pixar Renderman Pro Server) переводит файл test2.rib в бинарный формат и результат передает в программу gzip (вам придется скачать ее из Интернета), которая упаковывает ее и передает дальше, в файл test2.gbin.
Чтобы теперь отрендерить файл test2.gbin, развернем цепочку программ в другом направлении:
gzip -cd test2.gbin | prman
Что и требовалось доказать.
Для продвинутых. Я вам по секрету скажу - на самом деле можно делать и так: prman test2.gbin
prman , а также некоторые другие рендереры, понимают такие файлы и отлично с ними работают.
shader.exe
Вернемся к нашему шарику. Переименовываем файл в test3.rib и вносим небольшие изменения - убираем строку, определяющую материал (Surface “plastic”):
Display “RenderMan” “framebuffer” “rgb”
Format 256 192 1 ShadingRate 1 Translate 0 0 2.7650300856 WorldBegin Transform Begin LightSource “ambientlight” 500
“lightcolor" [0.051 0.051 0.051]
LightSource “distantlight” 501 “from” [1 1.5 -1] “to” [0 0 0]
LightSource "distantlight” 502 "lightcolor” [0.2 0.2 0.2]
“from” [-1.3 -1.2 -1.0] “to” [0 0 0]
TransformEnd Sphere 1 -1 1 360 WorldEnd
Различия в файле минимальны, но зато какое различие в результате:
В отличие от некоторых других рендереров, у prman есть понятие “шейдера по умолчанию” (этот шейдер хранится в файле с характерным названием defaultsurface.sl; у некоторых рендереров этот материал встроен в код рендерера - “захардкожен”; аналогом из мира MAYA является lam-bertl, назначаемый на все вновь создаваемые объекты). Даже если вы не назначили материал на свою геометрию, она все равно отрендерится с использованием материала по умолчанию.
Для продвинутых. В лучших FX-домах иногда в качестве шейдера по умолчанию устанавливают закраску модели красным цветом. Таким образом, при первом же тестовом рендеринге будет сразу видно, на какую из моделей вы забыли наложить материалы. Если геометрии в сцене действительно много - подобный трюк будет очень полезен.
Ранее в своих экспериментах мы использовали шейдеры Plastic и Stone. Вообще говоря, согласно спецификации стандарта, со всеми Renderman-совместимыми рендерерами должны поставляться следующие шейдеры (вы помните, что источники света в Renderman тоже определяются шейдерами):