米NVIDIAは、北米現地時間10月1日にサンノゼ市で開催したGPU TECHNOLOGY CONFERENCE(GTC)内のセッション「Interactive Ray Tracing with the OptiX Ray Tracing Engine」にて、同社の新世代レイトレーシングエンジン「OptiX」について解説した。

OptiXは2009年8月のSIGGRAPH 2009にて発表されたレイトレーシングエンジンで、NVIDIA製のGPUでアクセラレーションが可能な点が特長となっている。

なぜ、今、レイトレーシングなのか

登壇したNVIDIA,Principal Research Scientist、Steve Parker氏は、まず、「なぜレイトレーシングなのか?」というこのOptiXプロジェクトの動機付けから解説した。

Steve Parker氏(NVIDIA,Principal Research Scientist)

現在のリアルタイム3Dグラフィックスの主流となっている「ポリゴン→ラスタライズ→ピクセル描画」からなるレンダリングパイプラインは「ラスタライズ法」と呼ばれる。この手法は、元々は3Dグラフィックスを「リアルタイムにレンダリングする」ことを主眼に置いて進化してきた経緯がある。ある意味、「リアルさ」よりも「リアルタイム性」を重視したメソッドとして進化してきたといってもよいかも知れない。

このラスタライズ法は、パフォーマンスがある程度、行き着いたところで、今度はリアル表現方向の進化を模索し始める。その結果としてプログラマブルシェーダ・アーキテクチャが生まれ、目的別の多様なプログラマブルシェーダの新設という進化を遂げてきた。ラスライズ法は決して否定されるべきではないが、現在のDirectX 11相当のレンダリングパイプラインは相当複雑になっており、この複雑な進化の方向性は、これからも続くと見られている。

そのアンチテーゼとして、生まれてきたのが、レンダリングパイプラインを一度、ソフトウェアに回帰させようという動きだ。この話題についてはEPIC GAMESのアーキテクト、TIM SWEENEY氏が、昨年のCEDEC 2008にて、強いメッセージ性を持って語っている(前編, 後編)。また、Intelが開発中の次世代異種混合コンピューティング向けプロセッサ「Larrabee」(開発コードネーム)もその未来を見据えて出てくるものだとも言われている。

NVIDIAが発表したレイトレーシングエンジン「OptiX」は、現状では3Dゲームグラフィックスを置き換えるものではないが、ラスタライズ法にはない、レイトレーシング法が持つ「アルゴリズムの強健性」に再注目させるべく登場したものだと言える。

ラスタライズ法では、非常に実装が困難で、むしろ疑似手法の考案に明け暮れることになっている以下の表現(各種光学現象)をレイトレーシング法であれば首尾一貫したアルゴリズムで実装することが出来る。

  • 影生成
  • 表面下散乱
  • 間接照明
  • 透明、半透明
  • 鏡面反射
  • 被写界深度

ただ、レイトレーシング法では、その高い表現能力との引き替えに、高負荷な演算がプロセッサに強いられる。

Parker氏は、レイトレーシングの歴史を振り返り、前述したような、レイトレーシングのアルゴリズムの強健性、首尾一貫性を挙げ、そして基本的にはプロセッサパフォーマンスが向上すると、ピクセル単位投げられるレイの数を限定すればフレームレートが向上し、フレームレートを固定化すればピクセル単位から投げられるレイ数を増やせる……という関係性にあることを説明した。

ラスタライズ法では、ポリゴン予算、動作させられるピクセルシェーダの複雑性などが主たるレンダリング予算となるが、レイトレーシング法ではピクセル単位から投げられるレイ数が主たるレンダリング予算になるのだ。

1968年、Appel氏が最初期のレイトレーシング法を考案)

1984年、Cook氏が分散レイトレーシングを考案。1ピクセルから複数のレイを投げ、多重反射をサポート

1986年、Kajiya氏が二次光源、間接照明などの表現をサポート

レイ予算を限定すればプロセッサの演算能力の向上はレイトレーシングをインタラクティブからリアルタイムへと高速化をもたらす。そしてより高度なレンダリングを目指すために、投げるレイは増やされる