1 问题
在Ubuntu上推理SMPLer-X:https://github.com/caizhongang/SMPLer-X项目,在使用PyRender库进行离屏渲染,选择egl作为渲染后端
os.environ["PYOPENGL_PLATFORM"] = "egl"
时出现了以下错误,
OpenGL.error.GLError: GLError(
err = 12297,
baseOperation = eglCreateContext,
cArguments = (
<OpenGL._opaque.EGLDisplay_pointer object at 0x7f987255a240>,
<OpenGL._opaque.EGLConfig_pointer object at 0x7f987255a2c0>,
<OpenGL._opaque.EGLContext_pointer object at 0x7f98725947c0>,
<OpenGL.arrays.lists.c_int_Array_7 object at 0x7f9877091040>,
),
result = <OpenGL._opaque.EGLContext_pointer object at 0x7f987255a4c0>
)
2 解决方法
以下两种方法可以先试第一种方法,再试第二种方法。
2.1 增加MESA_GL_VERSION_OVERRIDE=4.1
参考issue:https://github.com/mmatl/pyrender/issues/86 中提到的解决方法。
在Ubuntu系统中默认的OpenGL版本为3.3,但是PyRender希望使用OpenGL 4.4。所以需要再运行代码前增加
MESA_GL_VERSION_OVERRIDE=4.1
比如
MESA_GL_VERSION_OVERRIDE=4.1 python inference.py
2.2 修改GL_MAX_SAMPLE
进入conda虚拟环境中PyRender的安装文件夹,找到pyrender/pyrender/renderer.py
,将1091行的
glRenderbufferStorageMultisample(
GL_RENDERBUFFER, 4, GL_RGBA,
self.viewport_width, self.viewport_height
)
修改为
glRenderbufferStorageMultisample(
GL_RENDERBUFFER, 1, GL_RGBA,
self.viewport_width, self.viewport_height
)
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:PyRender使用EGL进行离屏渲染出现GLError 12297错误的问题
原文链接:https://www.stubbornhuang.com/3097/
发布于:2024年10月17日 20:50:35
修改于:2024年10月17日 20:50:35
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
50