0
点赞
收藏
分享

微信扫一扫

opengllearning 简单实例

以下是一个简单的示例代码,展示了如何使用OpenGL库(PyOpenGL)在Python中创建一个窗口,并绘制一个简单的三角形。


import OpenGL.GL as gl
import OpenGL.GLUT as glut

# 窗口宽度和高度
window_width = 800
window_height = 600


def draw_triangle():
    gl.glBegin(gl.GL_TRIANGLES)
    gl.glVertex2f(0.0, 0.5)
    gl.glVertex2f(-0.5, -0.5)
    gl.glVertex2f(0.5, -0.5)
    gl.glEnd()


def display():
    gl.glClear(gl.GL_COLOR_BUFFER_BIT)

    # 设置绘制颜色
    gl.glColor3f(1.0, 1.0, 1.0)

    # 绘制三角形
    draw_triangle()

    # 刷新缓冲区,将绘制的结果显示在窗口中
    glut.glutSwapBuffers()


def reshape(width, height):
    # 设置视口大小
    gl.glViewport(0, 0, width, height)

    # 设置投影矩阵
    gl.glMatrixMode(gl.GL_PROJECTION)
    gl.glLoadIdentity()
    gl.glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0)

    # 设置模型视图矩阵
    gl.glMatrixMode(gl.GL_MODELVIEW)


def main():
    glut.glutInit()
    glut.glutInitDisplayMode(glut.GLUT_DOUBLE | glut.GLUT_RGB)
    glut.glutInitWindowSize(window_width, window_height)
    glut.glutCreateWindow(b"OpenGL Triangle")

    # 注册回调函数
    glut.glutDisplayFunc(display)
    glut.glutReshapeFunc(reshape)

    # 设置清空颜色
    gl.glClearColor(0.0, 0.0, 0.0, 1.0)

    # 进入主循环
    glut.glutMainLoop()


if __name__ == '__main__':
    main()

上述代码使用了PyOpenGL库来进行OpenGL的绘制操作。在代码中,我们创建了一个窗口,并在窗口中绘制了一个简单的三角形。display函数用于绘制场景,reshape函数用于设置视口和投影矩阵。main函数是程序的入口,初始化OpenGL环境并进入主循环。

请确保已经安装了Python和PyOpenGL库,然后运行上述代码,即可看到一个显示了一个白色三角形的窗口。您可以尝试修改代码,进行更多的绘制操作和交互效果,以便学习和探索OpenGL的功能和特性。

举报

相关推荐

0 条评论