OpenGL Utility Toolkitとは? わかりやすく解説

OpenGL Utility Toolkit

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/10/05 18:21 UTC 版)

OpenGL Utility Toolkit (GLUT)
作者 Mark J. Kilgard
開発元 シリコングラフィックス
最新版
3.7 / 1998年5月7日 (26年前) (1998-05-07)
リポジトリ
プログラミング
言語
C/C++
対応OS Windows, macOS, Linux
プラットフォーム クロスプラットフォーム
種別 ライブラリ/フレームワーク
公式サイト www.opengl.org/resources/libraries/glut/
テンプレートを表示

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

シリコングラフィックス (SGI) やマーク・キルガード英語版Mark J. Kilgard)によって開発された。

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

概要

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

GLUTは単なるユーティリティにとどまらず、アプリケーションフレームワーク的な機能も併せて持っており、シンプルな構成でありながらプラットフォーム固有のウィンドウウィジェットの生成処理などを隠蔽・自動化してくれる。特にOpenGLのレンダリングコンテキストを生成してウィンドウにアタッチする処理やイベントループの扱いは、オペレーティングシステムおよびウィンドウシステムごとに異なり、OpenGLのAPIを使って描画したグラフィックスを実際に画面に表示させてインタラクションができるようになるまでには定型的な初期化処理を相当量書かなくてはならないため、初学者にとって難解なだけでなく、熟練者にとっても煩雑である。そのため、OpenGLの補助ライブラリの中でも特に広く使用されており、グラフィックスプログラムのプロトタイピングや入門書などでも用いられている[2]

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

GLUTはソースコードが公式サイトにて公開されている。パブリックドメインではなく、また無保証だが、ライセンス料を支払うことなく無償で利用できる[3]Microsoft Windows SDKにはGLUが同梱されているものの、GLUTは同梱されていない。XcodeにはGLUT.frameworkが同梱されている[4]が、OpenGLとともに非推奨となっている。

なお、かつてはMicrosoft DirectX (Direct3D) 用のGLUT風フレームワークライブラリ「DXUT」がそのソースコードとともにDirectX SDKに同梱されていた[5][6]。DXUTはC++専用で、Direct3D 9/10/11に対応しており、GLUTのようなコールバック形式のフレームワークに加えて、ボタンやドロップダウンリストなどのGUI部品も独自にサポートしていた。DXUTは主にDirectXのサンプルコードや技術的なデモンストレーションのために用意されていたものであり、実際のアプリケーションソフトウェア開発向けではない。

問題点

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

なお、GLUTは最終版3.7のリリースが1998年であるが、その後グラフィックスハードウェア(オンボードグラフィックスあるいはグラフィックスカードに搭載されているGPU)の進化とともに廃止されたOpenGL固定機能(OpenGL 3.0で非推奨化、3.1で拡張機能として格下げ、3.2で互換プロファイルに分離)に依存している。そのため、最新のOpenGL機能を利用するときに、OpenGLレンダリングコンテキストの作成処理が隠蔽されているGLUTでは不都合がある[7]。 レンダリングコンテキストの作成時にプロファイル種別を指定できるGLFW英語版などの新しい後発ライブラリやツールキットによって、GLUTはとって代わられつつある。

脚注

  1. ^ GLUT 3.7同梱のREADMEを参照のこと。
  2. ^ 床井浩平『GLUTによるOpenGL入門―「OpenGL Utility Toolkit」で簡単3Dプログラミング!』工学社〈I・O BOOKS〉、2005年5月。ISBN 4-7775-1134-0 
  3. ^ GLUT 3.7同梱のNOTICEを参照のこと。
  4. ^ OS X Frameworks - Mac Technology Overview
  5. ^ DXUT プログラミング ガイド (DirectX SDK August 2008) | Microsoft Learn
  6. ^ DXUT プログラミング ガイド (DirectX SDK August 2009) | Microsoft Learn
  7. ^ 床井研究室 - (1) GLFW で OpenGL を使う

関連項目

外部リンク





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OpenGL Utility Toolkit」の関連用語

OpenGL Utility Toolkitのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OpenGL Utility Toolkitのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのOpenGL Utility Toolkit (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS