所以我最近开始使用PyOpenGL的GLUT模块,但在上面找不到任何简单的教程(任何链接都会很感谢),我只想用glutCreateWindow('window')创建一个glut窗口,但是一旦窗口弹出,它就消失了。我尝试在我的主函数中使用glutMainLoop(),但它只是给出了一个错误。
from OpenGL.GLU import *
from OpenGL.GL import *
glutInit()
def main():
glutCreateWindow('window')
glutMainLoop()
if __name__=='__main__':main()发布于 2021-04-26 01:20:02
必须设置glutDisplayFunc回调。glut主循环调用显示回调。
最小示例:
from OpenGL.GLUT import *
from OpenGL.GLU import *
from OpenGL.GL import *
glutInit()
def display():
glClearColor(1, 0, 0, 0) # red
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
# your rendering goes here
# [...]
glutSwapBuffers()
glutPostRedisplay()
def main():
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA)
glutCreateWindow('window')
glutDisplayFunc(display)
glutMainLoop()
if __name__=='__main__':
main()glutInitDisplayMode设置初始显示模式。glutSwapBuffers交换当前窗口ant的缓冲区,从而更新显示。glutPostRedisplay将当前窗口标记为重新显示,因此会导致显示连续重新绘制,这是动画所必需的。
https://stackoverflow.com/questions/67256146
复制相似问题