尝试在虚拟机上运行this gl gear code会导致以下堆栈跟踪:
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x92e18b0
OpenGL Warning: Retry with 0xd4 returned 1 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x92e18b0
OpenGL Warning: Retry with 0xd4 returned 1 visuals
Traceback (most recent call last):
File "gears.py", line 264, in <module>
init()
File "gears.py", line 234, in init
glEndList()
File "errorchecker.pyx", line 50, in OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError (src/errorchecker.c:1050)
OpenGL.error.GLError: GLError(
err = 1280,
description = 'invalid enumerant',
baseOperation = glEndList,
cArguments = ()
)
但是相同的代码在我的桌面上运行良好 - 两台机器运行相同版本的pyOpenGL,所有软件包安装应该是相同的。但是,底层操作系统是虚拟机上的Fedora 12和桌面上的Fedora 16。
是什么导致这种情况?
按照要求回答:
$ glxinfo | grep OpenGL
OpenGL vendor string: Humper
OpenGL renderer string: Chromium
OpenGL version string: 2.1 Chromium 1.9
OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
OpenGL extensions:
答案 0 :(得分:1)
在我看来,你运行的OpenGL版本低于1.2。检查您正在运行的OpenGL版本。