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

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 <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TOP\_LEVEL**, cette valeur correspond au nombre d'instances, disposées en fonction de <i>DescsLayout</i>.

Si <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL**, cette valeur correspond au 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

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 <i>Type</i> est **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_TOP\_LEVEL**, ce champ fait référence à <i>NumDescs</i> structures [D3D12\_RAYTRACING\_INSTANCE\_DESC](/fr/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/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 CPU, décrivant des géométries individuelles.

Si <i>Type</i> n'est pas **D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BOTTOM\_LEVEL** ou si <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/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public) sur le CPU, décrivant des géométries individuelles.

## Remarques

Lorsque cette structure est utilisée avec [GetRaytracingAccelerationStructurePrebuildInfo](/fr/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public), qui effectue réellement une génération, aucun paramètre référencé par [D3D12\_GPU\_VIRTUAL\_ADDRESS](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/d3d12_gpu_virtual_address) (une adresse en mémoire GPU), tel que <i>InstanceDescs</i>, 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


## Related topics

- [GetRaytracingAccelerationStructurePrebuildInfo](/fr/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC](/fr/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (consoles XBOX Series)](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_AABBS_DESC (consoles XBOX Series)](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_aabbs_desc_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO](/fr/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_prebuild_info_public.md)
