Механизм 3D-рендеринга для автономного пакетного рендеринга многих моделей + карты текстур?

Я разрабатываю проект, в котором будет использоваться множество файлов PNG, которые должны быть визуализированы из 3D-моделей одежды (нам еще предстоит нанять кого-то для создания моделей). У нас есть множество текстурных карт (различные типы и цвета ткани и т. д.), которые будут использоваться с моделями (каждая модель может быть отрисована много раз с разными текстурами). В будущем мы добавим и изменим как модели, так и карты текстур, и нам потребуется возможность автоматического повторного рендеринга PNG по запросу.

Итак, мы ищем либо:

  1. Автономный движок 3D-рендеринга, который можно запустить из командной строки. Он должен принимать формат ввода, который мы можем легко сгенерировать с помощью пользовательского скрипта.

  2. Библиотека 3D-рендеринга, которая может взаимодействовать с популярными языками программирования, такими как Java или Ruby, и которая может загружать 3D-модели в популярных форматах файлов моделирования.

Мы смотрим на Yafaray (http://www.yafaray.org), который можно запустить из командной строки и который принимает описание сцены в формате XML в качестве входных данных, но я уверен, что могут быть варианты и получше. Можете ли вы дать объективную разбивку плюсов и минусов известных вам вариантов?


person Alex D    schedule 27.02.2012    source источник


Ответы (1)


Механизм 3D-рендеринга для оффлайн

Makehuman использует несколько внешних средств визуализации. Возможно, вы захотите проверить их.

Можете ли вы дать объективную разбивку плюсов и минусов известных вам вариантов?

Нет. Непонятно, какой проект вы разрабатываете.

На данный момент я подозреваю, что вы пытаетесь создать собственную ферму рендеринга с нуля, и, если я прав, правильным решением будет использование существующего программного обеспечения — у Maya/3dsmax была некоторая поддержка фермы рендеринга, и должна быть возможность сделать ферму рендеринга на основе блендера. Из этих пакетов у Maya определенно была поддержка сценариев (я думаю, MEL/python), и большая часть блендера написана на python.

Если вам нужен визуализатор в стиле GL, то Mesa3D предоставляет библиотеку, которая "в основном" совместима с OpenGL, но работает на процессоре. без графического ускорения. Это означает, что вы сможете использовать его для закадрового рендеринга без создания окна. Поскольку он обрабатывает все на ЦП, он будет намного медленнее, чем ускоренный рендеринг на графическом процессоре.

Существует также программный рендерер Pixomatic, предоставляющий API в стиле DirectX. Сам не пользовался этим.

Это зависит от вашего проекта. Если вы хотите отрендерить какую-то 3D-модель с фоновой окклюзией, радиосити или трассировкой фотонов, вам понадобится рендер-ферма с полноценным программным рендерингом, таким как blender/maya/3dsmax. Если вы просто хотите визуализировать модель в автономном режиме, вы можете собрать простое решение, используя Mesa3D или стандартный OpenGL во время обеденного перерыва. Если я правильно помню, povray был хорош для булевых форм, также известных как конструктивная сплошная геометрия (булевы формы сложно реализовать с помощью библиотек, которые работают с треугольниками, но в трассировщике лучей они тривиальны).

person SigTerm    schedule 27.02.2012
comment
Спасибо за ответ, +1! Я отредактировал вопрос, чтобы дать более подробную информацию о том, что мы делаем. На 3D-моделях разные виды одежды, на текстурных картах разные виды и цвета ткани. Мы не делаем ферму рендеринга — нам просто нужно использовать эти PNG в нашем программном обеспечении, и мы можем менять модели много раз в будущем, поэтому мы не можем каждый раз вручную повторно рендерить все изображения. - person Alex D; 27.02.2012
comment
@Alex D: Если вам не нужно расширенное затенение, вы можете использовать практически все, что захотите (возможно, даже визуализировать его в реальном времени в java-апплете / флэш-объекте). Если вам нужны сложные материалы, вам придется забыть о Mesa3D, так как он очень медленный с шейдерами. Короче говоря, я бы взял любой рендерер CLI (povray/yafaray), который я могу получить, и использую его. Я не думаю, что будут проблемы, но вам придется конвертировать сцену в формат, понятный рендереру. - person SigTerm; 27.02.2012
comment
Мы собираемся нанять профессионального моделиста для создания файлов модели. Однако мне придется настроить рендерер. Есть ли у вас какие-либо комментарии по поводу плюсов и минусов Yafaray и Povray? - person Alex D; 27.02.2012
comment
@AlexD: Есть ли у вас какие-либо комментарии о плюсах и минусах Yafaray по сравнению с Povray? Нет, потому что я обычно программирую 3D-графику в реальном времени. однако есть это обсуждение (см. последний пост), который, похоже, отвечает на ваш вопрос. Как я уже сказал, (для меня) пока что ваш проект не кажется чем-то необычным, и вы должны быть в состоянии использовать почти что угодно. - person SigTerm; 28.02.2012
comment
Спасибо, вся эта информация была очень полезной! Я принимаю ваш ответ. - person Alex D; 28.02.2012