構文
typedef enum D3D12_RAYTRACING_GEOMETRY_FLAGS
{
D3D12_RAYTRACING_GEOMETRY_FLAG_NONE = 0,
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE = 1,
D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION = 2
} D3D12_RAYTRACING_GEOMETRY_FLAGS
定数
| 定数 | 説明 |
|---|---|
| D3D12_RAYTRACING_GEOMETRY_FLAG_NONE | オプションは指定されていません。 |
| D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE | レイがこのジオメトリに遭遇したとき、ジオメトリは Any Hit シェーダーが存在しないかのように振る舞います。このフラグは重要なレイ処理の最適化を有効にできるため、アプリはこのフラグを積極的に使用することが推奨されます。この動作は D3D12_RAYTRACING_INSTANCE_FLAGS を使用してインスタンスごとにオーバーライドしたり、TraceRay でレイ フラグを使用してレイごとにオーバーライドしたりできることに注意してください。 |
| D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION | 既定では、システムは特定のレイ・プリミティブ交差に対して Any Hit シェーダーを複数回トリガーすることができます。この柔軟性により、特定のケースでアクセラレーション構造のトラバース効率が向上します。たとえば、アクセラレーション構造がバウンディング ボリュームで内部的に実装されている場合、実装は、比較的長い三角形をより大きな単一のボックスではなく複数のバウンディング ボックスに格納するのが有益であると判断することがあります。ただし、アプリケーションのユース ケースによっては、Any Hit シェーダーに対して交差を最大 1 回だけ報告する必要があります。このフラグは、指定されたジオメトリに対してその保証を有効にしますが、パフォーマンスへの影響が生じる可能性があります。このフラグはすべてのジオメトリ タイプに適用されます。 |
要件
ヘッダー: d3d12_xs.hライブラリ: d3d12_xs.lib
サポートされるプラットフォーム: XBOX Series 本体
