Passer au contenu principal
Décrit une instance d’une structure d’accélération de raytracing utilisée en mémoire GPU pendant le processus de construction de la structure d’accélération.

Syntaxe

Membres

Transform
Type : FLOAT[3][4]
Matrice de transformation 3x4 en disposition par lignes (row-major) représentant la transformation de l’espace de l’instance vers l’espace du monde. Les implémentations transforment les rayons, plutôt que de transformer l’ensemble de la géométrie ou des AABB.
La disposition de Transform est la transposée de la façon dont les matrices affines sont généralement stockées en mémoire. Au lieu de quatre vecteurs à 3 composantes, Transform est organisée en trois vecteurs à 4 composantes.
InstanceID
Type : UINT
Valeur arbitraire de 24 bits accessible à l’aide de la fonction intrinsèque InstanceID dans les types de nuanceurs pris en charge. InstanceMask
Type : UINT
Masque de 8 bits attribué à l’instance, qui peut être utilisé pour inclure ou rejeter des groupes d’instances rayon par rayon. Si la valeur est zéro, l’instance n’est jamais incluse ; elle doit donc généralement être définie sur une valeur non nulle. Pour plus d’informations, consultez le paramètre InstanceInclusionMask de la fonction TraceRay. InstanceContributionToHitGroupIndex
Type : UINT
Valeur arbitraire de 24 bits représentant la contribution par instance à ajouter à l’indexation de la table de nuanceurs pour sélectionner le groupe d’impact à utiliser. Flags
Type : UINT
Masque de 8 bits représentant les indicateurs de D3D12_RAYTRACING_INSTANCE_FLAGS à appliquer à l’instance. AccelerationStructure
Type : D3D12_GPU_VIRTUAL_ADDRESS
Adresse de la structure d’accélération de niveau inférieur instanciée. L’adresse doit être alignée sur 256 octets, défini comme D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. Toute structure d’accélération existante passée ici aura déjà dû être placée avec cet alignement. La mémoire pointée doit être dans l’état D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.

Remarques

Cette définition de structure C++ est utile si vous générez d’abord les données d’instance sur le CPU, puis les chargez sur le GPU. Mais votre application peut également générer des descriptions d’instance directement dans la mémoire GPU (à partir de nuanceurs de calcul, par exemple) en suivant la même disposition.

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