次の方法で共有


D3D12_RAYTRACING_GEOMETRY_FLAGS列挙 (d3d12.h)

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

構文

typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS {
  D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
  D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 0x1,
  D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 0x2
} ;

定数

 
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE
値: 0
オプションは指定されていません。
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE
値: 0x1
レイがこのジオメトリを検出すると、ジオメトリはヒット シェーダーが存在しないかのように動作します。 重要なレイ処理の最適化を有効にできるため、アプリではこのフラグを自由に使用することをお勧めします。 この動作は、インスタンスごとに D3D12_RAYTRACING_INSTANCE_FLAGS でオーバーライド でき、 TraceRay のレイ フラグを使用してレイごとにオーバーライドできることに注意してください。
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION
値: 0x2
既定では、システムは、特定のレイ プリミティブ交差に対してヒット シェーダーを複数回トリガーできます。 この柔軟性は、場合によっては加速度構造のトラバーサル効率を向上させるのに役立ちます。 たとえば、アクセラレーション構造が境界ボリュームを使用して内部的に実装されている場合、実装では、より大きな単一のボックスではなく、複数の境界ボックスに比較的長い三角形を格納すると便利な場合があります。 ただし、一部のアプリケーション ユース ケースでは、ヒット シェーダーに交差部分を最大で 1 回報告する必要があります。 このフラグを使用すると、特定のジオメトリに対する保証が可能になり、パフォーマンスに影響を与える可能性があります。

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

要件

要件
Header d3d12.h