DirectX Raytracing (DXR) の実行環境

DirectX Raytracing に興味があったので調べてみました。

DirectX Raytracing Sample

Microsoft/DirectX-Graphics-Samples
https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12Raytracing

ページ下部の Requirements に書かれていますが、このサンプルを実行できる最低動作環境は下記になります。

  • Visual Studio 2017
  • Windows 10 1709 (Fall Creators Update)
  • NVIDIA Maxwell 2nd gen  / AMD GCN 2.0 (※未確認)

実行には NVIDIA Maxwell 第2世代より新しい GPU が必要になります。2016年以前の GPU だと対応していない可能性があるので注意が必要です。未対応の GPU だとサンプルのビルドは通っても実行時にエラーになります。

サンプルの実行環境

少々ややこしいのですが DirectX Raytracing を動作させる方法は2つあります。

  1. ハードウェアの支援を得てレイトレーシングする方法 (DXR API を使用)
  2. Compute Shader でレイトレシーングする方法 (Fallback Layer API を使用)

Microsoft のサンプルでは、この2種類の動作モードが実行環境によって切り替わります。レイトレーシングを 1 で動作させるためには NVIDIA Volta など新しいアーキテクチャの GPU が必要になるため、殆どの場合は 2 のエミュレート環境 (Fallback Layer) で実行されます。

ハードウェア支援のレイトレーシング

(1) の DXR API を使用するには最新の GPU ハードウェアのサポートが必要になります (Ray とポリゴンの衝突判定の支援?) 。2018年5月現在、(1) の DXR API を使用したプログラムを実行させるには、NVIDIA Tesla V 100 と NVIDIA Titan V の2製品しかまだ無かったはずです。ちなみに AMD は不明です。

DirectX Raytracing requires:

  • Windows 10 with the April 2018 update with DXR SDK overlay binaries.
  • Dx12 gpu with a compatible DirectX Raytracing driver.
    • Nvidia: Volta or higher with 397.31+ driver.
    • Other vendors – please consult the vendor you’re working with for HW and driver availability.

シミュレートしたレイトレーシング

殆どの環境で動作している DXR はこちらのシミュレートになります。 (2) の方法は Compute Shader を使用して DXR の挙動をシミュレートしているだけなので実行効率は悪く動作も遅いです。しかし既存の GPU でも DirectX を利用したレイトレシーングが可能です。

Fallback Layer requires:

  • Windows 10 with the Fall Creators Update or higher.
  • Dx12 GPU with a driver that has retail DXIL support.

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。