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

> Describe una estructura de aceleración de trazado de rayos. Pase esta estructura a ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure para describir la.

Describe una estructura de aceleración de trazado de rayos. Pase esta estructura a [ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_buildraytracingaccelerationstructure_public) para describir la estructura de aceleración que se va a compilar.

## Sintaxis

```cpp theme={null}
typedef struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
{
    D3D12_GPU_VIRTUAL_ADDRESS DestAccelerationStructureData;
    D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS Inputs;
    D3D12_GPU_VIRTUAL_ADDRESS SourceAccelerationStructureData;
    D3D12_GPU_VIRTUAL_ADDRESS ScratchAccelerationStructureData;
} D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
```

### Miembros

*DestAccelerationStructureData*\
Tipo: D3D12\_GPU\_VIRTUAL\_ADDRESS

Ubicación donde se almacenará la estructura de aceleración resultante.  [ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo](/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public) informa aquí de la cantidad de memoria necesaria para el resultado, dado un conjunto de parámetros de compilación de la estructura de aceleración.

La dirección debe estar alineada a 256 bytes, definido como [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants).

<Info>
  La memoria debe estar en el estado [**D3D12\_RESOURCE\_STATE\_RAYTRACING\_ACCELERATION\_STRUCTURE**](/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

*Inputs*\
Tipo: D3D12\_BUILD\_RAYTRACING\_ACCELERATION\_STRUCTURE\_INPUTS

Descripción de los datos de entrada para la compilación de la estructura de aceleración.  Estos datos se almacenan en una estructura independiente porque también se usan con **GetRaytracingAccelerationStructurePrebuildInfo**.

*SourceAccelerationStructureData*\
Tipo: D3D12\_GPU\_VIRTUAL\_ADDRESS

Dirección de una estructura de aceleración existente si se solicita una actualización de la estructura de aceleración (una compilación incremental) estableciendo [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_PERFORM\_UPDATE](/reference/graphics/d3d12/enums/d3d12_raytracing_acceleration_structure_build_flags_public) en el parámetro Flags.  De lo contrario, esta dirección debe ser NULL.

Si esta dirección es la misma que <i>DestAccelerationStructureData</i>, la actualización se realiza en contexto.  Cualquier otra forma de superposición entre la memoria de origen y la de destino no es válida y produce un comportamiento indefinido.

La dirección debe estar alineada a 256 bytes, definido como [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants), lo que debería ocurrir automáticamente porque cualquier estructura de aceleración existente pasada aquí ya habría tenido que colocarse con dicha alineación.

<Info>
  La memoria debe estar en el estado [**D3D12\_RESOURCE\_STATE\_RAYTRACING\_ACCELERATION\_STRUCTURE**](/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

#### ScratchAccelerationStructureData

Ubicación donde la compilación almacenará datos temporales.  **GetRaytracingAccelerationStructurePrebuildInfo** informa de la cantidad de memoria de trabajo que la implementación necesitará para un conjunto determinado de parámetros de compilación de la estructura de aceleración.

<Info>
  La memoria debe estar en el estado [**D3D12\_RESOURCE\_STATE\_UNORDERED\_ACCESS**](/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

*ScratchAccelerationStructureData*\
Tipo: D3D12\_GPU\_VIRTUAL\_ADDRESS

## Requisitos

**Encabezado:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas compatibles**: consolas XBOX Series


## Related topics

- [BuildRaytracingAccelerationStructure (consolas XBOX Series)](/es/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_buildraytracingaccelerationstructure_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS](/es/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_inputs_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC](/es/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_desc_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER (consolas XBOX Series)](/es/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_tools_visualization_header_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC (consolas XBOX Series)](/es/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_serialization_desc_public.md)
