31 авг. 2012 г.

RenderMan - первые шаги (meShaderEd)

Постоянные читатели блога наверное заметили комментарии в предыдущем посте.
Эти комментарии заставили многое переосмыслить и написать новый пост.

Для тех кто не в курсе...
Мне пришло сообщение от mesh (к сожалению не знаю имени), талантливый программист из Киева. Он основательно переработал несколько редакторов шейдеров, главной основой был ShaderLink.

Итог - meShaderEd

Цель которую преследовал автор - создать инструмент не мене удобный чем Slim (Pixar)
Я не могу сравнить то что получилось и Slim, но по сравнению с ShaderLink, эта программа - буквально прорыв!

28 авг. 2012 г.

RenderMan - первые шаги (делаем шейдер)

Попробуем создать шейдер средствами ShaderLink и использовать этот шейдер в дальнейшей работе, применив к связке Blender + 3DLight

Поехали:

RenderMan - первые шаги (ShaderLink)

Ниже я жаловался на нехватку редактора шейдеров.
Поскольку тяжелая артиллерия пока не подоспела, я не могу использовать Slim.
Попробовал установить что-то из альтернативных редакторов. Надо сказать, что пробовал делать это много раз намного ранее, но каждый раз что-то не работало.
Сегодня заработало и дома и в офисе.

Приветствуем!



Для тех кому это интересно инструкция:

27 авг. 2012 г.

RenderMan - первые шаги (первые эксперименты с шейдингом)

Пока ожидаем окончание рендера Crazy Balls, пытаемся освоить рендермановский пэйплайн со связкой Blender+3DLight (автор связки Matt Ebb).
Много становится ясным и многое радует, в итоге получается нечто такое:


А теперь сеточку в студию:


RenderMan имеет кучу встроенных алгоритмов, создающих геометрию и детализацию. Благодоря этому вся детализация происходит на уровне рендера, на вход подается чуть ли не лоуполли...
Вся сцена весит 2МБ и это не предел, еще есть что урезать. Сетка подразбивается ровно на столько поликов, на сколько нужно, чтобы скрыть заломы. В зависимости от расстояния камеры, количество поликов меняется!
Астероиды описаны как примитив "сфера", и вообще не имеют поликов на входе, во время рендера сфера разбивается на дополнительные полики, применяется дисплейс, который описан в шейдере. То есть шейдер это не просто "затенитель", а мощный инструмент для создания сложной, высокодетализированнной геометрии.

RenderMan не только делает красивую картинку, он экономит кучу времени на упрощенном подходе к созданию сцены. Это весьма эффективно с точки зрения организации промышленной цепочки.

Скорость визуализации тоже радует. Бесплатная версия 3Dlight ограничивает возможности рендера двумя ядрами. На двух ядрах эта картинка посчиталась за 12 минут. Соответственно на сервере с 24-мя ядрами, было бы примерно 60 секунд. Время на загрузку сцены - крохи.

Пока очень недостает редактора шейдеров вроде Slim. Приходится ограничиваться штатным набором шейдеров. Хотелось бы многое добавить на этой картинке, но пока не все ясно. Разбираемся дальше...

25 авг. 2012 г.

Бородино - УРА! .... ????

Сегодня (в пятницу) сдали проект над которым трудились более полугода.



RenderMan - первые шаги (боремся за Point Cloud)

Сегодня проблема, о которой я писал ниже, была полностью решена. Как НЕ профессиональный программист, я уверен, что есть решения более мудрые, однако я поступил очень просто и это работает. (Если вы умнее, пишите коменты...)
Если вам интересно, как адаптировать pointcloud под windows, то:
  • топаем в директорию плагина
  • ищем там файл export.py
  • открываем его на редактирование (рекомендую Notepad++) и топаем к строке №918
  • Заменяем
    relpath = os.path.relpath( rpass.paths["gi_ptc_bake_path"], start=rpass.paths["export_dir"] )
    на
    #relpath = os.path.relpath( rpass.paths["gi_ptc_bake_path"], start=rpass.paths["export_dir"] )
    relpath = os.path.normpath( rpass.paths["gi_ptc_bake_path"] )
    relpath = relpath.replace("\\", "\\\\")
Сохраняем, перезагружаем Блендер, и радуемся правильной работе pointcloud
Напоминаю - это исправление нужно только для счастливых обладателей Windows, к Linux или MAC это не относиться.

P.S.
Для тех кто что-то пропустил. Речь идет о доработке плагина от Matt Ebb, позволяющего в Блендере использовать стандарт рендера от Pixar. В частном случае рассматриваем конкурентов Pixar - 3DLight.
Я пока не определился у кого будем покупать лицензии, тестируем, выбираем самое интересное. Ждем от "JC Systems Integration" (с которыми давно не просто дружим, а активно работаем), пиксаровской триалки. Наши партнеры - ЕДИНСТВЕННЫЕ представители Pixar на территории СНГ (Russia and CIS) и мы надеемся прикоснуться к великому через их помощь )))

23 авг. 2012 г.

RenderMan - первые шаги (Пытаемся применить к рабочим файлам)


Кусочек сцены из райда про машинки. Затащил его в 3D Light, через связку с блендером, написанную Matt Ebb.
По началу вообще ничего не получалось, потом выяснилось, что Matt писал все под Mac или linux и основная проблема под windows заключаетя в несоответсвии путей.
Решить проблему полность не удалось, но удалось найти обходные пути.
В результате все заработало.
Довольно просто сцена адаптируется под новый рендер. В результате получаем кучу гибкости, супер скорость и супер качество.
На этой картинке простой обыватель не заметит супер качетсва, но я отчетливо вижу развитие темы.

Если помогут партнеры, то в ближайшее время буду тоже саме тестить уже на родном RenderMan. Уверен - отличия будут в лучшую сторону.