【问题标题】:Simplest way to render a 3D scene to an image file将 3D 场景渲染到图像文件的最简单方法
【发布时间】:2013-06-23 20:41:18
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python 3d mesh


    【解决方案1】:

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

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

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

    【讨论】:

    • Blender 确实是一种矫枉过正。另一方面,OpenGLContext 是一个好主意。我自己应该想到的!我会试试看它是否有效。
    • 好的,我设法正确显示它。现在我需要将生成的图像保存到文件中。
    • 好极了,OpenGLContext 类已经 有一个 OnSaveImage 函数,可以将渲染的图像保存到文件中。这行得通!谢谢!
    • 很高兴听到它并很高兴能提供帮助。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      相关资源
      最近更新 更多