プリンス・マクリーン
· 2分で読めます
1990 年代半ば以降、Microsoft は、独自のグラフィックス ソフトウェアおよびゲーム ツールの DirectX ポートフォリオを優先し、相互運用可能な業界標準としての OpenGL の採用を阻止しようと努めてきました。
マイクロソフトの DirectX
マイクロソフトのDirectX戦略は、当初はDOSゲーム開発者をWindowsへと誘導することを目的としていました。しかし、DirectXはWindowsでのみ利用可能であるため、この戦略はPCゲームをWindowsに縛り付ける役割を担うようになりました。DirectXの歴代バージョンもまた、開発者を最新バージョンのWindowsへと誘導するために利用されてきました。例えば、最新バージョン10では、Vista専用ゲームの大量リリースによってVistaの売上を伸ばすことが期待されていました。しかし、これは意図した通りにはいきませんでした。Vistaの普及が遅かったため、DirectX 10ゲームの本格的な市場は形成されず、PCゲームはWindows XPをターゲットとすることになったのです。
OpenGLとApple
OpenGLの基盤は、80年代にハイエンドグラフィックワークステーションベンダーのSGIで開発され、90年代初頭にオープンスタンダードとなりました。Microsoftは、Windows 95のDirectXツールの一部として、競合するDirect3Dをリリースしました。90年代後半にはSGIとMicrosoftがFahrenheitという名称で共同開発を行っていましたが、両者の統合に向けた取り組みは実現しませんでした。MicrosoftはPCコンピューティングにおける優位性を活かし、独自のDirectXを開発し、GPUメーカーにその採用を促しました。その結果、OpenGLを取り巻くオープンソースコミュニティは、OpenGLを現実的な選択肢として維持するために必要なサポートを得られなくなりました。
OpenGLは、Appleが独自のQuickDraw 3Dアーキテクチャを廃止し、90年代後半にMac OS Xの公式3DライブラリとしてOpenGLを採用するまで、ほとんど忘れ去られていました。同社のコンシューマー向けプラットフォームは、OpenGLアプリケーションのユーザー層拡大に貢献しました。その後、オープンソースコンピューティングへの関心が高まり、OpenGLはLinuxで採用され、最近ではソニーのPSP、PS3、任天堂のWiiなど、主要なゲーム機のすべてで採用されています。
例外となるコンソールは、もちろん Microsoft の Xbox です。Xbox は、ゲームにおける OpenGL への広範な移行と、それに伴う Microsoft のソフトウェア独占の崩壊を阻止するために推進するように設計された DirectX グラフィック ライブラリにちなんで名付けられました。
OpenGLは今や、DirectXとの競争力をかつてないほど高めています。MicrosoftはVistaとDirectX/Direct3Dバージョン10での失敗も、市場における同社の勢いを失わせる一因となっています。MicrosoftはWindows 7のDirectX 11にGPGPUコンピューティング向けのOpenCLライクなサポートを追加する予定ですが、OpenGLコードと密接に連携するように設計されたAppleのOpenCLが最初にリリースされ、業界の幅広い支持を得ることになります。Appleはまた、OpenCLをロイヤリティフリーのオープンスタンダードとしてリリースしており、誰でもあらゆるプラットフォームに実装できます。
OpenGLとOpenCLの設計上の類似性により、開発者は例えば、OpenCLで視覚化のためのデータを計算し、同じオブジェクトを用いてOpenGLでグラフィックスをレンダリングするといったコードを容易に作成できます。また、OpenGLでレンダリングされたグラフィックスは、OpenCLに組み込まれたタスクを用いて処理・変換することも可能です。それぞれの導入と使い慣れは、互いのメリットを補完するでしょう。
GPU メーカーの NVIDIA および AMD のオープン スタンダードのサポート、および Apple、Sony、Nintendo のプラットフォーム サポート、そして Linux と Windows のサポートにより、Microsoft の Windows のみのサポートからグラフィックスの直接サポートと開発が解放され、あらゆる企業の開発者がグラフィックスの最先端技術を推進する能力を獲得する準備が整ったようです。