opengl安裝教程(手機查看opengl版本)

  • 科技
  • 2023-04-25 13:18

多條告白如次劇本只需引入一次

1證明:

1.1運用python的pygame和OpenGL創(chuàng)造動靜正方體cube。

1.2安置python3.8和pygame(簡略)。

1.3安置OpenGL:

pipinstallPyOpenGLPyOpenGL_accelerate2功效圖:先看。

3完備代碼:

#---導出模塊---importpygamefrompygame.localsimport*fromOpenGL.GLimport*fromOpenGL.GLUimport*#---初始化pygame和設(shè)置窗口巨細---pygame.init()#OPENGL|DOUBLEBUF=DOUBLEBUF|OPENGL#DOUBLEBUF:雙緩沖形式(引薦和HWSURFACE或OPENGL一道運用)#創(chuàng)造一個OPENGL襯托的表露pygame.display.set_mode((640,480),OPENGL|DOUBLEBUF)#---元組設(shè)置---#設(shè)置正方體的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))#設(shè)置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))#設(shè)置面,四個點形成一個面CUBE_QUAD_VERTS=((0,1,2,3),(3,2,7,6),(6,7,5,4),(4,5,1,0),(1,5,7,2),(4,0,3,6))#設(shè)置線,兩個點形成一個線CUBE_EDGES=((0,1),(0,3),(0,4),(2,1),(2,3),(2,7),(6,3),(6,4),(6,7),(5,1),(5,4),(5,7),)#---設(shè)置畫正方體因變量---defdrawcube():#"繪制正方體",zip和list法allpoints=list(zip(CUBE_POINTS,CUBE_COLORS))#畫表面積---發(fā)端---中斷---glBegin(GL_QUADS)forfaceinCUBE_QUAD_VERTS:forvertinface:pos,color=allpoints[vert]#在第2個for底下glColor3fv(color)glVertex3fv(pos)#與第1個for對齊glEnd()#邊線臉色玄色glColor3f(0,0,0)#繪制線---發(fā)端---中斷---glBegin(GL_LINES)forlineinCUBE_EDGES:forvertinline:pos,color=allpoints[vert]glVertex3fv(pos)glEnd()#---主因變量---defmain():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)#啟用輪回---whileTrue:#事變檢驗和測定event=pygame.event.poll()#設(shè)置退出體制,在pygame的while輪回中,這一步必備樹立ifevent.type==QUITor(event.type==KEYDOWNandevent.key==K_ESCAPE):break#廢除屏幕glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)#攝像機回旋glRotatef(1,0,1,0)drawcube()#革新畫面pygame.display.flip()if__name__=='__main__':main()4元組的設(shè)置和推導式:

#---元組設(shè)置---#設(shè)置正方體的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))#設(shè)置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))#設(shè)置面,四個點形成一個面CUBE_QUAD_VERTS=((0,1,2,3),(3,2,7,6),(6,7,5,4),(4,5,1,0),(1,5,7,2),(4,0,3,6))#設(shè)置線,兩個點形成一個線CUBE_EDGES=((0,1),(0,3),(0,4),(2,1),(2,3),(2,7),(6,3),(6,4),(6,7),(5,1),(5,4),(5,7),)#"繪制正方體"allpoints=list(zip(CUBE_POINTS,CUBE_COLORS))#print(allpoints)#print(allpoints[0])forfaceinCUBE_QUAD_VERTS:forvertinface:pos,color=allpoints[vert]#print(allpoints[vert])print(pos)print(color)5簡化少許:如許很熟習少許。

#---元組設(shè)置---#設(shè)置正方體的xyz坐圈點a=((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))#設(shè)置RGB臉***=((1,0,0),(1,1,0),(0,1,0),(0,0,0),(1,0,1),(1,1,1),(0,0,1),(0,1,1))#設(shè)置面,四個點形成一個面c=((0,1,2,3),(3,2,7,6),(6,7,5,4),(4,5,1,0),(1,5,7,2),(4,0,3,6))#設(shè)置線,兩個點形成一個線d=((0,1),(0,3),(0,4),(2,1),(2,3),(2,7),(6,3),(6,4),(6,7),(5,1),(5,4),(5,7),)#"繪制正方體"all=list(zip(a,b))#print(all)#print(all[0])forjinc:foriinj:pos,color=all[i]#print(all[i])print(pos)print(color)5.1元組的元組

5.2zip因變量

5.3list因變量:從來是列表的道理,創(chuàng)造仍舊元組,是元組的列表打包法。

5.4推導式嵌套推導式和元組推導器?

猜你喜歡

主站蜘蛛池模板: 无码人妻丰满熟妇区毛片| 无码国产精品一区二区免费式影视 | 亚洲精品无码永久在线观看男男 | 亚洲人成无码www久久久| 亚洲精品人成无码中文毛片 | 精品少妇无码AV无码专区| 亚洲色无码国产精品网站可下载| 四虎成人精品无码永久在线| 无码国产福利av私拍| 免费无遮挡无码永久在线观看视频 | 国产50部艳色禁片无码| 一区二区三区无码被窝影院| 寂寞少妇做spa按摩无码| 无码中文字幕人妻在线一区二区三区| 国产真人无码作爱免费视频| 国产成人无码精品一区不卡| 久久午夜无码鲁丝片直播午夜精品| 久久久久久99av无码免费网站| 无码视频一区二区三区在线观看| 亚洲av无码不卡私人影院| 最新无码专区视频在线| 人妻aⅴ无码一区二区三区| 成人无码一区二区三区| 黑人无码精品又粗又大又长| 日韩加勒比一本无码精品| 亚洲AV无码一区二区乱子仑| av无码免费一区二区三区| 无码国产精品一区二区免费式芒果| 变态SM天堂无码专区| 亚洲精品无码久久久久AV麻豆| 国产精品亚洲专区无码牛牛| 无码人妻精品内射一二三AV| 亚洲va成无码人在线观看| 亚洲AV综合色区无码二区爱AV| 少妇无码一区二区三区| 久久国产亚洲精品无码| 无码区日韩特区永久免费系列| 久久久久久久亚洲Av无码| 亚洲av午夜国产精品无码中文字| 日韩人妻无码一区二区三区99| 未满小14洗澡无码视频网站|