Sintaxe
Membros
TypeTipo: D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE Esse valor será D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_SUBOBJECT_TYPE_PARAMS3. NumExtraElementsForInstanceSplitting
Tipo: UINT Padrões do driver:
floor(totalInstanceCount * 0.35f)(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE)0(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY)0(D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE)
0(todos os outros sinalizadores de build do TLAS)
0xFFFFFFFF(usar o padrão do driver)[0, totalInstanceCount * 15]
NumExtraElementsForInstanceSplitting = 0.
InstanceSplit16FractionTipo: float Padrões do driver:
0.2f(todos os sinalizadores de build do TLAS)
-1.0f(usar o padrão do driver)[0.0f, 1.0f]
NumExtraElementsForInstanceSplitting. Defina-o com um valor entre 0.0f e 1.0f para controlar a porcentagem de NumExtraElementsForInstanceSplitting usada para dividir BLASes em 16 partes em vez de 4 partes.
Por exemplo, definir InstanceSplit16Fraction = 1.0f dedicará todo o orçamento à divisão de objetos grandes/esparsos em 16 partes, mas afetará um número total menor de BLASes. Definir um valor mais alto pode ser útil em casos como uma cena que contém várias partes grandes de terreno e muitos objetos menores. Definir um valor menor pode ser útil em uma cena com muitos objetos de tamanho semelhante que se sobrepõem mutuamente.
IsolateSARatioTipo: float Padrões do driver:
0.75f(todos os sinalizadores de build do TLAS)
0.0f(usar o padrão do driver)(-1.0f, 0.0f)(ordenar os objetos primeiro)(0.0f, 1.0f)(ordenar os objetos por último)
Comentários
Use D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3 para definir esta struct com valores padrão antes de substituir os membros escolhidos. Não inicialize esta struct com zeros. Ao usar parâmetros estendidos, ID3D12Device8::GetRaytracingAccelerationStructurePrebuildInfoX deve ser usado em vez deGetRaytracingAccelerationStructurePrebuildInfo. Os tamanhos de memória ou de scratch do BVH podem ser diferentes e podem resultar em corrupção de heap e travamentos da GPU se não forem alocados corretamente.
Confira os exemplos de uso em BuildRaytracingAccelerationStructureBatched2X.
Requisitos
Cabeçalho: d3d12_xs.hPlataformas com suporte: consoles XBOX Series
Confira também
D3D12XboxMakeDefault_D3D12XBOX_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_PARAMS3BuildRaytracingAccelerationStructureBatched2X
d3d12_xs
