いまどきのPyOpenGLのインストール
Pythonのバージョンは2.5.2
●numpy, PILをインストールするべし。
http://numpy.scipy.org/
http://www.pythonware.com/products/pil/
●次に、setuptoolsのインストール
http://peak.telecommunity.com/DevCenter/setuptools#installing-setuptools
↑ここから、
ez_setpu.py
をダウンロードして
ez_setup.py setuptools==dev
を実行するが、proxyの認証が通らず断念した。
代わりに
http://pypi.python.org/pypi/setuptools#installation-instructions
↑ここから、
setuptools-0.6c9.win32-py2.5.exe
をダウンロードして、実行したらうまくった。
●PyOpenGLのインストール
SourceForge.net: PyOpenGL: Files
↑ここから、
PyOpenGL-3.0.0b8.zip
をダウンロード
解凍して、その中のsetup.pyを以下のように実行。
setup.py install
これでOK。
以下の.exeファイルが、いつのまにかダウンロードできるようになっている。
PyOpenGL-3.0.0b8.win32.exe
これを実行すれば、setuptoolsを使わずにインストールできたかも。
この.exeファイルは、pythonのバージョンは関係ないのかな?
OpenGLのマトリックスの行と列
移動が右に来る(A)かそれとも下にくる(B)なのか?
(A)
1 0 0 x |
0 1 0 y |
0 0 1 z |
0 0 0 1 |
1 0 0 0 |
0 1 0 0 |
0 0 1 0 |
x y z 1 |
glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glTranslatef(2.0f, 3.0f, 4.0f); GLfloat m[16]; glGetFloatv (GL_MODELVIEW_MATRIX, m); glPopMatrix();この結果をデバッガで表示すると以下のようになる。
m[12] 2.0000000 float m[13] 3.0000000 float m[14] 4.0000000 float(B)タイプなのか? glの時は(A)だったような… glのコードをOpenGLに移植した事もあるけど、忘れてしまった。 謎が解けた。OpenGLのマニュアルのマトリックスは、以下の配列の並びで記述してあるようだ。 行と列が逆のような気がするけど…
m[0] m[4] m[8] m[12] |
m[1] m[5] m[9] m[13] |
m[2] m[6] m[10] m[14] |
m[3] m[7] m[11] m[15] |
Open GL のFBOでオフスクリーンレンダリング
OpenGLでオフスクリーンレンダリング: framebuffer object
renderbufferてのがわかりにくい。
というのは、framebufferには、texturebufferとrenderbufferがアタッチできるようだけど。
texturebufferがカラーバッファ、renderbufferがデプスやステンシル等のその他のバッファと思いきや、
renderbufferでカラーバッファも作れるような感じ。
renderbufferのカラーバッファには意味あるのか?
texturebufferでデプスバッファも作れるし…
インデックスカラーによるピッキング
OpenGL @ Lighthouse 3D - Picking Tutorial
OpenGLのName Stack を使うよりこっちの方が応用がきくかな。
陰面消去も有効にできるし。
glPolygonOffset()
OpenGL 2.1 Reference Pages
OpenGL FAQ 13. ポリゴン上の線描画と、ポリゴンオフセット
引数の意味が、いまいちよくわからない。
↓より詳しい説明がここにあった。
Chapter 6 - OpenGL Programming Guide
Depth Peeling
床井研究室 - Depth Peeling
○○エンジンでも使っていたみたいで、言葉だけ知ってたけどこういうことだったのか。
これを使うとレンダリングパスが増えそう。大丈夫なのかな。
DirectXだと、Zバッファの値が、取り出せないけど、それは問題ないか。