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 |