華氏(グラフィックス API)

Fahrenheitは、 Direct3DOpenGLを統合し、3Dコンピュータグラフィックス用の高水準APIを統一する取り組みでした。主にMicrosoftSGIによって設計され、 HPとMicrosoftの共同作業による成果も含まれています。

Direct3DとOpenGLは、主に3Dレンダリングパイプラインのレンダリングステップに特化した低レベルAPIです。これらのAPIを使用するプログラムは、パイプラインの残りの部分を処理するためにかなりの量のコードを提供する必要があります。Fahrenheitは、これらの作業の大部分を単一のAPIで実行し、最後のステップでDirect3DまたはOpenGLのいずれかを呼び出すことを目指しました。

当初のFahrenheitプロジェクトの大部分は放棄され、MicrosoftとSGIは最終的に共同開発を断念しました。最終的にリリースされたのは、Fahrenheitシステムのシーングラフ部分( XSG)のみで、その後まもなく開発が中止されました。

歴史

背景

1990年代、SGIのOpenGLは3Dコンピュータグラフィックスの事実上の標準でした。1990年代半ばまでは、様々なプラットフォームで様々なカスタムソリューションが使用されていましたが、グラフィックス市場におけるSGIの力とOpenGL Architecture Review Board (ARB)の取り組みにより、グラフィックスワークステーション市場の大部分でOpenGLが急速に標準化されました。1990年代半ば、MicrosoftはWindows NTオペレーティングシステムを主要な3DシステムとしてOpenGLのライセンス供与を受けました。MicrosoftはNTをワークステーションクラスのシステムとして位置付けており、この分野で真の競争力を持つためにはOpenGLが必要でした。最初のサポートは1994年にWindows NT Workstationバージョン3.5でリリースされました。[ 1 ]

混乱を招いたのは、マイクロソフトが1995年2月にRenderMorphics社を買収したことだ。[ 2 ]同社のReality Lab製品は、ゲーム用途に特化した3Dライブラリで、主に「ローエンド」市場を対象としていた。マイクロソフトはこれをDirect3D 3.0に改名し、 Windows 95およびゲームプログラミング向けの主要3D APIとしてリリースした。このことが、マイクロソフト社内外で、両APIのメリット、そしてDirect3Dを推進すべきかどうかについて、激しい議論を巻き起こした。[ 3 ] [ 4 ] [ 5 ]

SGIは1990年代半ばを通じて、プログラミングを容易にするため、OpenGL上に高レベルAPIを提供するための一連の取り組みを行っていました。1997年までに、これはOpenGL上に保持モードC++ APIであるOpenGL++システムへと進化しました。彼らは、この修正版をOpenGL、あるいはMicrosoftが開発中であることが知られている新しい高性能低レベルAPI(Reality Labベースではない)のいずれかの上に単一のAPIとして使用することを提案しました。これは実装の詳細を隠蔽し、OpenGLとDirectXの争いを不要にするだけでなく、より堅牢なオブジェクト指向開発環境のための、はるかに優れた高レベルインターフェースを提供することにもつながりました。

OpenGL++の取り組みは1997年までARBで長引いた。SGIはサンプル実装を提供するためにプロジェクトにリソースを投入したが、全体的な進捗には満足していなかったようで、「作業はたくさんあるのに、コミュニケーションが比較的少ない」と不満を漏らした。[ 6 ]特にマイクロソフトは、この取り組みを支援しないことをはっきりと表明しており、SGIは今後の取り組みには同社の支援が不可欠だと感じていた。

発表

1997年12月の共同プレスリリース[ 7 ]と、それに続く1998年初頭のARB会議でのSGIによる発表[ 8 ]で、 OpenGL++の開発は中止され、SGIはMicrosoftと提携して「Fahrenheit」というコードネームの新しいシステムを開発することが発表された。SGIは、ほとんどのアプリケーションで使用される主要な「中規模」APIであるFahrenheit Scene Graph [ 9 ]CADアプリケーションの非常に大きなモデルを処理できるように修正されたFahrenheit Large Modelを提供する予定だった。Microsoftは、Windows用の新しい低レベルレンダリングエンジンであるFahrenheit Low Levelを提供する予定だった。これは、基本的にReality LabベースのDirect3Dの代替となるものだった。[ 10 ]このプロジェクトは、1998年のSIGGRAPHで正式に発表され、1999年末または2000年初頭にリリースされる予定だった。 [ 11 ]

SGIでは、Fahrenheitが開発の主眼となった。MIPSベースのワークステーションは、1990年代初頭に誇っていた性能の優位性を急速に失いつつあり、平均的なPCがハイエンドグラフィックス市場を徐々に、しかし確実に侵食していく中で、同社は深刻な問題に直面していた。SGIはFahrenheitを出口戦略と捉えていた。完成すれば、PCベースのラインナップに移行しつつも、今やユニバーサルAPIに対応した最高の開発ツールを提供できると考えたのだ。移植作業は開始されなかったものの、Open InventorOpenGL Performerといったツールキットは、将来的にFahrenheit上に構築されることが想定されていた。つまり、Fahrenheitの出荷時には、既存の顧客と新規顧客の両方をサポートできる、単一の完全機能開発システムを提供できるということだった。[ 10 ]

