> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_RAYTRACING_INSTANCE_DESC (consoles XBOX Series)

> Décrit une instance d'une structure d'accélération de lancer de rayons utilisée dans la mémoire GPU pendant le processus de génération de la structure d'accélération.

Décrit une instance d'une structure d'accélération de lancer de rayons utilisée dans la mémoire GPU pendant le processus de génération de la structure d'accélération.

## Syntaxe

```cpp theme={null}
typedef struct D3D12_RAYTRACING_INSTANCE_DESC
{
    FLOAT[4] Transform;
    UINT InstanceID;
    UINT InstanceMask;
    UINT InstanceContributionToHitGroupIndex;
    UINT Flags;
    D3D12_GPU_VIRTUAL_ADDRESS AccelerationStructure;
} D3D12_RAYTRACING_INSTANCE_DESC
```

### Membres

*Transform*\
Type : FLOAT\[3]\[4]

Une matrice de transformation 3x4 en disposition par ligne (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 toute la géométrie ou toutes les AABB.

<Note>
  La disposition de `Transform` est la transposée de la façon dont les matrices affines sont habituellement stockées en mémoire. Au lieu de quatre vecteurs à 3 composantes, `Transform` est disposée sous forme de trois vecteurs à 4 composantes.
</Note>

*InstanceID*\
Type : UINT

Une 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

Un 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 ne sera jamais incluse; il convient donc généralement de lui attribuer une valeur non nulle. Pour plus d'informations, consultez le paramètre `InstanceInclusionMask` de la fonction [TraceRay](https://learn.microsoft.com/en-us/windows/win32/direct3d12/traceray-function).

*InstanceContributionToHitGroupIndex*\
Type : UINT

Une 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

Un masque de 8 bits représentant les indicateurs de [D3D12\_RAYTRACING\_INSTANCE\_FLAGS](/fr-CA/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public) à appliquer à l'instance.

*AccelerationStructure*\
Type : D3D12\_GPU\_VIRTUAL\_ADDRESS

Adresse de la structure d'accélération de niveau inférieur qui est instanciée. L'adresse doit être alignée sur 256 octets, défini comme [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/win32/direct3d12/constants). Toute structure d'accélération existante passée ici aurait 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](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_states).

## Remarques

Cette définition de structure C++ est utile si vous générez d'abord les données d'instance sur le processeur, puis que vous les téléversez vers le GPU. Toutefois, votre application est également libre de générer les 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


## Related topics

- [D3D12_RAYTRACING_INSTANCE_FLAGS (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/enums/d3d12_raytracing_instance_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_AABBS_DESC (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_aabbs_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_TYPE (consoles XBOX Series)](/fr-CA/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_type_public.md)
