Passer au contenu principal
Ensemble étendu de paramètres pour les générations par lots.

Syntaxe

Membres

Type
Type : D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE
Cette valeur sera D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE_PARAMS3. NumExtraElementsForInstanceSplitting
Type : UINT
Valeurs par défaut du pilote :
  1. floor(totalInstanceCount * 0.35f) (D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE)
    1. 0 (D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY)
    2. 0 (D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE)
  2. 0 (tous les autres indicateurs de génération de TLAS)
Valeurs attendues :
  1. 0xFFFFFFFF (utiliser la valeur par défaut du pilote)
  2. [0, totalInstanceCount * 15]
Cette valeur indique le nombre d’instances supplémentaires à allouer dans la mémoire du TLAS, que le générateur de TLAS peut utiliser pour diviser les nœuds de BLAS afin d’améliorer les performances de parcours. Chaque instance peut être divisée en 4 ou 16 morceaux, en développant le premier ou le deuxième niveau de l’arbre. Cela signifie qu’il y a une limite maximale de 15 instances « supplémentaires » requises pour diviser une instance en 16 morceaux, au-delà de l’allocation d’origine pour une seule instance. Cela a une incidence sur la mémoire et la taille de la mémoire de travail du TLAS, qui sont généralement petites, ainsi que sur les temps de génération du TLAS. Si le temps de génération est une préoccupation plus importante que le temps de parcours, envisagez d’utiliser D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD, ou désactivez manuellement la division des instances à l’aide de NumExtraElementsForInstanceSplitting = 0. InstanceSplit16Fraction
Type : float
Valeurs par défaut du pilote :
  1. 0.2f (tous les indicateurs de génération de TLAS)
Valeurs attendues :
  1. -1.0f (utiliser la valeur par défaut du pilote)
  2. [0.0f, 1.0f]
Cette valeur modifie le comportement de NumExtraElementsForInstanceSplitting. Définissez-la à une valeur comprise entre 0.0f et 1.0f pour contrôler le pourcentage de NumExtraElementsForInstanceSplitting utilisé pour diviser les BLAS en 16 morceaux plutôt qu’en 4 morceaux. Par exemple, définir InstanceSplit16Fraction = 1.0f consacrera la totalité du budget à la division des objets grands ou épars en 16 morceaux, mais touchera moins de BLAS au total. Une valeur plus élevée peut être utile dans des cas comme une scène contenant plusieurs grands morceaux de terrain et de nombreux objets plus petits. Une valeur plus petite peut être utile dans une scène comportant de nombreux objets de taille similaire qui se chevauchent mutuellement. IsolateSARatio
Type : float
Valeurs par défaut du pilote :
  1. 0.75f (tous les indicateurs de génération de TLAS)
Valeurs attendues :
  1. 0.0f (utiliser la valeur par défaut du pilote)
  2. (-1.0f, 0.0f) (trier les objets en premier)
  3. (0.0f, 1.0f) (trier les objets en dernier)
Cette valeur permet d’« isoler » dans le TLAS les objets dont la surface est supérieure à un ratio spécifié de la surface totale de la scène. Ces objets sont déplacés vers une branche distincte afin de conserver des limites plus serrées pour les autres branches. Le signe de cette valeur détermine si les objets sont ordonnés avant ou après les autres branches en mémoire, ce qui influe sur l’ordre de parcours des branches qui se chevauchent. Il n’est pas recommandé de combiner cette option avec la réorganisation Treelet (incluse par défaut en mode FAST_TRACE), car la réorganisation Treelet s’exécutera après l’isolement des branches et modifiera la hiérarchie.

Remarques

Utilisez D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3 pour définir cette structure à ses valeurs par défaut avant de remplacer les membres choisis. N’initialisez pas cette structure à zéro. Lorsque vous utilisez des paramètres étendus, ID3D12Device8::GetRaytracingAccelerationStructurePrebuildInfoX doit être utilisé au lieu de GetRaytracingAccelerationStructurePrebuildInfo. Les tailles de mémoire BVH ou de mémoire de travail peuvent différer et entraîner une corruption du tas et des blocages du GPU si elles ne sont pas correctement allouées. Consultez les exemples d’utilisation dans BuildRaytracingAccelerationStructureBatched2X.

Configuration requise

En-tête : d3d12_xs.h
Plateformes prises en charge : consoles XBOX Series

Voir aussi

D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3
BuildRaytracingAccelerationStructureBatched2X
d3d12_xs
Dernière modification le 6 octobre 2026