Python 将3D场景渲染为图像文件的最简单方法

Python 将3D场景渲染为图像文件的最简单方法,python,3d,mesh,Python,3d,Mesh,我有一个3D场景(基本上是一个带有一个大IndexedFaceSet的VRML文件)。我想将场景渲染一次到图像文件中。图像文件将作为用户的预览,用户将能够在3D查看器中打开场景(-这是一个很棒的库) 我知道预览所需的相机位置、方向和视野角度,以及照明 预览映像将在服务器上脱机准备。服务器上的所有其他内容都是用Python编写的,我不想在混合中引入其他语言 我尝试了Matplotlib,但不知道如何在那里执行适当的着色和照明。我不想在服务器上启动浏览器实例,让X3DOM来完成繁重的工作。我想我可以

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

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

预览映像将在服务器上脱机准备。服务器上的所有其他内容都是用Python编写的,我不想在混合中引入其他语言


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

您可以安装blender,导入并通过它进行渲染,但这可能有些过分

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


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

您看过OpenSceneGraph吗?它的目的是和C++一起使用,但我相信Python有可用的,尽管这些绑定的成熟度可能会有所不同(也就是说,它可能足够好地读取VRML和写入图像)。另一方面,OpenGLContext是一个好主意。我自己应该想到的!我会试试看它是否管用。这太尴尬了。。。好的,我设法正确地显示了它。现在我需要将生成的图像保存到一个文件中。非常好,OpenGLContext类已经有了一个OnSaveImage函数,可以将渲染图像保存到一个文件中。这管用!谢谢听到这个消息很高兴&很高兴能帮忙。