経験を積むためにPyCGにも取り組んでみる
OpenGLを学ぶのにNeHeを一通り実行して動作を確認した。しかし、サンプルの作成日時からしても非常に古いと言える。C++やJavaなどでよりモダンなものを見たことがあったためもどかしい気持ちがあった。背景で考えると、OpenGLは3で大きく仕様が変わったが、互換性維持のために1,2が動く(というよりも、1,2を踏襲するような形になっている)ために、古いコードが動く。それは良いことではあるが、習得難度が上がる一つの原因とも言える。
OpenGLの経験値を上げることを目的に学習を進めたがその際に見つけた、PyCG(シリーズにまとめられた、モダンでわかりやすいサンプル集)を学習したため要点のメモを残す。https://www.alanshawn.com/pyopengl_series
概要
Pythonは人気だが、CGの分野ではそうでもない。パフォーマンスが優先される分野のためと考えられるが、次の2点で優位性があり、グラフィックスの研究や高速なプロトタイピングに役立つ。
- Pythonはエコシステムの恩恵を受け、C/C++と比べ、簡単に既存機能が搭載できる
- Pythonがクロスプラットフォームであり、様々な環境で動作させる際のプログラムの手間が少ない
Pythonで、PyOpenGLを使って簡単なプログラムを書く。
(ソースコードはGithubにある)