OpenGL
OpenGL(おーぷんじーえる)とは、Khronosグループが策定しているコンピューターグラフィックス関連のオープンな低API仕様のことである。
OpenGLのサブセットとして主に携帯電話など向けにシンプル化したOpenGL ESというものがある。多くの場合、OpenGLもOpenGL ESも同列に語れることが多いが、微妙に別物なので、このページでは主に無印OpenGLについて記述する。
概要
OpenGLは、元々はSGIが自社ワークステーションで使用していたIRIS GLというシステムを改良し、移植性を高めたものである。
それが1992年にOpenGL Architecture Review Board (ARB)という大手コンピューターメーカーの集まりにより監修されるようになった。
2006年9月21日以降からは、中小企業も交え100以上の企業で構成される標準化団体クロノス・グループ (The Khronos Group) へ管理が移行し、OpenGL ARB Working Group (OpenGL ARB WG) となった。
互換性
OpenGLはオープンな仕様であるため、各種OSに移植または互換GLが作成され、またグラフィックチップベンダーもオープンソースOS用のドライバを用意するなど汎用性に富むライブラリとなっている。
と書くと凄い良いものに思えるが、OpenGLはあくまで仕様書だけの存在なので、その実装は様々であり、その互換性も微妙なのが実情であった。
しかもOpenGLは「独自拡張OK」というクソ仕様であったがために、結局のところ特定メーカーのグラボでないと動かないソフトが乱造されまくった。
が、20世紀末までは大量にあったグラフィックボードメーカーも淘汰されまくっり、かなりマシになった。
一方、OpenGL ESはスマートフォンの大流行とともにゴールドラッシュのごとく新規メーカーが次々と現れ、再び互換性問題が発生しまくっている。
独自拡張が許可された背景
OpenGLにおいて独自拡張が許可された背景にはARBが大手メーカーの集まりであったことが大きい。
「大手メーカーが協力して」なんてのは建前。実のところ全社ライバルであり、ある新機能についてA社が提案すればB社も似たような提案をし、投票をおこなえば各社自社の案に投票するという、まさにパイレーツ・オブ・カリビアン~ワールド・エンド~で海賊王を決めるシーンそのものな状況が続き、まったく進化しなくなった。
その裏でグラボメーカー各社の出した案をマイクロソフトの独断と偏見で採用不採用を決める大統領制を採用していたDirectXの快進撃。
しかたなく、その場しのぎの独自拡張を許すこととなった。
Khronos Groupに管理が移管し、進化は再開したが、互換性問題は相変わらず。
関連項目
- DirectX
- PlayStation Suite SDK - OpenGLをDirect3D風にした奇妙なライブラリを搭載している。
参考文献