Blender Python 报告纹理大小限制错误

问题描述 投票:0回答:1

我尝试在不支持的 OpenGL 虚拟 Windows 机器上使用 Python 使用命令行渲染 Blender 4 场景,并抛出错误:

RuntimeError: Error: Error: Reported texture size limit (0px) is lower than output size (1024px).

我已经安装了 opengl32.dll。

引发错误的行:

bpy.context.scene.render.filepath = output_path
 
bpy.ops.render.render(write_still=True)

有人有建议吗?

python blender
1个回答
0
投票

您看到的错误消息表明 Blender 正在检测 0px 的纹理大小限制,这不足以渲染 1024px 的输出大小。这通常表明虚拟机上的 OpenGL 支持存在问题。

Blender 依赖支持 OpenGL 的 GPU 进行渲染,而虚拟机通常对 GPU 虚拟化的支持有限,尤其是在 3D 加速方面。这可能会导致 Blender 无法正确利用 GPU 进行渲染,这里似乎就是这种情况。

  1. 确保您的虚拟机的图形驱动程序是最新的。

  2. 启用3D加速

  3. 使用软件渲染。如果硬件加速 OpenGL 不可用,您可以尝试使用软件 OpenGL 光栅化器,例如 Mesa 的 llvmpipe。这将比使用真正的 GPU 慢得多,但可以解决虚拟机环境中的限制:

    • 您可以在启动Blender之前将环境变量LIBGL_ALWAYS_SOFTWARE设置为1以强制软件渲染。
    • 例如,在运行 Blender 之前的命令行中,您可以使用:
    set LIBGL_ALWAYS_SOFTWARE=1
    blender -b yourfile.blend -f 1
  1. Blender 有一个兼容模式,可以在没有完全 OpenGL 支持的系统上运行。您可以尝试在此模式下运行 Blender,看看是否可以绕过该问题。
  2. 如果以上选项均不起作用,您可以切换到基于 CPU 的渲染器,而不是基于 GPU 的渲染器(如果您的项目允许)。
  3. 如果您在虚拟机中始终遇到渲染问题,并且上述解决方案均不可行,请考虑将渲染任务卸载到具有完全支持的 GPU 的另一个系统:(
© www.soinside.com 2019 - 2024. All rights reserved.