用于离线批量渲染多个模型的3D渲染引擎+;纹理贴图?

用于离线批量渲染多个模型的3D渲染引擎+;纹理贴图?,3d,3d-modelling,3d-rendering,3d,3d Modelling,3d Rendering,我正在设计一个项目,该项目将使用许多PNG文件,这些文件必须从三维服装模型中渲染出来(我们还没有雇用任何人来创建模型)。我们有各种纹理贴图(不同类型和颜色的布料等),将与模型一起使用(每个模型可以使用不同的纹理渲染多次)。在未来,我们将添加和更改模型和纹理贴图,并且需要能够根据需要自动重新渲染PNG 因此,我们正在寻找: 可以从命令行运行的独立三维渲染引擎。它必须接受我们可以用自定义脚本轻松生成的输入格式 一个3D渲染库,可以与流行的编程语言(如Java或Ruby)进行互操作,并可以加载流行建模

我正在设计一个项目,该项目将使用许多PNG文件,这些文件必须从三维服装模型中渲染出来(我们还没有雇用任何人来创建模型)。我们有各种纹理贴图(不同类型和颜色的布料等),将与模型一起使用(每个模型可以使用不同的纹理渲染多次)。在未来,我们将添加和更改模型和纹理贴图,并且需要能够根据需要自动重新渲染PNG

因此,我们正在寻找:

  • 可以从命令行运行的独立三维渲染引擎。它必须接受我们可以用自定义脚本轻松生成的输入格式

  • 一个3D渲染库,可以与流行的编程语言(如Java或Ruby)进行互操作,并可以加载流行建模文件格式的3D模型

  • 我们正在看亚法里(http://www.yafaray.org),它可以从命令行运行,并将XML场景描述作为输入,但我相信可能有更好的选择。你能客观地列出你所知道的各种选择的利弊吗

    离线三维渲染引擎

    Makehuman使用多种方法。你可能想看看

    你能客观地列出你所知道的各种选择的利弊吗

    不,不清楚你在设计什么样的项目

    此时,我怀疑您正在尝试从头开始创建自定义渲染场,如果我说得对,正确的解决方案是使用现有软件-maya/3dsmax具有一些渲染场支持,并且应该可以创建基于混合器的渲染场。从这些包中,maya肯定有脚本支持(我认为是MEL/python),blender的大部分是用python编写的

    若您想要GL样式的渲染器,那个么提供的库“大部分”与OpenGL兼容,但在CPU上工作时不需要图形加速。这意味着您应该能够在不创建窗口的情况下使用它进行渲染。因为它在CPU上渲染所有内容,所以比在GPU上加速渲染要慢得多

    还有提供DirectX风格api的软件渲染器。我自己没用过这个

    这取决于你的项目。如果要使用环境光遮挡、光能传递或光子跟踪渲染某些三维模型,则需要使用诸如blender/maya/3dsmax等成熟软件渲染的渲染场。若您只是想脱机渲染模型,那个么您可以在午休时间使用Mesa3D或标准OpenGL来拼凑简单的解决方案。如果我没记错的话,povray很适合布尔形状,也就是构造性实心几何体(布尔形状很难使用对三角形进行操作的库来实现,但在光线跟踪器中很简单)

    离线三维渲染引擎

    Makehuman使用多种方法。你可能想看看

    你能客观地列出你所知道的各种选择的利弊吗

    不,不清楚你在设计什么样的项目

    此时,我怀疑您正在尝试从头开始创建自定义渲染场,如果我说得对,正确的解决方案是使用现有软件-maya/3dsmax具有一些渲染场支持,并且应该可以创建基于混合器的渲染场。从这些包中,maya肯定有脚本支持(我认为是MEL/python),blender的大部分是用python编写的

    若您想要GL样式的渲染器,那个么提供的库“大部分”与OpenGL兼容,但在CPU上工作时不需要图形加速。这意味着您应该能够在不创建窗口的情况下使用它进行渲染。因为它在CPU上渲染所有内容,所以比在GPU上加速渲染要慢得多

    还有提供DirectX风格api的软件渲染器。我自己没用过这个


    这取决于你的项目。如果要使用环境光遮挡、光能传递或光子跟踪渲染某些三维模型,则需要使用诸如blender/maya/3dsmax等成熟软件渲染的渲染场。若您只是想脱机渲染模型,那个么您可以在午休时间使用Mesa3D或标准OpenGL来拼凑简单的解决方案。如果我没记错的话,povray很适合布尔形状,也就是构造性实心几何体(布尔形状很难使用在三角形上操作的库来实现,但在光线跟踪器中很简单)。

    谢谢你的回答,+1!我编辑了这个问题,以提供更多关于我们正在做什么的细节。3D模型是不同类型的衣服,纹理贴图是不同类型和颜色的布料。我们没有制作渲染场——我们只需要在软件中使用这些PNG,将来可能会多次更改模型,因此我们无法每次手动重新渲染所有图像。@Alex D:如果不需要高级着色,您可以使用几乎任何您想要的东西(甚至可以在java applet/flash对象中实时渲染)。如果需要复杂的材质,则必须忘记Mesa3D,因为它使用着色器非常慢。简言之,我会获取并使用任何可以获得的CLI渲染器(povray/yafaray)。我认为不会有问题,但你必须将场景转换为渲染器可以理解的格式。我们将雇佣一名专业建模师来创建模型文件。不过,我必须设置渲染器。你对Yafaray vs.Povray的利弊有何评论?@AlexD:“你对Yafaray vs.Povray的利弊有何评论?”,没有,因为我通常会编程实时3d图形。然而,有一个(见最后一篇文章)似乎解决了你的问题。正如我所说,(对我)到目前为止,你的项目听起来并不特别,你应该能够使用几乎任何东西。谢谢,所有这些信息都非常有用!我接受你的回答。谢谢你的回答,+1!我将问题编辑为