2

我有一个 3D 场景(本质上是一个带有一个大 IndexedFaceSet 的 VRML 文件)。我想将场景渲染一次到图像文件中。图像文件将作为用户预览,然后用户将能够在 3D 查看器中打开场景(X3DOM- 这是一个很棒的库)。

我知道预览所需的相机位置、方向和视场角,以及照明。

预览图像将在服务器上离线准备。服务器上的所有其他内容都是用 Python 编写的,我不想在其中引入另一种语言。

我尝试了 Matplotlib,但无法弄清楚如何在那里执行正确的阴影和照明。我不想在服务器上启动浏览器实例并让 X3DOM 完成繁重的工作。我想我可以使用 PyOpenGL 渲染场景一次并将其保存到文件中,但我希望有更简单的方法。

4

2 回答 2

2

您可以通过它安装搅拌机,导入和渲染,但这可能是矫枉过正。

OpenGLContext 可能会提供您需要的一切:pyOpenGL它似乎有很好的文档记录和合理的使用,并且似乎支持 VRML 的导入。

如果您需要更高的分辨率,那么您可以使用YaFaRay,但我发现很难查看是否直接支持 VRML 导入。

于 2013-06-26T18:38:45.723 回答
1

你看过 OpenSceneGraph 吗?它旨在与 c++ 一起使用,但我相信有可用于 Python 的3rd 方绑定,尽管这些绑定的成熟度可能会有所不同(也就是说它可能足以读取 VRML 并写入图像)。

于 2013-06-26T19:53:30.340 回答