GLUT について


GLUTライブラリとは、OpenGL Utility Toolkit のことで、従来の GLAUX(AUX) ライブラリによく似た、それでいてより複雑なプログラムが作成できるものです。

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

GLUT の特徴としては、複雑な Window 処理のサポートにあります。複数の Window を開くことができたり、Window サイズを変更したり、ポップアップメニューを作ったりといったことができる関数が用意されています。irisGL のことを知っている方なら、irisGL に非常に近づいたと思うことでしょう。OpenGL は、移植性を高めるために Window 周りの関数を省いたのですが、GLUT の登場により irisGL からの移植を簡単にすることができるようになりました。(事実、GLUT を用いた irisGL ライブラリがあります。)


OpenGL 1.1 の赤本(第二版)以降は、GLUT ライブラリが利用されています。
OpenGL の入門書は GLUT ライブラリを使ったものがほとんどです。

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

GLUT は、イベント駆動型プログラムスタイルでアプリケーションを作成することができます。
イベント駆動型プログラムに必要な各種 Window 処理のサポートが行われています。
フルスクリーン表示、複数のウィンドウやポップアップメニュー、オーバーレイをサポートします。
コールバック関数を登録し、イベント(再描画、リサイズ、キー入力、マウス入力等)が発生した場合に対応するコールバック関数を呼び出すことができます。
入力デバイスとしては、キーボード/マウスはもちろん、 スペースボール/ボタンボックス/ダイアル、タブレット(X11 のみ)、 ジョイスティック(Windows のみ)をサポートしています。

また、GLUT ライブラリには、インデックスモードのためのパレット設定(カラーマップ設定)、 ビットマップフォント、ストロークフォントを用いた文字列の描画、 ユタ・ティーポットや球、立方体、トーラス、20面体等の 3次元オブジェクトをワイヤーフレームまたはソリッドオブジェクトとして描画する機能もあります。

ビデオリサイズ、デバッグ用エラーメッセージ表示機能、デバイス制御、ゲームアプリケーション向きフルスクリーン表示のゲームモード等もサポートしています。


■ GLUT API リファレンス

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

glutwiresphere glutsolidteapot


■IRIX 版, Win32 版の GLUT ライブラリ

IRIX 版, Win32 版(Windows 95, 98, Me, NT, 2000, XP)の GLUT ライブラリについては、以下のページをご覧ください。
また、GLUT ライブラリもこのページから入手できます。




GLUT ライブラリ(Win32版)


glut-3.7.6-bin.zip の中にはGLUT アプリケーションの実行およびコンパイルに必要な以下のファイルが含まれています。
  • glut.h ヘッダ
  • glut32.dll DLL
  • glut32.lib インポートライブラリ

通常は、このファイルを用いて、GLUTアプリケーションの実行や、GLUTアプリケーションのコンパイルを行います。


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

コンパイル済みのライブラリが用意されていますので、通常、自分でコンパイルする必要はありません。

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

コンパイル方法(Win32版)

GLUT ライブラリをソースからコンパイルする場合は以下の手順で行います。
  1. MS-DOS プロンプト(DOS窓)を開きます。
  2. vcvars32.bat を実行します。(これは、VC++ の bin の下にあります。)
  3. 必要なら glutwin32.mak を自分の環境に合わせてテキストエディタで編集します。
  4. glutmake.bat を実行してコンパイルします。

補足(Windows版)

  • glutwin32.mak を編集して、SGI の OpenGL ライブラリ(opengl.dll, glu.dll)を使うように設定することも可能です。


■GLUT 関係の参考書

緑本。OpenGL の解説書。
「OpenGL Progiramming for the X Window System」というタイトルから分かるように X Window System 向けの内容となっていますが、 中心部ではプラットフォームに依存しない GLUT を使っているため、Windows ユーザーでも参考になります。

GLUT の入門書としての価値も高いものです。

出版されたのが古いため、古いバージョンの GLUT (GLUT_API_VERSION = 3)を対象としていることに注意してください。
GLUT を使った OpenGL の入門書。 GLUT の各関数についても逐次解説があります。 (解説のある関数は基本的なものに限られます。)
GLUT を使った OpenGL の入門書の続編。 GLUT 自体の解説はほとんどありません。

その他、OpenGL 関係書籍はこちら


■Mesa の GLUT ライブラリ

現在の Mesa には、glut ライブラリが含まれています。

http://www.mesa3d.org/


■freeglut ライブラリ

freeglut ライブラリ

http://freeglut.sourceforge.net/


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

[Namazu TOPメニュー]