Partager via


ID3D12Device5 ::GetRaytracingAccelerationStructurePrebuildInfo, méthode (d3d12.h)

Interrogez le pilote pour obtenir 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 peut ne pas inspecter/déréférer les adresses virtuelles GPU, à part vérifier si un pointeur a la valeur NULL ou non, comme la transformation facultative dans D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC, sans la désré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 elle ne peut dépendre que des propriétés globales, telles que le nombre de triangles, le nombre d’instances, etc.

[out] pInfo

Résultat de la requête (dans une structure D3D12_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO).

Valeur de retour

Aucun

Remarques

La description de la structure d’accélération d’entrée est la même que celle qui passe dans BuildRaytracingAccelerationStructure. Le résultat de cette fonction permet à l’application de fournir la quantité correcte de stockage de sortie et de stockage à zéro pour 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 globale, sauf nombre égal ou plus petit pour le nombre de géométries/instances ou le nombre de sommets/index/AABB 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 réellement consommer moins d’espace, mais pas plus. Cela est pratique pour les scénarios d’application où l’allocation de stockage de grande taille conservatrice pour les structures d’accélération est correcte.

Cette méthode se trouve sur l’interface de l’appareil par opposition à la liste de commandes selon laquelle 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 l’UC de l’appel, sans avoir à déréférer les pointeurs vers la mémoire GPU contenant des données de vertex réelles, des données d’index, etc.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1809 [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2016 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête d3d12.h
bibliothèque D3d12.lib
DLL D3d12.dll

Voir aussi

ID3D12Device5