Share via


Método ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo (d3d12.h)

Consulte o driver quanto aos requisitos de recursos para criar uma estrutura de aceleração.

Sintaxe

void GetRaytracingAccelerationStructurePrebuildInfo(
  [in]  const D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS *pDesc,
  [out] D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO      *pInfo
);

Parâmetros

[in] pDesc

Descrição do build da estrutura de aceleração. Essa estrutura é compartilhada com BuildRaytracingAccelerationStructure. Para obter mais informações, consulte D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.

A implementação tem permissão para examinar todos os parâmetros de CPU neste struct e structs aninhados. Ele não pode inspecionar/desreferenciar nenhum endereço virtual de GPU, além de marcar para ver se um ponteiro é NULL ou não, como a transformação opcional em D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sem desreferencá-lo. Em outras palavras, o cálculo dos requisitos de recursos para a estrutura de aceleração não depende dos dados de geometria reais (como posições de vértice), mas pode depender apenas das propriedades gerais, como o número de triângulos, o número de instâncias etc.

[out] pInfo

O resultado da consulta.

Retornar valor

Nenhum

Comentários

A descrição da estrutura de aceleração de entrada é a mesma que entra em BuildRaytracingAccelerationStructure. O resultado dessa função permite que o aplicativo forneça a quantidade correta de armazenamento de saída e armazenamento de zero para BuildRaytracingAccelerationStructure dada a mesma geometria.

Builds também podem ser feitos com a mesma configuração passada para GetAccelerationStructurePrebuildInfo geral, exceto contagens iguais ou menores para o número de geometrias/instâncias ou o número de vértices/índices/AABBs em qualquer geometria específica. Nesse caso, os requisitos de armazenamento relatados com os tamanhos originais passados para GetRaytracingAccelerationStructurePrebuildInfo serão válidos – o build pode realmente consumir menos espaço, mas não mais. Isso é útil para cenários de aplicativo em que ter um armazenamento conservadoramente grande alocado para estruturas de aceleração é bom.

Esse método está na interface do dispositivo em vez da lista de comandos na suposição de que os drivers devem ser capazes de calcular os requisitos de recursos para uma compilação de estrutura de aceleração, examinando apenas as partes visíveis da CPU da chamada, sem precisar desreferenciar ponteiros para a memória de GPU contendo dados de vértice reais, dados de índice etc.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1809 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho d3d12.h
Biblioteca D3d12.lib
DLL D3d12.dll

Confira também

ID3D12Device5