キャンセル

1999年までに、MicrosoftがLow Levelを提供する意図がないことは明らかでした。公式には開発に取り組んでいたものの、実際にコードを作成するためのリソースはほとんど割り当てられていませんでした。[ 11 ]同時に、MicrosoftはDirectX 7.0(3.0とほぼ名ばかりの類似品)に多額の投資を行っていました。Low Levelがなければ、FahrenheitをWindowsに提供することはできず、プロジェクトは停滞しました。最終的にSGIはFahrenheitの開発を断念し[ 12 ]、他のScene Graph製品の計画を開始しました。これが、同様のプロジェクトの最後となりました。

2000年までにDirectX 7.0が市場に登場し、高い人気を博しました。DirectXは、1990年代後半の3Dゲーム隆盛期に主要なAPIとなりました。Microsoftは同年、Fahrenheit Scene GraphをXSGとしてリリースしましたが、サポート対象外となる旨の注意書きが付いていました。XSGの新バージョンはリリースされず、MicrosoftとSGIのWebページからFahrenheitまたはXSGに関するページはすべて削除されました。ハードウェアアクセラレーションによるOpenGLのサポートは、Windows XPに付属するビデオドライバから削除されましたが、ほとんどのビデオカードメーカーは独自の実装を提供しています。

説明

Open InventorIris Performerと比較すると、XSG の設計にはいくつか斬新なアイデアが含まれていました。コンポジションプリミティブとトラバーサルメソッドにより、アプリケーションは視覚化するデータの構造に最適な方法でシーンを構築し、その後シーングラフオプティマイザを適用してシーンを再構成することで、シーンの外観を変えることなく、より効率的なレンダリングを実現できました。開発者は自然と思われる操作を行うだけで、システムはそれを迅速に実行しました。

パイプラインレンダリングにより、マルチスレッドアプリケーションはシーンを構築し、プリミティブをカリングし、異なるスレッドでレンダリングすることが可能になりました(Performerのアプリカリング描画パイプラインを流用)。プリミティブシーンデータの表現は、スレッドごとに完全に重複することを避けるため、保存されるデータ量を最小限に抑えるように最適化されています。

XSGのユニークな機能の一つは、グラフを走査するための組み込みメソッドのほとんどを独自のバージョンに置き換えることができる点です。開発者は、XSG内でデータを格納する既存のメソッドを高速に走査するための新しい関数を作成し、それを既存のレンダリングパスに連結することができました。

SGI の Fahrenheit の主任設計者であった David Blythe は、2010 年まで Microsoft で DirectX に携わっていました。また、Intel のチーフ グラフィックス ソフトウェア アーキテクトでもありました。

参照

参考文献

  1. ^ PCマガジン、1994年12月20日
  2. ^ 「RenderMorphicsとReality Labの歴史」 . Qube Software. 2008年12月23日時点のオリジナルよりアーカイブ2009年1月25日閲覧。
  3. ^ Thurrott, Paul (1997年7月16日). 「Open GL vs. Direct3D: the debate continue」 . Windows IT Pro. 2010年2月5日時点のオリジナルよりアーカイブ。 2009年1月25日閲覧
  4. ^ Thurrott, Paul (1997年7月21日). 「Direct3D vs. OpenGLは続く:idとAlex St. Johnの反撃」 . Windows IT Pro. 2010年2月5日時点のオリジナルよりアーカイブ。 2009年1月25日閲覧
  5. ^マイクロソフトと3Dグラフィックス:イノベーションと競争の抑制に関するケーススタディ 2007年10月23日アーカイブ、 Wayback Machine
  6. ^ 「OpenGL ++ ARB Interest Subcommittee Meeting Notes」 OpenGL、1997年6月6日。 2009年1月25日閲覧
  7. ^ 「Silicon GraphicsとMicrosoft、グラフィックスの未来を定義する戦略的提携を締結」。カリフォルニア州マウンテンビュー:Microsoft。1997年12月17日。2009年1月22日時点のオリジナルよりアーカイブ。 2009年1月25日閲覧
  8. ^ Leech, Jon (1998年3月9~10日). 「ARB会議メモ」 . ソルトレイクシティ、ユタ州: OpenGL. 2008年5月16日時点のオリジナルよりアーカイブ。 2009年1月25日閲覧
  9. ^ Dana, Jenny (1998年9月). 「Fahrenheit InitiativeのAPI」 . Silicon Valley . SIGGRAPH. 2007年8月7日時点のオリジナルよりアーカイブ2009年1月25日閲覧。
  10. ^ a b Fahrenheit FAQ、Wayback MachineのSGI FAQアーカイブ
  11. ^ a b「華氏とは何か/何だったのか?」 DirectX.com。2008年4月21日時点のオリジナルよりアーカイブ2009年1月25日閲覧。
  12. ^ 「HP、Fahrenheitグラフィックスエンジンを発表」 Computergram International、1999年10月19日。 2009年1月25日閲覧