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 |