MENU

OpenGL — 業界横断で続いてきた3Dグラフィックス標準

OpenGL アイキャッチ
OpenGL

OpenGL(Open Graphics Library)は、3Dグラフィックスをアプリから描画するためのクロスプラットフォーム標準API群です。1992年にSilicon Graphics社(SGI)が自社の「IRIS GL」を業界標準として開放する形で発表し、現在はKhronos Groupが仕様策定を担っています。Windows・macOS・Linux・FreeBSD・iOS・Androidなど主要OSと、NVIDIA・AMD・Intel・Apple・Qualcommといった主要GPUベンダがドライバを提供してきました。30年以上にわたって3Dグラフィックスの共通言語として機能し、CADソフト・科学技術可視化・ゲームエンジン・教育用CGに至るまで広く採用されてきた、コンピュータグラフィックスの土台となる標準APIです。

目次

この記事の目次

  1. OpenGLを支える3つの柱
  2. 1992年SGIの開放からKhronosへ
  3. 現在も生き続ける採用領域
  4. Vulkan/DirectXとの違い
  5. まとめ

OpenGLを支える3つの柱

OpenGLを支える3つの柱

OpenGLは「グラフィックスパイプライン」と呼ばれる一連の処理段階を抽象化しています。頂点バッファに格納されたメッシュデータが頂点シェーダで座標変換され、ラスタライザでピクセルに分解された後、フラグメントシェーダで色が計算されてフレームバッファに書き込まれます。アプリ開発者はOpenGLが定めた関数群(glDrawElements等)を呼ぶだけで、ハードウェアの違いを意識せず3D描画ができます。

もう一つの大きな柱がプログラマブルシェーダで、GLSL(OpenGL Shading Language)というC言語風の言語でGPU上で動く小さなプログラムを記述できます。頂点シェーダ・フラグメントシェーダから始まり、後にジオメトリシェーダ・テッセレーションシェーダ・コンピュートシェーダが追加されてきました。仕様策定はKhronos Groupが担い、NVIDIA・AMD・Intel・Apple・Qualcomm・Imagination Technologiesなどの主要ベンダが参加するワーキンググループで議論されます。業界横断で合意された標準としての地位が、OpenGLが30年以上にわたって生き残ってきた理由です。

1992年SGIの開放からKhronosへ

1992年SGIの開放からKhronosへ

OpenGLの起源は1992年、当時ハイエンド3Dワークステーションの覇者だったSilicon Graphics社(SGI)が自社製IRIS GLを業界標準として解放したことに遡ります。Sun Microsystems・IBM・Microsoft・DECといったライバル企業が結集してARB(Architecture Review Board)を1997年に組織し、共通API仕様の策定に当たりました。1990年代後半は3Dゲームの黎明期と重なり、Quake・Half-Lifeなど初期FPSがOpenGLレンダラを採用したことで一気に広まりました。

2006年にOpenGLの管理権限はKhronos Groupに移管されました。Khronosは元々OpenGL ESといったモバイル向け派生規格を管理していた団体で、これ以降OpenGL本体と統合してロードマップを策定するようになりました。OpenGL 3.0で旧式API群を非推奨にする「Core Profile」、OpenGL 4.5で「Direct State Access」を採用するなど近代化が続けられましたが、ハードウェアの進化に合わせて低レベル制御を求める声が強まり、2016年に後継API「Vulkan」が発表されました。OpenGLは現行版4.6を最後にメジャー更新が止まりましたが、CAD・GIS・科学技術系では現在も第一線で使われ続けています。

現在も生き続ける採用領域

現在も生き続ける採用領域

OpenGLは新しいゲームエンジンではVulkanやDirectX 12に置き換わりつつありますが、それでも現在進行形で使われている領域は数多くあります。AutoCAD・SolidWorks・CATIA・Rhinoceros・Inventorといった主要CAD/CAM/CAEソフトの描画エンジンは長年OpenGLで構築されており、工業設計の現場では今も標準的なグラフィックスAPIとして機能しています。GIS(地理情報システム)や気象シミュレータ、医療画像ビューアといった専門分野でも採用が続いています。

教育・学習用途でもOpenGLは健在です。大学のコンピュータグラフィックス講義では今もOpenGL/GLSLが標準的に取り上げられ、3D基礎を学ぶ際の定番教材になっています。古めのゲームエンジン(旧バージョンのUnity、ソースエンジン、Cocos2d-xなど)の描画パスや、Mesa経由でのRaspberry PiやVRChat互換アプリ、組み込みLinuxデバイスのUI描画にもOpenGL ES経由で広く採用されています。歴史的資産が膨大な領域では、依然として「動いているOpenGLを置き換える理由がない」状態が続いており、新規開発こそ減ったものの実運用での寿命は今後も長く続く見込みです。

Vulkan/DirectXとの違い

Vulkan/DirectXとの違い

OpenGLは高レベルなAPI設計で、ドライバ側が多くの状態管理を肩代わりする「使いやすさ重視」のグラフィックスAPIです。それに対しVulkan・DirectX 12・MetalといったモダンAPIは、CPU/GPU間の通信を開発者が明示的に制御する「低レベルAPI」として設計されており、マルチスレッドからの並列コマンド投入や、リソース管理の細やかな最適化が可能です。GPU性能を限界まで引き出したいAAAゲームやVR用途では、こうした低レベルAPIへの移行が進んでいます。

一方でOpenGLの「30年に渡ってどのOS・どのGPUでも動く」という汎用性は依然として価値があり、Windows・macOS・Linux・モバイルすべてで同じコードが動くため、CAD・GIS・教育・組み込み分野では引き続き選ばれます。Vulkan/DirectX 12は強力ですが、扱う複雑度がOpenGLとは桁違いで、小規模プロジェクトには重すぎる場合があります。「最先端の最適化が必要ならVulkan/DirectX、シンプルさと移植性を優先するならOpenGL」という棲み分けが現代の実情です。

まとめ

OpenGLは1992年にSGIが業界に開放したクロスプラットフォーム3Dグラフィックス標準APIで、現在はKhronos Groupが管理しています。プログラマブルシェーダと業界横断のドライバ実装により、CAD・GIS・教育・組み込みなど多様な現場で30年以上にわたって標準的に採用されてきました。Vulkan/DirectX 12への世代交代は進んでいますが、その移植性と高レベルさは依然として独自の価値を保ち続けています。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次