読み方 : オープンジーエル

OpenGL【Open Graphics Library】

概要

OpenGLとは、コンピュータで2次元あるいは3次元のコンピュータグラフィックス(CG)を高速に描画するための標準的なインターフェース(API)規格の一つ。もともと米シリコングラフィックス社(SGI)が自社製品向けに開発した「IRIS GL」を基盤としており、現在は業界団体のクロノス・グループ(Khronos Group)が仕様を管理している。
OpenGLのイメージ画像

特定のハードウェアやオペレーティングシステム(OS)の仕様に依存しない汎用的なグラフィックスライブラリとして、多くの環境で利用されている。Windows環境では米マイクロソフト(Microsoft)社の「Direct3D」(DirectXの3DCG機能)が普及しているが、Windows以外のOSや複数環境に同時対応する開発ではOpenGLが選ばれやすい。

ビデオカードなどに搭載されたグラフィックスチップ(GPU)の機能を直接呼び出せるため、CPUのみで処理する場合より高速な描画が可能である。GPU内部の処理を記述する独自言語の「GLSL」(OpenGL Shading Language)を備え、バーテックスシェーダーやフラグメントシェーダーなどのプログラムを実行することで、光の当たり方や陰影といった緻密な視覚表現を実現できる。OpenGL 4.3以降では画面表示を直接の目的としない計算を行う「コンピュートシェーダー」も利用でき、機械学習など画像処理以外の用途にもGPUの並列演算能力を生かせるようになっている。

規格としてはC言語やC++言語から利用するための仕様が中心だが、他のプログラミング言語向けの拡張仕様やライブラリも提供されている。ハードウェアに近い低レベルのAPIであるため、細かな制御が可能な反面、記述が煩雑になりやすく、初心者には扱いにくい面がある。実際の開発では、より扱いやすい高レベルの機能をまとめたラッパーライブラリを経由して利用されることが多く、用途や動作環境に応じて様々なライブラリが提供されている。

歴史と関連規格

1992年にSGIのIRIS GLを基礎として登場し、2006年に仕様管理がKhronos Groupへ移管された。最新版のOpenGL 4.6は2017年に公開され、SPIR-Vシェーダーを扱う機能などが追加された。Khronos Groupは2016年にOpenGL同様の低レベルのグラフィック機能制御を行うためのAPI規格「Vulkan」を策定し、OpenGLからの移行を促している。

派生規格として、スマートフォンなどの組み込み機器向けに機能を整理した「OpenGL ES」がある。ここからさらに派生して、WebブラウザのJavaScriptコードからGPUによる描画機能を利用できる「WebGL」が策定されている。なお、OpenGLは画面への描画を前提とした設計であるため、GPUの並列演算能力を汎用計算に用いるGPGPU用途には「OpenCL」などの別の規格が用いられることが多い。

(2026.9.25更新)
 

他の辞典等による「OpenGL」の解説 (外部サイト)

本ページを参照・引用している文書・論文など (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。