Função TraceRay
Envia um raio para uma pesquisa de ocorrências em uma estrutura de aceleração.
Sintaxe
Essa definição de função intrínseca é equivalente ao seguinte modelo de função:
Template<payload_t>
void TraceRay(RaytracingAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload);
Parâmetros
AccelerationStructure
A estrutura de aceleração de nível superior a ser usada. Especificar uma estrutura de aceleração NULL força uma falha.
RayFlags
Combinação válida de valores de ray_flag . Somente sinalizadores de raio definidos são propagados pelo sistema, ou seja, são visíveis para o sombreador RayFlags intrínseco .
InstanceInclusionMask
Um inteiro sem sinal, os 8 bits inferiores dos quais são usados para incluir ou rejeitar instâncias de geometria com base no InstanceMask em cada instância. Por exemplo:
if(!((InstanceInclusionMask & InstanceMask) & 0xff)) { //ignore intersection }
RayContributionToHitGroupIndex
Um inteiro sem sinal que especifica o deslocamento a ser adicionado ao endereçamento de cálculos em tabelas de sombreador para indexação de grupo de ocorrências. Somente os 4 bits inferiores desse valor são usados.
MultiplierForGeometryContributionToHitGroupIndex
Um inteiro sem sinal que especifica o passo a ser multiplicado por GeometryContributionToHitGroupIndex, que é apenas o índice baseado em 0 que a geometria foi fornecida pelo aplicativo em sua estrutura de aceleração de nível inferior. Somente os 16 bits inferiores desse valor multiplicador são usados.
MissShaderIndex
Um inteiro sem sinal que especifica o índice do sombreador de erro dentro de uma tabela de sombreador.
Ray
Um RayDesc que representa o raio a ser rastreado.
Payload
Uma carga de raio definida pelo usuário acessada tanto para entrada quanto para saída por sombreadores invocados durante o raytracing. Depois que TraceRay for concluído, o chamador também poderá acessar o conteúdo.
Valor Retornado
void
Comentários
Essa função pode ser chamada dos seguintes tipos de sombreador de raytracing:
Confira também