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

> Descreve uma estrutura de aceleração de ray tracing. Passe essa estrutura para ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure para descrever a.

Descreve uma estrutura de aceleração de ray tracing. Passe essa estrutura para [ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_buildraytracingaccelerationstructure_public) para descrever a estrutura de aceleração a ser criada.

## Sintaxe

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

### Membros

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

Local para armazenar a estrutura de aceleração resultante. [ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device5/methods/id3d12device5_getraytracingaccelerationstructureprebuildinfo_public) informa a quantidade de memória necessária para o resultado aqui, considerando um conjunto de parâmetros de criação da estrutura de aceleração.

O endereço deve estar alinhado a 256 bytes, definido como [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants).

<Info>
  A memória deve estar no estado [**D3D12\_RESOURCE\_STATE\_RAYTRACING\_ACCELERATION\_STRUCTURE**](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

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

Descrição dos dados de entrada para a criação da estrutura de aceleração. Esses dados são armazenados em uma estrutura separada porque também são usados com **GetRaytracingAccelerationStructurePrebuildInfo**.

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

Endereço de uma estrutura de aceleração existente, se uma atualização da estrutura de aceleração (uma criação incremental) estiver sendo solicitada, definindo [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BUILD\_FLAG\_PERFORM\_UPDATE](/pt-BR/reference/graphics/d3d12/enums/d3d12_raytracing_acceleration_structure_build_flags_public) no parâmetro Flags. Caso contrário, esse endereço deve ser NULL.

Se esse endereço for o mesmo que <i>DestAccelerationStructureData</i>, a atualização será realizada no local. Qualquer outra forma de sobreposição entre a memória de origem e a de destino é inválida e produz um comportamento indefinido.

O endereço deve estar alinhado a 256 bytes, definido como [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants), o que já deve ocorrer automaticamente, pois qualquer estrutura de aceleração existente passada aqui já teria sido obrigada a ser posicionada com esse alinhamento.

<Info>
  A memória deve estar no estado [**D3D12\_RESOURCE\_STATE\_RAYTRACING\_ACCELERATION\_STRUCTURE**](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

#### ScratchAccelerationStructureData

Local onde a criação armazenará dados temporários. **GetRaytracingAccelerationStructurePrebuildInfo** informa a quantidade de memória de rascunho de que a implementação precisará para um determinado conjunto de parâmetros de criação da estrutura de aceleração.

<Info>
  A memória deve estar no estado [**D3D12\_RESOURCE\_STATE\_UNORDERED\_ACCESS**](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_resource_states).
</Info>

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

## Requisitos

**Cabeçalho:** d3d12\_xs.h\
**Biblioteca:** d3d12\_xs.lib\
**Plataformas com suporte**: consoles XBOX Series


## Related topics

- [BuildRaytracingAccelerationStructure (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_buildraytracingaccelerationstructure_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS](/pt-BR/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_inputs_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_DESC](/pt-BR/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_desc_public.md)
- [D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_TOOLS_VISUALIZATION_HEADER (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/structs/d3d12_build_raytracing_acceleration_structure_tools_visualization_header_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_CURRENT_SIZE_DESC (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_current_size_desc_public.md)
