pyopengl 在 glGenTextures 中出错
我遇到了这个问题:
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from OpenGL.GL import *
>>> glGenTextures
<OpenGL.lazywrapper.glGenTextures object at 0x9d3b18c>
>>> glGenTextures(1)
Segmentation fault
我在使用Ubuntu 10.04 LTS系统。
这可能是什么问题呢?我可以在哪里找到更多信息?
2 个回答
0
在调用 gl.glGenTextures 之前,需要先创建一个 OpenGL 上下文。
示例代码:
import OpenGL.GLUT as glut
import OpenGL.GL as gl
# Init glut
glut.glutInit(())
glut.glutInitDisplayMode(
glut.GLUT_RGBA | glut.GLUT_DOUBLE | glut.GLUT_ALPHA | glut.GLUT_DEPTH | glut.GLUT_MULTISAMPLE
)
glut.glutInitWindowSize(40, 40)
glut.glutInitWindowPosition(0, 0)
window = glut.glutCreateWindow("title_of_the_window")
# Generate Texture Names
gl.glGenTextures(1)
3
在调用任何OpenGL函数之前,你需要先激活一个上下文。此外,glGenTextures
这个函数需要两个参数,所以pyopengl并不是直接调用它。你需要查看pyopengl的源代码,才能准确了解哪里出问题了,但首先创建一个上下文肯定是解决问题的一部分。