import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import * verticies = ( # 顶点坐标 瞎写的 (2, 0, 0), (0, 1, 0), (0, 1, 1), (0, 0, 1) ) edges = ( #边的顺序 (0,1), (0,2), (0,3), (1,2), (2,3), (3,1) ) def Cube(): glColor3f(1.0, 0.0, 0.0) # 设置颜色 glBegin(GL_LINES) #glBegin和glEnd()是绘图的必备函数 for edge in edges: for vertex in edge: glVertex3fv(verticies[vertex]) #这个函数就是连点,这个函数执行两次画一条线,两点确定一条直线,参数为三维的坐标 glEnd() def main(): pygame.init() display = (800, 600) pygame.display.set_mode(display, DOUBLEBUF | OPENGL) glClearColor(1.0, 1.0, 1.0, 1.0) # 设置背景颜色 gluPerspective(45, (display[0] / display[1]), 0.1, 50.0) #Z轴就是我们眼睛到屏幕方向的轴,负是远,正是近,其实就是让物体相对与屏幕在XYZ各方向移动几个距离 glTranslatef(0, 0, -5) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: #退出事件响应 pygame.quit() quit() glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) #用来删除就得画面,清空画布 Cube() #创建模型 glRotatef(1, 0, 1, 1) # 旋转矩阵 pygame.display.flip() #显示画面 pygame.time.wait(10) #10ms刷新一次 main()
从零开始PyopenGL(2): 简单立体图形绘制
猜你喜欢
转载自blog.csdn.net/qq_15602569/article/details/79683663
今日推荐
周排行