D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS列挙 (d3d12umddi.h)
レイ トレーシング アクセラレーション構造体のビルド フラグを指定します。
構文
typedef enum D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS {
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY,
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE
} ;
定数
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE アクセラレーション構造のビルドにオプションが指定されていない。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE アプリを完全に再構築する必要なく、フラグ D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATEを使用して、将来の更新をサポートするようにアクセラレーション構造を構築します。 このオプションを選択すると、メモリ消費量とビルド時間が増加し、レイ トレーシングのパフォーマンスが低下する可能性があります。 ただし、今後の更新は、同等のアクセラレーション構造をゼロから構築するよりも高速である必要があります。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION コンパクト モードで CopyRaytracingAccelerationStructure を呼び出すことによって、加速度構造を圧縮するオプションを有効にします。 D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_COPY_MODEを参照してください。 このオプションにより、メモリ消費量とビルド時間が増加する可能性があります。 ただし、将来の圧縮後、結果として得られるアクセラレーション構造は、ゼロから加速度構造を構築するよりも大きくなく、メモリ占有領域を小さくする必要があります。 このフラグは、他のすべてのフラグと互換性があります。 アクセラレーション構造の更新の一部として指定する場合は、ソースアクセラレーション構造もこのフラグを使用して構築されている必要があります。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE 追加のビルド時間を犠牲にしてレイ トレーシングのパフォーマンスを最大化する高品質のアクセラレーション構造を構築します。 大まかに言うと、トレースパフォーマンスを向上させるために、実装には既定のビルド時間の約 2 ~ 3 倍かかる必要があります。 このフラグは、特に静的ジオメトリに推奨されます。 また、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILDを除く他のすべてのフラグとも互換性があります。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD ビルド速度のためのレイトレーシング性能を取引し、より低品質の加速構造を構築します。 大まかに言って、実装では、トレース パフォーマンスの犠牲にして、既定のビルド時間の約 1/2 から 1/3 を要する必要があります。 このフラグは、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACEを除く他のすべてのフラグと互換性があります。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY アクセラレーション構造のビルド中に使用されるスクラッチ メモリの量と結果のサイズを最小限に抑えます。 このオプションを選択すると、ビルド時間やレイ トレーシング時間が増加する可能性があります。 これは、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION フラグと直交し、明示的な加速構造の圧縮が可能になります。 フラグを組み合わせることは、最初のアクセラレーション構造と、圧縮の結果の両方を意味し、使用するメモリが少なくなる可能性があります。 ビルドにこのフラグを使用した場合の影響は、ビルドのメモリ要件を取得する前 GetRaytracingAccelerationStructurePrebuildInfo を呼び出した結果に反映されます。 このフラグは、他のすべてのフラグと互換性があります。 |
D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE ゼロから構築するのではなく、アクセラレーション構造の更新を実行します。 これは完全なビルドよりも高速ですが、特に、基になるオブジェクトの位置が、更新前にアクセラレーション構造の元のビルドから大幅に変更された場合、レイ トレーシングのパフォーマンスに悪影響を与える可能性があります。 ソースと宛先のアクセラレーション構造のアドレスが同一の場合、更新はインプレースで実行されます。 送信元と宛先のアドレス範囲のその他の重複は無効です。 重複しないソースと宛先の場合、ソース アクセラレーション構造は変更されません。 出力アクセラレーション構造のメモリ要件は、入力アクセラレーション構造と同じです。 このフラグは、他のすべてのフラグと互換性があります。 D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATEが設定されている場合と設定されていない場合は、更新が引き続き許可されるため、違いはありません。 他のフラグの選択は、D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATEとD3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATEとは別に、ソース アクセラレーション構造のフラグと一致する必要があります。 加速度構造の更新は、無制限に連続して実行できます。 ソースアクセラレーション構造は、D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE、D3D12DDI_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE、または複製された場合は、これらの方法のいずれかで作成されている必要があります。 基本的に、加速度構造は、更新が発生する可能性があることを期待して構築されている必要がありました。 |
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1809 |
ヘッダー | d3d12umddi.h |