OpenGL は、3Dグラフィックス関連の各種の機能を提供するライブラリーで、 その仕様が公開されています。これを使えば、比較的容易に3D画像を高速に描画できます。
Windows は、OpenGL を標準で搭載しています。Windows のシステムフォルダー内に、 OpenGL の API( Application Programming Interface )を提供する OPENGL32.DLL と GLU32.DLL という DLL( Dynamic Link Library ) が、 あらかじめ入っています。この DLL をリンクするだけで、各プログラムは、 OpenGL の機能を利用できます。つまり、OpenGL を使う際には、 事前の特別な準備やインストール等は、不用です。
ここに掲載している OpenGL 関連の MikoScript のプログラムは、この DLL を動的に リンクして、3Dグラフィックスを表示しています。 その際、ウィンドウを開かないといけないので、GKライブラリーも使用しています。 なお、これらの実行には、MikoScript Ver.1.84 以上が必要です。
最初のプログラム( HelloGL.mc )は、とりあえず、OpenGL を使ってみるためだけのものです。 これは、簡単な2D図形(黒地に白の正方形)を描画します。その際、OpenGL の機能や状態設定は、 ほとんどデフォールトのままになっています。
次のプログラム( CubeSpin.mc )は、自転する立方体を表示します。これにはもちろん、 陰面消去や照光処理等が行なわれていますが、その回転動作の見た目は、非常にスムーズです。 ちなみに、この処理には、CPUパワーのほんのわずかしか消費されないので、 まだまだ複雑な画像を描画する余裕が充分にありそうです。
本スクリプトは、3D CG の分野で有名な ユタ・ティーポット( Utah Teapot )を表示します。 このティーポットの形状データは、1975年、ユタ大学の Martin Newell 氏によって制作されたものです。 これは、一般に公開されているので、今回使わせて頂きました。
本スクリプトを実行すると、このティーポットが自転しているのが表示されます。 この自転は、マウスの右クリックで、ON ⇔ OFF できます。 本画面上で、マウスの左ボタンを押しながら左右に動かすと、それに応じて、 このティーポットは左右方向に回転します。同様に、マウスの左ボタンを押しながら上下に動かすと、 このティーポットは上下方向に回転します。 一方、マウスホィールを回転すると、ポットのふたが上下に移動します。