python调用opengl_Python运行OpenGL示例
說明
python的opengl庫叫PyOpenGL,安裝這個庫的時候要注意位數版本要正確,比如我的python37是32位的,安裝PyOpenGL-3.1.5-cp37-cp37m-win32.whl才行,默認pip安裝的運行時可能會有問題,所以需要手動下載安裝對應版本的whl。
demo
這是一個直接運行的demo# !/usr/bin/python
# -*- coding: utf-8 -*-
# -------------------------------------------
# quidam_01.py 三維空間的世界坐標系和三角形
# -------------------------------------------
from OpenGL.GL import *
from OpenGL.GLUT import *
def draw():
# ---------------------------------------------------------------
glBegin(GL_LINES) # 開始繪制線段(世界坐標系)
# 以紅色繪制x軸
glColor4f(1.0, 0.0, 0.0, 1.0) # 設置當前顏色為紅色不透明
glVertex3f(-0.8, 0.0, 0.0) # 設置x軸頂點(x軸負方向)
glVertex3f(0.8, 0.0, 0.0) # 設置x軸頂點(x軸正方向)
# 以綠色繪制y軸
glColor4f(0.0, 1.0, 0.0, 1.0) # 設置當前顏色為綠色不透明
glVertex3f(0.0, -0.8, 0.0) # 設置y軸頂點(y軸負方向)
glVertex3f(0.0, 0.8, 0.0) # 設置y軸頂點(y軸正方向)
# 以藍色繪制z軸
glColor4f(0.0, 0.0, 1.0, 1.0) # 設置當前顏色為藍色不透明
glVertex3f(0.0, 0.0, -0.8) # 設置z軸頂點(z軸負方向)
glVertex3f(0.0, 0.0, 0.8) # 設置z軸頂點(z軸正方向)
glEnd() # 結束繪制線段
# ---------------------------------------------------------------
glBegin(GL_TRIANGLES) # 開始繪制三角形(z軸負半區)
glColor4f(1.0, 0.0, 0.0, 1.0) # 設置當前顏色為紅色不透明
glVertex3f(-0.5, -0.366, -0.5) # 設置三角形頂點
glColor4f(0.0, 1.0, 0.0, 1.0) # 設置當前顏色為綠色不透明
glVertex3f(0.5, -0.366, -0.5) # 設置三角形頂點
glColor4f(0.0, 0.0, 1.0, 1.0) # 設置當前顏色為藍色不透明
glVertex3f(0.0, 0.5, -0.5) # 設置三角形頂點
glEnd() # 結束繪制三角形
# ---------------------------------------------------------------
glFlush() # 清空緩沖區,將指令送往硬件立即執行
if __name__ == "__main__":
glutInit() # 1. 初始化glut庫
glutCreateWindow('Quidam Of OpenGL') # 2. 創建glut窗口
glutDisplayFunc(draw) # 3. 注冊回調函數draw()
glutMainLoop() # 4. 進入glut主循環
pyqtopengl
這是pyqt中QOpenGLWidget的demo# !/usr/bin/python
# -*- coding: utf-8 -*-
from PySide2.QtWidgets import *
from OpenGL.GL import *
from OpenGL.GLUT import *
class MyOpenglWidget(QOpenGLWidget):
def __init__(self, parent=None):
super().__init__(parent)
def initializeGL(self):
pass
def paintGL(self):
glBegin(GL_LINES) # 開始繪制線段(世界坐標系)
# 以紅色繪制x軸
glColor4f(1.0, 0.0, 0.0, 1.0) # 設置當前顏色為紅色不透明
glVertex3f(-0.8, 0.0, 0.0) # 設置x軸頂點(x軸負方向)
glVertex3f(0.8, 0.0, 0.0) # 設置x軸頂點(x軸正方向)
# 以綠色繪制y軸
glColor4f(0.0, 1.0, 0.0, 1.0) # 設置當前顏色為綠色不透明
glVertex3f(0.0, -0.8, 0.0) # 設置y軸頂點(y軸負方向)
glVertex3f(0.0, 0.8, 0.0) # 設置y軸頂點(y軸正方向)
# 以藍色繪制z軸
glColor4f(0.0, 0.0, 1.0, 1.0) # 設置當前顏色為藍色不透明
glVertex3f(0.0, 0.0, -0.8) # 設置z軸頂點(z軸負方向)
glVertex3f(0.0, 0.0, 0.8) # 設置z軸頂點(z軸正方向)
glEnd() # 結束繪制線段
pass
def resizeGL(self, w, h):
pass
參考
總結
以上是生活随笔為你收集整理的python调用opengl_Python运行OpenGL示例的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 五行属火的字有哪些843个
 - 下一篇: 用vs写python和c++需要哪些工具