Microsoftは2018年3月19日(現地日時)、視界に映らない部分の描画にレイトレーシングを用いる「Microsoft DirectX Raytracing(以下、DXR)」をDirectX 12 APIを通じて実装することを公式ブログで発表した。GPU処理で3D環境を表現する際に用いるオブジェクト「Acceleration Structure」。ワークロードをGPUに渡す際に用いるコマンドリスト「DispatchRays」。ray-generation、closest-hit、any-hit、missといった新たな組み込み関数(DirectX HLSL)。レイトレーシングシェーダなどの状態をカプセル化する「Raytracing Pipeline State」と、4つの機能が新たに加わる。執筆時点では、最新のWindows 10 Insider Preview(Fastリング)とVisual Studio 2017、Raytracing SDK Packageが必要。SDKパッケージはDirectXTech Forumの該当スレッドからダウンロードできる。

  • Electronic ArtsはDXRのリアルタイムレイトレーシング実験として、SEEDチームのR&DエンジンHalcyonを用いた「PICA PICA」を紹介した(公式ブログより抜粋)

    Electronic ArtsはDXRのリアルタイムレイトレーシング実験として、SEEDチームのR&DエンジンHalcyonを用いた「PICA PICA」を紹介した(公式ブログより抜粋)

ラスタライズは1990年代から用いられた技術の1つだが、オブジェクトに与える光の複雑な相互作用を再現するには、複雑な手法が必要だった。レイトレーシングはピクセルの色を計算してオブジェクトと光線の相互作用をシミュレートするが、その計算には時間を要する。DXRは影や反射を計算して、ラスタライズが不十分な領域を支援することで、これまで実現が難しかったゲームの世界を描画可能にするという。発表時点で対応を表明しているのは、Electronic Artsのゲームエンジン「Frostbite」および「SEED、Epic Gamesの「Unreal Engine」、Futuremarkの「3DMark」、Unity Technologiesの「Unity Engine」。ハードウェアについてMicrosoftは言及していないが、Shader Model 6をサポートするデバイスドライバーでDXRを試せるという。