Compartilhar via


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

Consulte o driver para obter 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 pode não inspecionar/desreferir endereços virtuais de GPU, além de verificar se um ponteiro é NULL ou não, como a transformação opcional em D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sem desreferê-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 (em uma estrutura D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).

Valor de retorno

Nenhum

Observações

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.

Os 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 fornecida. 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 conservadormente grande alocado para estruturas de aceleração é bom.

Esse método está na interface do dispositivo em oposição à 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 apenas examinando as partes visíveis da CPU da chamada, sem precisar desreferenciar quaisquer ponteiros para a memória de GPU contendo dados de vértice reais, dados de índice etc.

Requisitos

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

Consulte também

ID3D12Device5