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() の Ray フラグを使用してレイ単位でオーバーライドできます。

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

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

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

要件

要件
サポートされている最小のクライアント Windows 10 Version 1809
Header d3d12umddi.h