次の方法で共有


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 バージョン 1809
ヘッダー d3d12umddi.h