GLAUX(AUX) について


GLAUX (単にAUX) ライブラリとは、OpenGL 補助ライブラリのことで、現在では GLUT ライブラリに置き換わった一世代前のライブラリです。

UNIX 版, Windows 版等があり、GLUT ライブラリ同様に AUX ライブラリを用いて作成したプログラムは、ほぼそのまま他のプラットフォームに移植することができます。


OpenGL 1.0 の赤本(初版)のサンプルは AUX ライブラリが利用されています。 (OpenGL 1.1 の赤本(第二版)以降は、GLUT ライブラリが利用されています。)

古い OpenGL のプログラムでは AUX ライブラリを使っているものがあります。 現在では、そのようなプログラムをコンパイルする場合に AUX ライブラリを使用ぐらいです。
現在では、OpenGL の入門書は GLUT ライブラリを使ったものがほとんどです。

AUX ライブラリを使用したプログラムは、GLUT ライブラリに変更することをおすすめします。 AUX ライブラリから GLUT ライブラリに変更することは、非常に簡単です。 一部の例外を除いて AUX ライブラリにある関数、定数の名前が変わるだけです。
詳しくはAUX2GLUTをご覧ください。

AUX の特徴としては、従来のフロー駆動型プログラムスタイルに加え、イベント駆動型プログラムスタイルでアプリケーションを作成することができます。
イベント駆動型プログラムに必要最小限の Window 処理のサポートが行われています。 コールバック関数を登録し、イベント(再描画、リサイズ、キー入力、マウス入力等)が発生した場合に対応するコールバック関数を呼び出すことができます。

また、AUX ライブラリには、インデックスモードのためのパレット設定(カラーマップ設定)、ビットマップフォントを用いた US-ASCII 文字列の描画、ユタ・ティーポットや球、立方体、直方体、トーラス、円柱、円錐等の 3次元オブジェクトをワイヤーフレームまたはソリッドオブジェクトとして描画する機能や、 テクスチャマッピング用に画像ファイルを読み込む機能もあります。

ちなみに AUX ライブラリは、Windows では GLAUX ライブラリと呼ばれることが一般です。 これは、AUX ライブラリのヘッダファイルが aux.h という名前でしたが、 Windows(MS-DOS)では、AUX という名前はデバイス名(DDN)であるため、使うことができず glaux.h という名前に変更したためでしょう。 リンクライブラリも同様に UNIX では libaux.a という名前ですが、Windows では glaux.lib となっています。


■ GLAUX(AUX) API リファレンス

AUX ライブラリの API については、GLAUX(AUX) API リファレンスをご覧ください。
AUX 関数リファレンスを用意しています。

auxwiresphere auxsolidteapot


■ AUX2GLUT

AUX ライブラリを使用したプログラムは、GLUT ライブラリに変更することをおすすめします。
AUX から GLUT への書き換えについては、AUX2GLUTをご覧ください。


■ TK ライブラリ

AUX ライブラリは、TK ライブラリ(ToolKit)をラップしたライブラリです。 一部を除き、多くの aux 関数は対応する tk 関数を呼び出しています。
このような二重構造になっている理由はわかりませんが、 TK ライブラリのインターフェイス仕様を変更したものが AUX ライブラリと考えることもできます。


■ UNIX 版 の AUX ライブラリ

UNIX 版の AUX ライブラリ、TK ライブラリのソースは、以下のページから入手可能です。


コンパイル方法(UNIX版)

最初に TK ライブラリをコンパイルします。

$ tar xvzf libtk.tar.Z
$ cd libtk
$ xmkmf
$ make
$ cd ..

次に AUX ライブラリをコンパイルします。

$ tar xvzf libaux.tar.Z
$ cd libaux
$ xmkmf
$ make
$ cd ..

libaux/ の下に libaux.a ができるので、 aux.h を /usr/include/GL に libaux.a を /usr/lib にコピーします。



UNIX 版の AUX ライブラリ、TK ライブラリのソースは、赤本(初版)のサンプルと一緒に、以下のページからも入手可能です。 (こちらはバージョンが少し古いものです。)


コンパイル方法(UNIX版)

$ tar xvzf opengl.tgz
$ cd openglbk
$ xmkmf
$ cd libtk
$ xmkmf
$ make
$ cd ../libaux
$ xmkmf
$ make
$ cd ..
$ make
$ cd ..

openglbk/libaux/ の下に libaux.a ができるので、 aux.h を /usr/include/GL に libaux.a を /usr/lib にコピーします。


■ Windows 版 の GLAUX ライブラリ

Windows 版の GLAUX ライブラリは、VC++ 6.0 以降標準で、 GLAUX のヘッダ(glaux.h) とスタティックライブラリ(glaux.lib)が含まれています。

例えば Visual C++ 2005 では以下の場所にあります。

C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl\GLAux.h C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\GlAux.lib

VC++ の Edition によって(例えば、Visual C++ 2005 Express Edition)は、VC++ に加え、無償で提供されている Microsoft Windows SDK (旧 Platform SDK) をインストールする必要がある場合があります。

Windows で GLAUX ライブラリを使う場合はこれらを使用します。



GLAUX ライブラリを自分でコンパイルする場合(Windows版)


コンパイルに必要な環境(Windows版)

  • VC++
  • VC++ の Edition によっては、更に Microsoft Windows SDK (旧 Platform SDK)

コンパイル方法(Windows版)

  1. MS-DOS プロンプト(DOS窓)を開きます。
  2. vcvars32.bat を実行します。(これは、VC++ の bin の下にあります。)
  3. nmake を実行してコンパイルします。
  4. glaux.lib が作成されます。

備考

Boland C++ のように GLAUX ライブラリがないコンパイラは、 ソースからコンパイルすることで GLAUX ライブラリを作成することができます。 (その場合は、ソースの一部を手直しする必要はあるかもしれません。)


[3D TOPメニュー]
[OpenGL] [irisGL] [VRML] [作品集] [イエローページ]
[書籍紹介] [DVD]
[この Web ページについて] [アンケート] [予定]
[OpenGLストア]

[Namazu TOPメニュー]