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 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 fractionner les nœuds BLAS afin d’améliorer les performances de parcours. Chaque instance peut être fractionnée en 4 ou 16 morceaux, en développant le premier ou le deuxième niveau de l’arbre. Cela signifie qu’il existe une limite maximale de 15 instances « supplémentaires » nécessaires pour fractionner une instance en 16 morceaux, au-delà de l’allocation d’origine pour une instance unique. Cela a un impact à la fois sur la taille de la mémoire du TLAS et de la mémoire de travail, 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 plus important que le temps de parcours, envisagez d’utiliser D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD, ou désactivez manuellement le fractionnement des instances avec NumExtraElementsForInstanceSplitting = 0. InstanceSplit16Fraction
Type : float
Valeurs par défaut du pilote :
  1. 0.2f (tous les indicateurs de génération 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 sur une valeur comprise entre 0.0f et 1.0f pour contrôler le pourcentage de NumExtraElementsForInstanceSplitting utilisé pour fractionner les BLAS en 16 morceaux plutôt qu’en 4 morceaux. Par exemple, définir InstanceSplit16Fraction = 1.0f consacrera la totalité du budget au fractionnement des objets volumineux ou épars en 16 morceaux, mais affectera moins de BLAS au total. Une valeur plus élevée peut être utile dans des cas tels qu’une scène contenant plusieurs grands morceaux de terrain et de nombreux objets plus petits. Une valeur plus faible 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 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écute après l’isolation des branches et modifie la hiérarchie.

Remarques

Utilisez D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3 pour définir cette structure sur 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, vous devez utiliser ID3D12Device8::GetRaytracingAccelerationStructurePrebuildInfoX 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