Passer au contenu principal
Définit les entrées d’une opération de génération de structure d’accélération de lancer de rayons. Cette structure est utilisée par ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure et ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo.

Syntaxe

Membres

Type
Type : D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE
Type de structure d’accélération à générer. Flags
Type : D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
Indicateurs de génération. NumDescs
Type : UINT
Si Type est D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, cette valeur correspond au nombre d’instances, disposées en fonction de DescsLayout. Si Type est D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL, cette valeur correspond au nombre d’éléments référencés par pGeometryDescs ou ppGeometryDescs. Le champ utilisé dépend de DescsLayout. DescsLayout
Type : D3D12_ELEMENTS_LAYOUT
Mode de spécification des descriptions de géométrie : soit un tableau de descriptions, soit un tableau de pointeurs vers des descriptions. InstanceDescs
Type : D3D12_GPU_VIRTUAL_ADDRESS
Si Type est D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, ce champ fait référence à NumDescs structures D3D12_RAYTRACING_INSTANCE_DESC en mémoire GPU décrivant des instances. Chaque instance doit être alignée sur 16 octets, valeur définie par D3D12_RAYTRACING_INSTANCE_DESC_BYTE_ALIGNMENT. Si Type n’est pas D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TOP_LEVEL, ce paramètre n’est pas utilisé. Si DescLayout est D3D12_ELEMENTS_LAYOUT_ARRAY, InstanceDescs pointe vers un tableau de descriptions d’instances en mémoire GPU. Si DescLayout est D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, InstanceDescs pointe vers un tableau en mémoire GPU de pointeurs D3D12_GPU_VIRTUAL_ADDRESS vers des descriptions d’instances. La mémoire pointée doit être dans l’état D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. pGeometryDescs
Type : const D3D12_RAYTRACING_GEOMETRY_DESC *
Si Type est D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL et que DescsLayout est D3D12_ELEMENTS_LAYOUT_ARRAY, ce champ est utilisé et pointe vers NumDescs structures D3D12_RAYTRACING_GEOMETRY_DESC contiguës sur le CPU, décrivant des géométries individuelles. Si Type n’est pas D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL ou si DescsLayout n’est pas D3D12_ELEMENTS_LAYOUT_ARRAY, ce paramètre n’est pas utilisé. ppGeometryDescs
Type : const D3D12_RAYTRACING_GEOMETRY_DESC *const *
Si Type est D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BOTTOM_LEVEL et que DescsLayout est D3D12_ELEMENTS_LAYOUT_ARRAY_OF_POINTERS, ce champ est utilisé et pointe vers un tableau de NumDescs pointeurs vers des structures D3D12_RAYTRACING_GEOMETRY_DESC sur le CPU, décrivant des géométries individuelles.

Remarques

Lorsque cette structure est utilisée avec GetRaytracingAccelerationStructurePrebuildInfo, qui effectue réellement une génération, aucun paramètre référencé par D3D12_GPU_VIRTUAL_ADDRESS (une adresse en mémoire GPU), tel que InstanceDescs, n’est accédé par l’opération. Cette mémoire n’a donc pas besoin d’être déjà initialisée ni d’être dans un état de ressource particulier. L’opération peut vérifier si les adresses GPU sont nulles ou non, même si les pointeurs ne sont pas déréférencés.

Configuration requise

En-tête : d3d12_xs.h
Bibliothèque : d3d12_xs.lib
Plateformes prises en charge : consoles XBOX Series
Dernière modification le 6 octobre 2026