OpenGL は,3 次元のイメージやアニメーションといった高度なグラフィック表示を作成するグラフィックス関数ライブラリーです。OpenGL はワークステーションでは広く普及しています。この標準に準拠してプログラムを書くことで,他のプラットフォームへの可搬性が高まります。
OpenGL ウィンドウは,アプリケーションが使用する他の Console,QuickWin,および通常の Windows ウィンドウとは独立に,追加のウィンドウとして使用されます。OpenGL のウィンドウはピクセル形式を使用し,これらのピクセルは RGB 値,不透明度値,および深さの値を持っているので,小さい深さを持つ (浅い) ピクセルは,より深いピクセルを上書きします。OpenGL アプリケーションを作成するための基本的な手順を次に示します。
ピクセル形式を指定します。
ビデオ装置上にピクセルがどのようにレンダリングされるかを指定します。
OpenGL コマンドを呼び出します。
OpenGL プログラミングは単純ですが,他のソフトウェア・ツールと同じように特定の初期化と順序を必要とします。次に初心者のための参考資料を示します。
『The OpenGL Reference Manual』,Addison-Wesley,ISBN 0-201-46140-4
『The OpenGL Programming Guide』,Addison-Wesley,ISBN 0-201-46138-2
『OpenGL SuperBible: The Complete Guide to OpenGL Programming on Windows NT and Windows 95』,Richard Wright and Michael Sweet, Waite Group Press (Division of Sams Publishing), 1996, ISBN 1-57169-073-5
HTML Help Viewerで表示できる『Platform SDK』の OpenGL オンライン・ヘルプ
Microsoft Visual C++ のマニュアルの 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 プロジェクトです。