2009-08-13 75 views
2

对于计算机游戏的水平生成器,我需要一种以编程方式渲染3D场景的方法。更确切地说,我并不是指像OpenGL或Direct3D这样的3D-API,场景不应该在游戏运行时渲染,而是场景应该脱机渲染供以后使用。以编程方式预渲染3D场景

我知道RenderMan,但如果有其他选择,我会感兴趣。关于RenderMan,这是一个适合此目的的合适工具吗?

可以使用COLLADA来描述3D场景并将其渲染到渲染器中吗?

感谢 约翰内斯

回答

3

你有很多的选择。这里有三:

+2

POVray可能是生成场景的最佳选择,因为它适用于场景描述的简单文本文件。 – 2009-08-13 11:24:35

+0

但是,文本文件是用于设计要渲染的场景的用户不太友好的方式。 – Skizz 2009-08-13 12:46:54

1

所以,是的,离线渲染图像是什么的RenderMan是。暴雪是一家游戏公司的例子,它使用它的目的。是的,你也可以导出到另一种场景格式,如COLLADA,并使用不同的渲染器。有创作一个场景然后渲染它的问题。渲染器可以对场景文件进行操作,这些文件可能是ascii格式的,当然你不想手动编写。也许你是从游戏引擎或关卡编辑器导出场景?否则,您会希望在Maya,Houdini,Max,Sketchup,Blender等建模/动画软件包中创建它们。这些软件包具有各种插件导出器和渲染器。术语RenderMan用于指像COLLADA这样的场景描述规范,它也可以专指皮克斯的渲染器,该渲染器接受RenderMan格式。其他几个渲染器也接受RenderMan格式,有些甚至是免费的,比如Pixie。选择建模包和渲染器取决于您的预算和要求...

0

这是我的猜测。如果您的离线渲染意味着要获得实时渲染难以实现的特性,尤其是在游戏模式下,如次表面散射,软阴影,抗锯齿,更重的计算过滤以及全球照明,你可以选择Skizz和Tim的建议。我也会推荐pbrt

但是,这一切都取决于什么样的背景和你喜欢做什么。诸如你如何处理并获取导入到渲染器的3D对象和环境?你的底纹脚本/语言是什么?你需要什么样的渲染结果?一些背景图片?或者嵌入了GI的几个渲染高质量纹理?