Python で簡単に Open GL のプログラムを開発できるように、GLFW (pyGLFW) というライブラリを使用するための環境構築をしてみます。
GLFW とは
Khronos グループが作成している OpenGL や OpenGL ES、Vulkan などの API を使用すると、クラスプラットフォームな 3D プログラムを作成することができます。 ただし、OS ごとにウィンドウの作成方法やキーハンドリングの方法は異なっているため、その部分は個別に作成する必要があります。
GLFW は、そのあたりの OS 依存の処理を抽象化するためラッパーライブラリで、Windows、macOS、Linux などのデスクトップ環境に対応しています。 GLFW 本家は C 言語用のライブラリとして作成していますが、Python 用のラッパーライブラリ (pyGLFW) も公開されています。
昔は GLUT というライブラリがよく使われていましたが、今はもうメンテナンスされていないので、GLFW を使います。
pyGLFW (glfw) のインストール
ここでは、Python 用の GLFW ラッパーライブラリである、pyGLFW (glfw) パッケージ をインストールします。
Python 用ライブラリ glfw のインストール
Python 用の glfw
パッケージは pip
コマンドで簡単にインストールできます。
システム全体の環境に影響しないようにするには、virtualenv を使って仮想環境を構築 してからインストールするのがよいでしょう。
ランタイムライブラリのインストール
glfw
を使用したプログラムを実行するには、各 OS ごとに用意されたランタイムライブラリ (Shared library) もインストールしておく必要があります。
Windows の場合は、本家のサイト から DLL ファイルを含んだアーカイブをダウンロードし、GLFW_LIBRARY
環境変数で DLL のパスを指定します。
ランタイムライブラリがインストールされていない状態で、glfw
を使用したプログラムを実行しようとすると、下記のようなエラーが発生します。
GLFW で Hello World
下記は、GLFW (pyGLFW) を使ってウィンドウを表示するだけの簡単なプログラムです。
次のように実行すると、空っぽのウィンドウが表示されます。