OpenGL(Open Graphics Library)とは、クロノスグループが策定したコンピューターグラフィックAPIの仕様である。
元々はSiliconGraphicsによる内部グラフィックスシステムであったIrisGLを改良し、そのAPI仕様を公開したもの。一般公開されているため、多くの機器、OSに対応するクロスプラットフォーム設計である。OpenGLはソフトウェアのように説明されるが、ソフトウェアではない。
モバイルデバイス向けに機能が簡略化された「OpenGL ES」や、web上での軽快な動作を目的としたWebGLも開発されている。
3DCG用の機能中心だが、2Dにも十分利用可能。ただしあくまでグラフィックAPI仕様であるため、音声や入出力などは他のライブラリ、コードが必要。またレイトレーシングや文字表示も単体では処理できない。得意分野についてもOpenGLを直接使うのは敷居が高く、FreeGLUTなどの補助ライブラリが用いられることが多い。
MSプラットフォーム限定のDirect3Dと違い、一度コードを書けばほぼあらゆるOSでも通用するという利点がある(マルチプラットフォーム)。両者は一度統合を目指したこともあったが結局頓挫しており、要求するハードウェアの特性やAPIの違いは埋められていない。
かつては更新が遅いことで知られていたが、近年はDirect3Dにほぼ歩調を合わせた進歩を遂げるようになっている。
実際のソフトウェア開発現場ではOpenGLを直接扱うのは大変なので、有能でかつかわいいユニティちゃん(Unity3D)などゲームエンジンに丸投げするのが主流である。
OpenGLにはGPUの仕様の差を埋める目的もあり、その差分計算はCPUが担当する(CPUオーバーヘッド)。当然CPUに余計な計算をさせてしまい本来の性能が発揮できない。近年はこのようなことをしないようにライブラリを作る方向である※1。そのような新たな設計をされた後継ライブラリがVulkanである。
2018年6月5日、米アップル社は今後はOpenGLを非推奨とするアナウンスを行った。同社のOSでのOpenGL環境をいつまで維持するかは不明である。同社は代わりとして独自のグラフィックAPI「Metal」を徐々に採用している。
※1 ローオーバーヘッドAPI、ローレベルAPI(Low level API)
プログラミング環境としてはMicrosoft社VisualStudioのVisualC++を用いる。→VisualStudio
公式サイト
http://www.opengl.org/
日本SGI
http://www.sgi.co.jp/
急上昇ワード改
最終更新:2025/12/15(月) 04:00
最終更新:2025/12/15(月) 04:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。