次の方法で共有


D3D12DDI_RAYTRACING_GEOMETRY_FLAGS列挙 (d3d12umddi.h)

レイ トレーシング ジオメトリ フラグを指定します。

構文

typedef enum D3D12DDI_RAYTRACING_GEOMETRY_FLAGS {
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE,
  D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
} ;

定数

 
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NONE
オプションは指定されません。
D3D12DDI_RAYTRACING_GEOMETRY_FLAG_OPAQUE
光線がこのジオメトリを検出すると、ジオメトリはヒット シェーダーが存在しないかのように動作します。 このフラグは、重要な光線処理の最適化を有効にできるため、自由に使用することをお勧めします。

手記

この動作は、D3D12DDI_RAYTRACING_INSTANCE_FLAGSを使用してインスタンスごとにオーバーライドでき、TraceRay() のレイ フラグを使用してレイごとにオーバーライドできます。

D3D12DDI_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
既定では、システムは、特定のレイ プリミティブ交差に対してヒット シェーダーを複数回トリガーできます。 この柔軟性は、場合によっては加速度構造のトラバーサル効率を向上するのに役立ちます。 たとえば、アクセラレーション構造が境界ボリュームを使用して内部的に実装されている場合、実装では、比較的長い三角形を大きな単一のボックスではなく、複数の境界ボックスに格納すると便利な場合があります。

ただし、一部のアプリケーションのユース ケースでは、ヒット シェーダーに交差を最大 1 回報告する必要があります。 このフラグを使用すると、特定のジオメトリに対する保証が可能になり、パフォーマンスに影響を与える可能性があります。

このフラグは、すべてのジオメトリ タイプに適用されます。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 1809
ヘッダー d3d12umddi.h