プログラマブルシェーダーを利用する場合は、GLSL言語等を使いシェーダープログラムを別途作成して、glUseProgram()関数を使ってあらかじめレンダリングコンテキストにプログラムオブジェクトをセットしてから描画関数を呼び出す必要がある。「GLSL」も参照 OpenGLそのものは、ハードウェアおよびデバイスドライバー層に近い低次のライブラリである。そのため、よりアプリケーションソフトウェア層に近い、多くの高次の補助・拡張ライブラリが存在する。主に、3D描画機能を簡易化・拡張するもの、ウインドウシステムをサポートするもの、グラフィックス面以外の機能を付加するものに分けられる。
補助・拡張ライブラリ
C/C++向け
GLU(英語版
GLX - X Window SystemでOpenGLを利用するためのライブラリ
WGL
C/C++以外の主要なOpenGL言語バインディング(ラッパー)とライブラリには以下のようなものがある。
OpenTK
なお、WebGLはJavaScript向けの単なるラッパーや言語バインディングではなく、OpenGL ES派生の別規格である。
DirectXやVulkanとは異なり、具体的な公式ソフトウェア開発キット (SDK) や開発者向けのソフトウェアスイートは提供されていない。KhronosによるOpenGL SDKのサイトでは、APIリファレンスへのリンクや、補助ライブラリおよび開発ツールへのリンクが記載されているのみである[23][24]。NVIDIAのように、自社GPU向けのOpenGL拡張ヘッダーや開発ツールを含むSDKを提供しているベンダーもある[25]。 テクスチャに対応。Windowsの標準ドライバーおよびWGLで標準サポートされているのは、このOpenGL 1.1である[26]。 2003年にリリースされたOpenGL 1.5では、拡張機能としてプログラマブルシェーダーのための高級言語(GLSL 1.0)に初めて対応した[27]。 2004年にリリースされたOpenGL 2.0では、シェーディング言語GLSLのバージョン1.1対応が標準仕様として盛り込まれた。 2008年にリリースされたOpenGL 3.0では、肥大化したOpenGL APIセット自体のシェイプアップを目的として2.x以前の世代を切り捨てる大幅なアップデートが行われ、多くの機能が非推奨・廃止予定になった。翌2009年3月に発表されたOpenGL 3.1では固定機能シェーダーが標準仕様から取り除かれ、拡張機能扱いとなった。また同年8月に発表されたOpenGL 3.2では、Direct3D 10で導入されたジオメトリシェーダーに正式対応した[28]。固定機能シェーダーの廃止やジオメトリシェーダーの対応などは、Direct3D 10の仕様と合致している。 2010年3月11日に OpenGL 4.0 を発表[29]。Direct3D 11のハル シェーダー、テッセレータおよびドメイン シェーダーに相当する、テッセレーション制御シェーダー、テッセレーション プリミティブ ジェネレーターおよびテッセレーション評価シェーダーが搭載された[30]。 2010年7月26日に OpenGL 4.1 を発表[31]。
バージョンの変遷
OpenGL 1.1
OpenGL 1.5
OpenGL 2.x
OpenGL 3.x
OpenGL 4.x
Size:74 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef