使用python中opengl的案例

  介绍

这篇文章给大家分享的是有关使用python中opengl的案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

<强>

<强>

<强>

pip  install  PyOpenGL  PyOpenGL_accelerate

<强> <强> <强> <强>

使用python中opengl的案例

<强>

# - - -导出模块- - - - - -   import  pygame   得到pygame.locals  import  *   得到OpenGL.GL  import  *   得到OpenGL.GLU  import  *   ,   # - - -初始化pygame和定义窗口大小- - - - - -   pygame.init ()   # OPENGL | DOUBLEBUF=DOUBLEBUF | OPENGL   # DOUBLEBUF:双缓冲模式(推荐和,HWSURFACE 或,OPENGL 一起使用)   #创建一个,OPENGL 渲染的显示   pygame.display.set_mode ((640480), OPENGL | DOUBLEBUF)   ,   # - - -元组定义- - - - - -   #定义正方体的xyz坐标点   CUBE_POINTS =, ((0.5, -0.5, -0.5),, (0.5, 0.5, -0.5), (-0.5, 0.5, -0.5),, (-0.5, -0.5, -0.5), (0.5, -0.5, 0.5),, (0.5, 0.5, 0.5), (-0.5, -0.5, 0.5),, (-0.5, 0.5, 0.5))   #定义RGB颜色   CUBE_COLORS =, ((1, 0, 0),, (1,, 1,, 0),, (0, 1, 0),, (0, 0, 0), (1, 0, 1),, (1, 1, 1),, (0, 0, 1),, (0, 1, 1))   #,定义面,四个点构成一个面   CUBE_QUAD_VERTS =,((0, 1,, 2,, 3),,(3,, 2,,,, 6),,(6日,7日,5日,4),(4,,5,,1,,0),,(1,5,7,,2),,(4,0,,3,6))   #,定义线,两个点构成一个线   CUBE_EDGES =, ((0, 1),, (0, 3),, (0, 4), (2, 1), (2、3), (7), (6,3), (6, 4), (6、7), (5、1),, (5 4), (5、7))   ,   # - - -定义画立方体函数- - - - - -   def  drawcube ():   ,,,#,“绘制正方体“,邮政和列表法   ,,,allpoints =,列表(zip (CUBE_COLORS CUBE_POINTS也))   ,,,,   ,,,#画面积- - -开始——结束- - - - - -   ,,,glBegin (GL_QUADS)   ,,,for  face 拷贝CUBE_QUAD_VERTS:   ,,,,,,,for  vert 拷贝的脸:   ,,,,,,,,,,,,,pos color =, allpoints(绿色)   ,,,,,,,,,,,#在第2个下面   ,,,,,,,,,,,glColor3fv(颜色)   ,,,,,,,,,,,glVertex3fv (pos)   ,,,#与第1个对齐   ,,,glEnd ()   ,   ,,,#边线颜色黑色   ,,,glColor3f (0, 0, 0)   ,   ,,,#,绘制线- - - - - -开始——结束- - - - - -   ,,,glBegin (GL_LINES)   ,,,for  line 拷贝CUBE_EDGES:   ,,,,,,,for  vert 拷贝:   ,,,,,,,,,,,,,pos color =, allpoints(绿色)   ,,,,,,,,,,,glVertex3fv (pos)   ,,,glEnd ()   ,   # - - -主函数- - - - - -   def  main ():   ,,,glEnable (GL_DEPTH_TEST)   ,,,#初始化,摄像头   ,,,glMatrixMode (GL_PROJECTION)   ,,,gluPerspective (45.0,640/480.0, 0.1,100.0)   ,,,glTranslatef (0.0, 0.0, -3.0)   ,,,glRotatef(25岁,,1,,0,0)   ,,,#启动循环- - - - - -   ,,,while 正确的:   ,,,,,,,#事件检测   ,,,,,,,event =, pygame.event.poll ()   ,,,,,,,#定义退出机制,在pygame的而循环中,这一步必备设置   ,,,,,,,if  event.type ==, QUIT 或(event.type ==, KEYDOWN 以及event.key ==, K_ESCAPE):   ,,,,,,,,,,,休息   ,,,,,,,#清除屏幕   ,,,,,,,glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)   ,,,,,,,#摄像机旋转   ,,,,,,,glRotatef (1, 0, 1, 0)   ,,,,,,,drawcube ()   ,,,,,,,#刷新画面   ,,,,,,,pygame.display.flip ()   ,   if  __name__ ==, & # 39; __main__ # 39;:   main ()

感谢各位的阅读!关于使用python中opengl的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

使用python中opengl的案例