D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 構造体 (d3d12umddi.h)
レイ トレーシング インスタンスについて説明します。 このデータ構造は、アクセラレーション構造のビルド中に GPU メモリで使用され、最初に CPU でインスタンス データを生成してから GPU にアップロードする場合に便利です。
構文
typedef struct D3D12DDI_RAYTRACING_INSTANCE_DESC_0054 {
FLOAT Transform[3][4];
UINT InstanceID : 24;
UINT InstanceMask : 8;
UINT InstanceContributionToHitGroupIndex : 24;
UINT Flags : 8;
D3D12DDI_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12DDI_RAYTRACING_INSTANCE_DESC_0054;
メンバー
Transform[3]
インスタンス対ワールド変換を表す行メジャー レイアウトの 3x4 変換マトリックス。
InstanceID
シェーダー型の任意の 24 ビット値。
InstanceMask
インスタンスに割り当てられた 8 ビット マスク。これを使用して、レイ単位でインスタンスのグループを含めたり拒否したりできます。 値が 0 の場合、インスタンスは含まれません。 この値を 0 以外の値に設定します。
InstanceContributionToHitGroupIndex
シェーダー テーブルのインデックス作成に追加するインスタンスごとのコントリビューションで、使用するヒット グループを選択します。
Flags
インスタンスに適用するフラグ。
AccelerationStructure
インスタンス化されている下位レベルのアクセラレーション構造体のアドレス。 アドレスは 256 バイトに揃える必要があります。
指すメモリは 、リソース状態 D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTUREである必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 Version 1809 |
Header | d3d12umddi.h |