> ## 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_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS

> 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.

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](/fr-CA/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_buildraytracingaccelerationstructure_public) et [ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public).

## Syntaxe

```cpp theme={null}
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
{
    D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type;
    D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags;
    UINT NumDescs;
    D3D12_ELEMENTS_LAYOUT DescsLayout;
    D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs;
    const D3D12_RAYTRACING_GEOMETRY_DESC  pGeometryDescs;
    const D3D12_RAYTRACING_GEOMETRY_DESC const  ppGeometryDescs;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
```

### Membres

*Type*\
Type : D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TYPE

Le type de structure d'accélération à générer.

*Flags*\
Type : D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAGS

Les indicateurs de génération.

*NumDescs*\
Type : UINT

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TOP\_LEVEL**, cette valeur est le nombre d'instances, disposées selon <i>DescsLayout</i>.

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL**, cette valeur est le nombre d'éléments référencés par <i>pGeometryDescs</i> ou <i>ppGeometryDescs</i>. Le champ utilisé dépend de <i>DescsLayout</i>.

*DescsLayout*\
Type : D3D12\_ELEMENTS\_LAYOUT

La façon dont les descriptions de géométrie sont spécifiées : soit un tableau de descriptions, soit un tableau de pointeurs vers des descriptions.

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

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TOP\_LEVEL**, ce paramètre fait référence à <i>NumDescs</i> structures [D3D12\_RAYTRACING\_INSTANCE\_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_instance_desc_public) 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](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants).

Si <i>Type</i> n'est pas **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TOP\_LEVEL**, ce paramètre n'est pas utilisé.

Si <i>DescLayout</i> est **D3D12\_ELEMENTS\_LAYOUT\_ARRAY**, <i>InstanceDescs</i> pointe vers un tableau de descriptions d'instances en mémoire GPU.

Si <i>DescLayout</i> est **D3D12\_ELEMENTS\_LAYOUT\_ARRAY\_OF\_POINTERS**, <i>InstanceDescs</i> pointe vers un tableau en mémoire GPU de pointeurs [D3D12\_GPU\_VIRTUAL\_ADDRESS](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/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](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_resource_states).

*pGeometryDescs*\
Type : const D3D12\_RAYTRACING\_GEOMETRY\_DESC \*

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL** et que <i>DescsLayout</i> est **D3D12\_ELEMENTS\_LAYOUT\_ARRAY**, ce champ est utilisé et pointe vers <i>NumDescs</i> structures **D3D12\_RAYTRACING\_GEOMETRY\_DESC** contiguës sur le processeur, qui décrivent des géométries individuelles.

Si <i>Type</i> n'est pas **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL** ou que <i>DescsLayout</i> n'est pas **D3D12\_ELEMENTS\_LAYOUT\_ARRAY**, ce paramètre n'est pas utilisé.

*ppGeometryDescs*\
Type : const D3D12\_RAYTRACING\_GEOMETRY\_DESC \*const \*

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL** et que <i>DescsLayout</i> est **D3D12\_ELEMENTS\_LAYOUT\_ARRAY\_OF\_POINTERS**, ce champ est utilisé et pointe vers un tableau de <i>NumDescs</i> pointeurs vers des structures [D3D12\_RAYTRACING\_GEOMETRY\_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public) sur le processeur, qui décrivent des géométries individuelles.

## Remarques

Lorsqu'elle est utilisée avec [GetRaytracingAccelerationStructurePrebuildInfo](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public), qui effectue réellement une génération, tout paramètre référencé au moyen de [D3D12\_GPU\_VIRTUAL\_ADDRESS](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12_gpu_virtual_address) (une adresse en mémoire GPU), comme <i>InstanceDescs</i>, ne sera pas 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


## Related topics

- [GetRaytracingAccelerationStructurePrebuildInfo](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_desc_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_ACCELERATION_STRUCTURE_PREBUILD_INFO](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_prebuild_info_public.md)
