OpenGL
[Wikipedia|▼Menu]
□記事を途中から表示しています
[最初から表示]

頂点宣言・頂点レイアウトの互換機能 GL_ARB_vertex_attrib_binding [11]が標準化されているのはOpenGL 4.3/ES 3.0以降である[12]
プログラマブルシェーダー

プログラマブルシェーダーを利用する場合は、GLSL言語等を使いシェーダープログラムを別途作成して、glUseProgram()関数を使ってあらかじめレンダリングコンテキストにプログラムオブジェクトをセットしてから描画関数を呼び出す必要がある。「GLSL」も参照
補助・拡張ライブラリ

OpenGLそのものは、ハードウェアおよびデバイスドライバー層に近い低次のライブラリである。そのため、よりアプリケーションソフトウェア層に近い、多くの高次の補助・拡張ライブラリが存在する。主に、3D描画機能を簡易化・拡張するもの、ウインドウシステムをサポートするもの、グラフィックス面以外の機能を付加するものに分けられる。
C/C++向け

GLU
(英語版) - カメラや球、円筒、曲面などの取り扱いを補助する

GLX - X Window SystemでOpenGLを利用するためのライブラリ

WGL(英語版) - Microsoft WindowsでOpenGLを利用するためのライブラリ (Windows APIおよびGDIの一部)

CGL(英語版), AGL(英語版), NSOpenGL (Cocoaの一部) - macOSでOpenGLを利用するためのライブラリ

EGL(英語版) - OpenGL ES, OpenVG(英語版)といったKhronosの描画APIと、下層のプラットフォーム固有ウィンドウシステムをつなぐインターフェイス[13]

GLUT - クロスプラットフォームのOpenGL対応ウィジェット・ツールキット

FreeGLUT(英語版) - GLUTの機能を強化した、上位互換ライブラリ[14]

GLUI(英語版) - GLUTをベースにしたウィジェットライブラリ

AUX - ウィジェット・ツールキットであるが、古くなっておりGLUTの使用が推奨されている

GLee(英語版) - OpenGL拡張の使用を容易にするライブラリ。開発は停止しており、公式バージョンの配布もされていない[15][16]

GLEW(英語版) - GLSLなどのOpenGL拡張の使用を容易にするライブラリ[17]。OpenGL 4.6に対応。

GLFW(英語版) - クロスプラットフォームのOpenGL対応フレームワークツールキット[18]OpenGL ESおよびVulkanにも対応。

GLUS (Graphic Library UtilitieS) - 公式のクロスプラットフォームなユーティリティ。OpenGL ESにも対応 [19]

OpenGL Mathematics (GLM) - GLSLライクに記述できるC++向けの算術ライブラリ[20]

OpenSceneGraph

FLTK - クロスプラットフォームのOpenGL対応ウィジェット・ツールキット

Open Inventor

ToGL - Valve Softwareが開発した、Direct3DからOpenGLへの変換レイヤー[21]

SDL - クロスプラットフォームなマルチメディアライブラリ

その他の言語向け

C/C++以外の主要なOpenGL言語バインディング(ラッパー)とライブラリには以下のようなものがある。

OpenTK
(英語版) - C#向けのローレベルなOpenGL/OpenGL ES/OpenALバインディング[22]

Java OpenGL (JOGL) - Java向けのバインディング

Java 3D - JOGL上に構築されるJava向けのシーングラフベース高レベルライブラリ


LWJGL - Java向けのゲーム開発用ライブラリ

なお、WebGLJavaScript向けの単なるラッパーや言語バインディングではなく、OpenGL ES派生の別規格である。

DirectXやVulkanとは異なり、具体的な公式ソフトウェア開発キット (SDK) や開発者向けのソフトウェアスイートは提供されていない。KhronosによるOpenGL SDKのサイトでは、APIリファレンスへのリンクや、補助ライブラリおよび開発ツールへのリンクが記載されているのみである[23][24]。NVIDIAのように、自社GPU向けのOpenGL拡張ヘッダーや開発ツールを含むSDKを提供しているベンダーもある[25]
バージョンの変遷
OpenGL 1.1

テクスチャに対応。Windowsの標準ドライバーおよびWGLで標準サポートされているのは、このOpenGL 1.1である[26]
OpenGL 1.5

2003年にリリースされたOpenGL 1.5では、拡張機能としてプログラマブルシェーダーのための高級言語(GLSL 1.0)に初めて対応した[27]
OpenGL 2.x

2004年にリリースされたOpenGL 2.0では、シェーディング言語GLSLのバージョン1.1対応が標準仕様として盛り込まれた。
OpenGL 3.x

2008年にリリースされたOpenGL 3.0では、肥大化したOpenGL APIセット自体のシェイプアップを目的として2.x以前の世代を切り捨てる大幅なアップデートが行われ、多くの機能が非推奨・廃止予定になった。翌2009年3月に発表されたOpenGL 3.1では固定機能シェーダーが標準仕様から取り除かれ、拡張機能扱いとなった。また同年8月に発表されたOpenGL 3.2では、Direct3D 10で導入されたジオメトリシェーダーに正式対応した[28]。固定機能シェーダーの廃止やジオメトリシェーダーの対応などは、Direct3D 10の仕様と合致している。
OpenGL 4.x

2010年3月11日に OpenGL 4.0 を発表[29]。Direct3D 11のハル シェーダー、テッセレータおよびドメイン シェーダーに相当する、テッセレーション制御シェーダー、テッセレーション プリミティブ ジェネレーターおよびテッセレーション評価シェーダーが搭載された[30]

2010年7月26日に OpenGL 4.1 を発表[31]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:74 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef