OpenGL Utility Toolkit

OpenGL Utility Toolkit (GLUT) とは、リアルタイム3次元コンピュータグラフィックス用APIのひとつであるOpenGLのバージョン1.1に準拠したユーティリティツールキット（ライブラリ）である。GLUTはC言語形式の関数群で構成されている。

シリコングラフィックス (SGI) や（）によって開発された。

Windows、macOS、LinuxなどのUnix系オペレーティングシステム (OS) で使用できる。

概要 
OpenGL向けの基本的な拡張ライブラリとしては、同次変換行列の生成などを補助するGLU () が存在するが、GLUTはGLUにない下記の機能を持つ。

 OpenGL描画のための複数ウィンドウ
 コールバック形式のイベント処理
 マウスやキーボードなどの基本入力デバイス対応
 アイドリングとタイマー
 シンプルなポップアップメニュー
 ソリッド／ワイヤーフレームの基本図形（球、立方体、円錐、トーラス、およびティーポット）の生成機能
 ビットマップ／ストロークフォント
 その他のウィンドウ管理関数

GLUTは単なるユーティリティにとどまらず、フレームワーク的な機能も併せて持っており、シンプルな構成でありながら初学者にとって面倒なウィンドウウィジェットの生成処理などを自動化してくれるため、OpenGLの補助ライブラリの中でも特に広く使用されており、グラフィックスプログラムのプロトタイピングや入門書などでも用いられている。

OpenGL関数にglプレフィックスが付けられているのと同様に、GLU関数にはgluプレフィックスが、またGLUT関数にはglutプレフィックスがそれぞれ付けられている。

GLUTはソースコードが公式サイトにて公開されている。パブリックドメインではなく、また無保証だが、ライセンス料を支払うことなく無償で利用できる。

なお、Microsoft DirectX (Direct3D) 用のGLUT風フレームワークライブラリとして、DXUTが存在する。DXUTはC++専用で、GLUTのようなコールバック形式のフレームワークに加えて、ボタンやドロップダウンリストなどのGUI部品もサポートしている。

問題点 
GLUTはメインループに突入した後、終了時にウィンドウをクローズする際にメインループから抜け出す手段が用意されておらず、exit関数を使うなどして半強制終了するしかない。
また、マウスホイールなどのサポートがない。
GLUTからフォークし、これらの欠点を改善したFreeGLUTなどの派生ライブラリが開発されている。

なお、GLUTは最終版3.7のリリースが1998年であるが、その後グラフィックスカードの進化とともに廃止されたOpenGL固定機能（OpenGL 3.1以降で廃止）に依存している。そのため、最新のOpenGL機能を利用するときに、OpenGLレンダリングコンテキストの作成処理が隠ぺいされているGLUTでは不都合がある。
レンダリングコンテキストの作成時にプロファイル種別を指定できるなどの新しい後発ライブラリやツールキットによって、GLUTはとって代わられつつある。

脚注

関連項目 
 OpenGL

外部リンク 
 GLUT documentation
 OpenGLUT
 FreeGLUT
 GLUTによる「手抜き」OpenGL入門

OpenGL
ライブラリ (プログラミング)
API