メインメニューを開く

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世紀末まではこんな酷い状況であったが、21世紀に入ってから大量にあったGPUメーカーやグラフィックボードメーカーも淘汰されまくり、パソコンワークステーション向けのGPUの種類もグラフィックボードの種類もの激減したことでかなりマシになった。

一方、OpenGL ESスマートフォンの大流行とともにゴールドラッシュのごとく新規メーカーが次々と現れ再び互換性問題が発生しまくっている。とくにスマートフォンは毎月何台発売するんだよという状況であり、そのシェアも分散しまくっているため、それらを広くサポートしようとするとソースコードはif文の嵐となる。もらではOpenGL ESよりも、GPS電子コンパスなどの各種センサーの方がヤバいと言われているのが唯一の救いである。

独自拡張が許可された背景編集

OpenGLにおいて独自拡張が許可された背景にはARBが大手メーカーの集まりであったことが大きい。

「大手メーカーが協力して」というのは建前であり、実のところ全社ライバルであるため、ある新機能についてA社が提案すればB社も似たような提案をし、投票をおこなえば各社自社の案に投票するという映画パイレーツ・オブ・カリビアン~ワールド・エンド~で海賊王を決めるシーンそのものな状況が続きまったく進化しなくなった。これはUNIX戦争におけるOpen Software FoundationOSF)陣営が犯した失敗と非常に似ている。

これによりグラフィックボードメーカー各社の出した改善案を、マイクロソフトの独断と偏見で採用・不採用を決めるという大統領制を採用していたDirectXDirect3D)の快進撃と怒涛の進化に大幅に後れを取ることとなり、仕方なくその場しのぎの独自拡張を許すこととなった。

なお、Direct3Dの大統領制に追従できず淘汰されたメーカーが続出したことにより、メーカーの多さが問題の根底にあったOpenGLも改善してきたという側面もあり、OpenGLの管理がKhronos Groupに移管した時期ぐらいから進化は再開しだしている。なお今なお互換性問題は減りはしたものの相変わらずである。

関連項目編集

参考文献編集