環境
- Os: Deepin 15.5 desktop 64-Bit
- Python: Anaconda 5.2 For Linux Installer python 3.6 version
依賴
- Mesa-utils
- OpenGl es 2.0
- Qt5
- Freeglut
- Glfw3
- PyQt5
- pyopengl
安裝
- 安裝 OpenGL es 2.0
- sudo apt-get install mesa-utils 安裝mesa-utils
- sudo apt-get install libgles2-mesa-dev 安裝opengles2.0的庫文件
- 報錯:libc6-dev : 破壞: libperl5.26 (< 5.26.1-3) 可是 5.26.0-4 正要被安裝
- 解決:sudo apt-get install libc-dev
- sudo apt-get install libgles2-mesa-dev
- 安裝 Qt 5.9.5
- 下載 http://download.qt.io/official_releases/qt/5.9/5.9.5/
- cd 進入下載位置
- chmod +x ./qt-opensource-linux-x64-5.9.5.run
- sudo ./qt-opensource-linux-x64-5.9.5.run
- 安裝過程當中要求註冊,能夠無論。可是後面安裝的模塊須要全選,默認並無
- 建議選用默認的安裝路徑 /opt/Qt5.9.5
- 安裝 Freeglut 和 Glfw3
- conda install -c anaconda freeglut
- conda install -c menpo glfw3
- 安裝PyQt5
- Anaconda 已經默認安裝了這個模塊。可是Qt5並無,默認安裝了 Qt4
- 若是沒有: conda install -c inso pyqt5 或者 conda install -c inso/label/sakia pyqt5
- 安裝 pyopengl
- conda install -c conda-forge pyopengl
- 設置:Tools-Preference-IPython console-Graphics-Graphics backend-Backend-Qt5
- import matplotlib.pyplot as plt 使用plt畫圖查看Qt5是否正確安裝
測試
- Hello World
import OpenGL.GLUT as glut
glut.glutInit()
glut.glutCreateWindow('Hello World')
- Demo
source:https://my.oschina.net/u/3018050/blog/1808448python
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
#清楚以前畫面
glClear(GL_COLOR_BUFFER_BIT)
glRotatef(0.1, 0,5,0)
#(角度,x,y,z)
glutWireTeapot(0.5)
#刷新顯示
glFlush()
#使用glut初始化OpenGL
glutInit()
#顯示模式:GLUT_SINGLE無緩衝直接顯示|GLUT_RGBA採用RGB(A非alpha)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
#窗口位置及大小-生成
glutInitWindowPosition(0,0)
glutInitWindowSize(400,400)
glutCreateWindow(b"first")
#調用函數繪製圖像
glutDisplayFunc(drawFunc)
glutIdleFunc(drawFunc)
#主循環
glutMainLoop()