Funzione TraceRay
Invia un raggio in una ricerca di colpi in una struttura di accelerazione.
Sintassi
Questa definizione di funzione intrinseca equivale al modello di funzione seguente:
Template<payload_t>
void TraceRay(RaytracingAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload);
Parametri
AccelerationStructure
Struttura di accelerazione di primo livello da usare. La specifica di una struttura di accelerazione NULL forza una mancata.
RayFlags
Combinazione valida di valori di ray_flag . Solo i flag di raggio definiti vengono propagati dal sistema, ovvero sono visibili all'intrinseco shader RayFlags .
InstanceInclusionMask
Intero senza segno, i 8 bit inferiori usati per includere o rifiutare istanze geometry in base a InstanceMask in ogni istanza. Ad esempio:
if(!((InstanceInclusionMask & InstanceMask) & 0xff)) { //ignore intersection }
RayContributionToHitGroupIndex
Intero senza segno che specifica l'offset da aggiungere ai calcoli di indirizzamento nelle tabelle shader per l'indicizzazione del gruppo di hit. Vengono usati solo i 4 bit inferiori di questo valore.
MultiplierForGeometryContributionToHitGroupIndex
Intero senza segno che specifica lo stride da moltiplicare per GeometryContributionToHitGroupIndex, che è solo l'indice basato su 0 fornito dall'app nella struttura di accelerazione a livello inferiore. Vengono usati solo i 16 bit inferiori di questo valore di moltiplicatore.
MissShaderIndex
Intero senza segno che specifica l'indice dello shader mancante all'interno di una tabella shader.
Ray
RayDesc che rappresenta il raggio da tracciare.
Payload
Un payload del raggio definito dall'utente ha eseguito l'accesso sia per l'input che per l'output da parte dei shader richiamati durante il raytracing. Al termine di TraceRay , il chiamante può accedere anche al payload.
Valore restituito
void
Commenti
Questa funzione può essere chiamata dai tipi di shader raytracing seguenti:
Vedi anche