Dec 23, 2014

在win32 xp上嘗試跑python及opengl

想要用python使用opengl

---
成功紀錄
按照這文章指示http://noobtuts.com/python/opengl-introduction
終於成功在win32 xp上用pyopengl + glut完成了文章裡的簡易demo
noobtuts網站真的厲害
我搞了好久
他用非常耐心清楚的方式
讓我一試就成功
不容易不容易

---
不成功紀錄1
嘗試在conda environment安裝openglcontext
系統環境是windows xp 32位元
conda install pyopengl pyopengl_accelerate "pyvrml97==2.3.0a4" simpleparse numpy "openglContext==2.2.0a3" pydispatcher pillow

但是裝不了openglcontext
因為conda.org上面沒有32位元windows版本
也裝不了pydispatcher
不過可以用pip install pydispatcher裝
但不曉得若沒有跟conda install一起裝會不會漏掉一些linker連結

最終是安裝失敗
linker說少了glut32.dll

真麻煩
不知有沒有強者能跟我說怎麼辦

---
不成功紀錄2

想說看能不能用vispy
建了一個環境envs然後安裝vispy
結果好像我沒有裝Qt,一個gui使用者介面的api
且我的opengl driver好像不夠新
要裝Qt還得去裝visual studio來compile下載的Qt檔案才能build Qt
且因我的opengl好像不夠新 一定要2.1以上  我的是2.0
請看http://vispy.org/installation.html
所以想說先等等  試試其他方式好了
---
不成功紀錄3     2015/July/9
嘗試在windows32 xp上安裝pyopenGL到anaconda

用conda安裝一個virtual environment
conda create -n tonytest -c https://conda.anaconda.org/menpo pyopengl pyopengl-accelerate menpo-pyvrml97 simpleparse numpy pydispatcher pillow
包含所有此網頁上所建議的套件除了openglcontext之外
因為anaconda上面找不到win32的openglcontext
所以如果用上面方法加上openglcontext會無法建立environment
然後再用pip install的方式來裝openglcontext
pip install PyDispatcher PyVRML97 OpenGLContext
這樣是可以安裝成功
沒有錯誤訊息

不過在跑nehe第一個example的時候
會出錯
找不到glutInit
還在找原因當中

按照以下的方法把glut32.dll放到opengl/dlls裡
http://cim.mcgill.ca/~fmannan/comp557/Python%20and%20PyOpenGL%20Installation.html
解決了第一步glutinit undefined問題
並且可以跑此sample

但有第二個問題
glCreateShader, glCreateShaderObjectARB undefined
所以nehe的example還是跑不起來
---