次の方法で共有


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