我尝试在不支持的 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)
有人有建议吗?
您看到的错误消息表明 Blender 正在检测 0px 的纹理大小限制,这不足以渲染 1024px 的输出大小。这通常表明虚拟机上的 OpenGL 支持存在问题。
Blender 依赖支持 OpenGL 的 GPU 进行渲染,而虚拟机通常对 GPU 虚拟化的支持有限,尤其是在 3D 加速方面。这可能会导致 Blender 无法正确利用 GPU 进行渲染,这里似乎就是这种情况。
确保您的虚拟机的图形驱动程序是最新的。
启用3D加速
使用软件渲染。如果硬件加速 OpenGL 不可用,您可以尝试使用软件 OpenGL 光栅化器,例如 Mesa 的 llvmpipe。这将比使用真正的 GPU 慢得多,但可以解决虚拟机环境中的限制:
set LIBGL_ALWAYS_SOFTWARE=1
blender -b yourfile.blend -f 1