Sintaxe
Membros
TransformTipo: FLOAT[3][4] Uma matriz de transformação 3x4 em layout de linha principal (row-major) que representa a transformação de instância para mundo. As implementações transformam os raios, em vez de transformar toda a geometria ou os AABBs.
O layout de
Transform é uma transposição de como as matrizes afins normalmente são armazenadas na memória. Em vez de quatro vetores de 3 componentes, Transform é organizado como três vetores de 4 componentes.Tipo: UINT Um valor arbitrário de 24 bits que pode ser acessado usando a função intrínseca
InstanceID nos tipos de sombreador com suporte.
InstanceMaskTipo: UINT Uma máscara de 8 bits atribuída à instância, que pode ser usada para incluir/rejeitar grupos de instâncias por raio. Se o valor for zero, a instância nunca será incluída; portanto, normalmente ela deve ser definida como algum valor diferente de zero. Para obter mais informações, consulte o parâmetro
InstanceInclusionMask da função TraceRay.
InstanceContributionToHitGroupIndexTipo: UINT Um valor arbitrário de 24 bits que representa a contribuição por instância a ser adicionada à indexação da tabela de sombreadores para selecionar o grupo de acertos a ser usado. Flags
Tipo: UINT Uma máscara de 8 bits que representa os sinalizadores de D3D12_RAYTRACING_INSTANCE_FLAGS a serem aplicados à instância. AccelerationStructure
Tipo: D3D12_GPU_VIRTUAL_ADDRESS Endereço da estrutura de aceleração de nível inferior que está sendo instanciada. O endereço deve estar alinhado a 256 bytes, definido como D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BYTE_ALIGNMENT. Qualquer estrutura de aceleração existente passada aqui já precisaria ter sido posicionada com esse alinhamento. A memória apontada deve estar no estado D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
Comentários
Esta definição de struct C++ é útil se você estiver gerando os dados de instância primeiro na CPU e depois carregando-os na GPU. Mas seu aplicativo também pode gerar descrições de instância diretamente na memória da GPU (a partir de sombreadores de computação, por exemplo) seguindo o mesmo layout.Requisitos
Cabeçalho: d3d12_xs.hBiblioteca: d3d12_xs.lib
Plataformas com suporte: consoles XBOX Series
