MÉTHODE ID3D12Device5 ::GetRaytracingAccelerationStructurePrebuildInfo (d3d12.h)

Interrogez le pilote pour connaître les besoins en ressources pour générer une structure d’accélération.

Syntaxe

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

Paramètres

[in] pDesc

Description de la build de la structure d’accélération. Cette structure est partagée avec BuildRaytracingAccelerationStructure. Pour plus d’informations, consultez D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS.

L’implémentation est autorisée à examiner tous les paramètres du processeur dans ce struct et les structs imbriqués. Il ne peut inspecter/déréférencer aucune adresse virtuelle GPU, autre que pour case activée pour voir si un pointeur a la valeur NULL ou non, comme la transformation facultative dans D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sans le déréférencer. En d’autres termes, le calcul des besoins en ressources pour la structure d’accélération ne dépend pas des données géométriques réelles (telles que les positions de vertex), mais uniquement des propriétés globales, telles que le nombre de triangles, le nombre d’instances, etc.

[out] pInfo

Résultat de la requête.

Valeur de retour

None

Remarques

La description de la structure d’accélération d’entrée est la même que celle de BuildRaytracingAccelerationStructure. Le résultat de cette fonction permet à l’application de fournir la quantité correcte de stockage de sortie et de stockage de travail à BuildRaytracingAccelerationStructure en fonction de la même géométrie.

Les builds peuvent également être effectuées avec la même configuration passée à GetAccelerationStructurePrebuildInfo dans l’ensemble, à l’exception de nombres égaux ou plus petits pour le nombre de géométries/instances ou le nombre de sommets/index/AABBs dans une géométrie donnée. Dans ce cas, les exigences de stockage signalées avec les tailles d’origine passées à GetRaytracingAccelerationStructurePrebuildInfo seront valides : la build peut en fait consommer moins d’espace, mais pas plus. Cela est pratique pour les scénarios d’application où un stockage conservateurment important alloué aux structures d’accélération est correct.

Cette méthode se trouve sur l’interface de l’appareil par opposition à la liste de commandes en partant du principe que les pilotes doivent être en mesure de calculer les besoins en ressources d’une structure d’accélération à partir de la seule recherche des parties visibles par le processeur de l’appel, sans avoir à déréférencer des pointeurs vers la mémoire GPU contenant des données de vertex réelles, des données d’index, etc.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1809 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2016 (applications de bureau uniquement)
Plateforme cible Windows
En-tête d3d12.h
Bibliothèque D3d12.lib
DLL D3d12.dll

Voir aussi

ID3D12Device5