Как я могу представить фотореалистичную 3D-сцену в памяти на JVM?
Вот мое проблемное пространство:
Визуализируйте 3D-сцену на JVM (мы используем Clojure) в изображение JPG/PNG.
- визуализация должна быть качественной и желательно фотореалистичной
- рендерер должен быть библиотекой в памяти или вызовом на основе оболочки, который очень быстро запускается (так как мы будем платить за это постоянное время запуска при каждом вызове)
- необходимо поддерживать растровую или векторную графику как 2D текстурную карту
- должен быть быстрым Очевидно, что качество рендеринга довольно субъективно, но мы пытаемся найти решение, где мы могли бы получить фотореалистичные изображения как можно быстрее.
- в идеале на базе процессора, но на основе графического процессора не может быть и речи
Что мы пробовали:
- вызывать POV-Ray CLI для каждого рендера в AWS EC2 c4.2xlarge box через веб-сервис Clojure
- наши 3D модели находятся в
mesh2
Синтаксис povray, преобразованный из Wavefront OBJ - мы используем radiosity для наших рендеров с довольно консервативными настройками. Традиционное освещение сцены с освещением было слишком медленным, и мы не могли получить тени так, как хотели (я, правда, совсем новичок в этом)
Мы также попробовали JMonkeyEngine и скриншоты как рендеры, но они были недостаточно высокого качества. Мы рассматриваем возможность взглянуть на Cycles. В целом, у меня недостаточно знаний о движках рендеринга (игр) высокого уровня, чтобы понять, применимы ли они, и я пока не смог собрать эту информацию в своих исследованиях.
мы надеемся выпустить рендеры 1-2s.