OpenGL を使用した高度なグラフィックス

OpenGL は,3 次元のイメージやアニメーションといった高度なグラフィック表示を作成するグラフィックス関数ライブラリーです。OpenGL はワークステーションでは広く普及しています。この標準に準拠してプログラムを書くことで,他のプラットフォームへの可搬性が高まります。

OpenGL ウィンドウは,アプリケーションが使用する他の Console,QuickWin,および通常の Windows ウィンドウとは独立に,追加のウィンドウとして使用されます。OpenGL のウィンドウはピクセル形式を使用し,これらのピクセルは RGB 値,不透明度値,および深さの値を持っているので,小さい深さを持つ (浅い) ピクセルは,より深いピクセルを上書きします。OpenGL アプリケーションを作成するための基本的な手順を次に示します。

OpenGL プログラミングは単純ですが,他のソフトウェア・ツールと同じように特定の初期化と順序を必要とします。次に初心者のための参考資料を示します。

Visual Fortran は OpenGL モジュールである DFOPNGL.MOD を用意しています。これは USE 文を使って呼び出すことができます。

	USE DFOPNGL

このモジュールを使用すると,Fortran で OpenGL ルーチンに関連するすべての定数とインタフェースが使用可能となります。Fortran プログラムに USE DFOPNGL が存在していると,OpenGL プログラムとリンクしなければならないすべてのリンク・ライブラリーが自動的に検索されます。

OpenGL ウィンドウは,Console,Windows,または QuickWin アプリケーションから開くことができます。OpenGL ウィンドウは,通常の Graphic Device Interface (GDI) 呼び出しではなく,OpenGL 呼び出しだけを使用します。同じように,OpenGL 呼び出しには特殊な初期化が必要なので,通常の Windows ウィンドウや QuickWin 子ウィンドウの中から OpenGL 呼び出しを実行することはできません。

Fortran OpenGL 識別子は,gl の接頭辞が fgl に,GL の接頭辞が FGL に変更されることを除けば,C の識別子と同じです。OpenGL の C バインディングに使われているデータ型は,次表のように Fortran 型に変換されます。

OpenGL の C 形式データ型 OpenGL の Fortran 形式データ型
GLbyte INTEGER(1)
GLshort INTEGER(2)
GLint, GLsizei INTEGER(4)
GLfloat, GLclampf REAL(4)
GLdouble, GLclampd REAL(8)
GLubyte INTEGER(1)
GLboolean LOGICAL
GLushort INTEGER(2)
GLuint, GLenum, GLbitfield INTEGER(4)
GLvoid 不要
ポインタ INTEGER

DFOPNGLT.F90 で定義されているパラメタ定数をインクルード (USE) する (USE DFOPNGL のようにして) 場合,種別型を指定するために定数を使用することができます。たとえば,INTEGER の代わりに INTEGER(K_GLint) と指定します。

OpenGL を使用する Visual Fortran サンプルは,...\DF98\SAMPLES\ADVANCED\OPENGL 中の個々のフォルダに収録されています。たとえば,OLYMPIC は Fortran QuickWin プロジェクトで,CUBE5 は Fortran Windows プロジェクトです。