Python OpenGLまとめ

「PyOpenGL」

NeHeのチュートリアルを試す

リンク概要
NeHe のLesson1を動かす環境を構築し、Lesson1が動くことを確認します。
NeHe Lesson1シンプルに画面への描画する流れを確認します。
NeHe Lesson2三角形と四角形を描画してみます。
NeHe Lesson3Lesson2で描画した図形を着色してみます。
NeHe Lesson4Lesson2で描画した図形を回転させてみます。
NeHe Lesson5Lesson2で描画した図形を立方体にします。
NeHe Lesson6Lesson5の立方体にテクスチャを設定します。
NeHe Lesson6 multiLesson6のテクスチャをマルチに設定できるようにします。
NeHe Lesson11Lesson1を利用して、波打つアニメーションを作成します。
NeHe Lesson12Lesson6をベースに高速に描画する仕組みを確認します。
NeHe Lesson13lesson1などを参考に修正し、フォントを使用して文字を描画してみます。
NeHe Lesson16FOG(霧)をかけてみます。
NeHe Lesson18gluを利用し、基本オブジェクトをかんたんに描画できることを確認します。
NeHe Lesson19パーティクルの表現を確認します。
NeHe Lesson23スフィアマッピングの実装を確認します。
NeHe Lesson26ステンシルバッファを使ったクリッピングと反射を確認します。
NeHe Lesson41霧とIPicture 画像の読み込みを確認します。
NeHe Lesson42マルチビューの構築と、更新について確認しました。
NeHe Lesson43フォントを使用して文字の描画を確認した。
NeHe Lesson44光源の設置と光線が表現、レンズのフレアを確認する。
NeHe Lesson45頂点バッファオブジェクト(VBO)を確認します。
NeHe Lesson483DオブジェクトのViewerのような実装を確認します。

PyCG (Python Computer Graphics)

リンク概要
PyCG 概要NeHeとは別のチュートリアルを翻訳しながら動作を概要を整理します。
PyCG lesson1PyCGを通して、動作の流れを確認し、三角形を描画してみます。
PyCG lesson2基本的な3Dレンダリングとライティングを確認します。
PyCG lesson3テクスチャとテキストのレンダリングを確認します。
PyCG lesson4球面投影について確認します。
PyCG lesson5IK(逆運動学(Inverse Kinematics))について確認します。
PyCG lesson6布の挙動を、質量バネモデルを利用して表現してみます。
PyCG lesson7レイトレーシングのアルゴリズムを確認してみます。
PyCG lesson8オーディオの視覚化を試してみます。

ModernGL

ModernGLのExamplesを試す:基本

リンク概要
概要PyOpenGLとは異なる、OpenGL 3.3+ のPythonラッパーを試します。
ガイドを試すシンプルな例で流れを確認します。
Contextを作成コンテキストを作成してみます。
Programを作成コンテキストにシェーダを定義します。
VertexArrayを作成描画する頂点の配列を定義します。
Buffer Format頂点バッファオブジェクト(VBO)内のデータのレイアウトを記述した短い文字列について確認します。
レンダリングこれまで(ContextからVertexArray)を使って画面に線を描画してみます。

ModernGLのExamplesを試す:具体的な例

リンク概要
概要とインストールサンプル集、実行例、オプションを確認します。
hello_world.pyシンプルな例で流れを確認します。
basic_simple_color_triangle.py作成した三角形に、色を設定してみます。
basic_empty_window.pywindowを表示し、ウィンドウサイズの変更、キーボード、マウスの入力を受け取るシンプルなサンプルを作成します。
simple_grid.pyシンプルな格子の配列方法を確認します。
basic_perspective_projection.pyかんたんに格子の作成、カメラにプロジェクションを設定し、シーンがどのように描画されるかを確認します。
simple_camera.pyシンプルなカメラの扱いについて入門してみます。
basic_uniforms_and_attributes.pyuniformを利用して、頂点座標を書き換えてみます。