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

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

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

1證明:

1.1運用python的pygame和OpenGL創造動靜正方體cube。

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

1.3安置OpenGL:

pipinstallPyOpenGLPyOpenGL_accelerate2功效圖:先看。

3完備代碼:

#---導出模塊---importpygamefrompygame.localsimport*fromOpenGL.GLimport*fromOpenGL.GLUimport*#---初始化pygame和設置窗口巨細---pygame.init()#OPENGL|DOUBLEBUF=DOUBLEBUF|OPENGL#DOUBLEBUF:雙緩沖形式(引薦和HWSURFACE或OPENGL一道運用)#創造一個OPENGL襯托的表露pygame.display.set_mode((640,480),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,7,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),(2,7),(6,3),(6,4),(6,7),(5,1),(5,4),(5,7),)#---設置畫正方體因變量---defdrawcube():#"繪制正方體",zip和list法allpoints=list(zip(CUBE_POINTS,CUBE_COLORS))#畫表面積---發端---中斷---glBegin(GL_QUADS)forfaceinCUBE_QUAD_VERTS:forvertinface:pos,color=allpoints[vert]#在第2個for底下glColor3fv(color)glVertex3fv(pos)#與第1個for對齊glEnd()#邊線臉色玄色glColor3f(0,0,0)#繪制線---發端---中斷---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()#設置退出體制,在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元組的設置和推導式:

#---元組設置---#設置正方體的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,7,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),(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簡化少許:如許很熟習少許。

#---元組設置---#設置正方體的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))#設置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))#設置面,四個點形成一個面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))#設置線,兩個點形成一個線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因變量:從來是列表的道理,創造仍舊元組,是元組的列表打包法。

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

猜你喜歡

主站蜘蛛池模板: 日韩精品无码AV成人观看| yy111111少妇影院无码| 无码精品人妻一区二区三区AV| 无码人妻AV一二区二区三区| 亚洲天堂2017无码中文| 亚洲熟妇少妇任你躁在线观看无码| 亚洲AV日韩AV永久无码下载| 精品无码国产一区二区三区麻豆| 无码视频在线观看| 中文字幕人妻三级中文无码视频 | 亚洲人成影院在线无码按摩店| 日韩精品无码熟人妻视频| 乱人伦人妻中文字幕无码 | 久久久久亚洲av无码尤物| 国产成人无码AV在线播放无广告| 国产精品无码无在线观看| 无码专区国产无套粉嫩白浆内射| 亚洲国产成人无码av在线播放| 国产精品无码AV一区二区三区| 日韩精品无码免费视频| 中文字幕无码乱码人妻系列蜜桃 | 色综合久久久久无码专区| 无码人妻一区二区三区免费视频| AAA级久久久精品无码片| 少妇人妻无码专区视频| 中文字幕无码一区二区免费| 伊人蕉久中文字幕无码专区| 东京热一精品无码AV| 亚洲国产成人精品无码区二本| 人妻中文字系列无码专区| 野花在线无码视频在线播放| 成人无码WWW免费视频| 中文字幕无码av激情不卡久久| 国产成人亚洲精品无码AV大片| 免费无码又黄又爽又刺激| 免费无码成人AV片在线在线播放| 久久久久无码精品国产h动漫| 国产精品国产免费无码专区不卡| 日韩少妇无码喷潮系列一二三| 一道久在线无码加勒比| 中文无码熟妇人妻AV在线|