Freigeben über


D3D12DDI_RAYTRACING_INSTANCE_DESC_0054-Struktur (d3d12umddi.h)

Beschreibt eine Raytracing-instance. Diese Datenstruktur wird beim Erstellen der Beschleunigungsstruktur im GPU-Speicher verwendet und ist nützlich, wenn zuerst instance Daten auf der CPU generiert und dann auf die GPU hochgeladen werden.

Syntax

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;

Member

Transform[3]

Eine 3x4-Transformationsmatrix im Hauptlayout der Zeile, die die transformation von instance zur Welt darstellt.

InstanceID

Ein beliebiger 24-Bit-Wert in Shadertypen.

InstanceMask

Eine dem instance zugewiesene 8-Bit-Maske, die verwendet werden kann, um Gruppen von Instanzen pro Ray einzuschließen oder abzulehnen. Wenn der Wert 0 (null) ist, wird der instance nie einbezogen. Legen Sie diesen Wert auf einen Wert ungleich Null fest.

InstanceContributionToHitGroupIndex

Pro instance Beitrag, der der Shadertabellenindizierung hinzugefügt werden soll, um die zu verwendende Treffergruppe auszuwählen.

Flags

Flags, die auf die instance angewendet werden sollen.

AccelerationStructure

Adresse der Beschleunigungsstruktur auf der unteren Ebene, die instanziert wird. Die Adresse muss an 256 Byte ausgerichtet sein.

Der Speicher, auf den verwiesen wird, muss sich im Ressourcenzustand D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE befinden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809
Kopfzeile d3d12umddi.h