Fonction TraceRay
Envoie un rayon dans une recherche d’accès dans une structure d’accélération.
Syntaxe
Cette définition de fonction intrinsèque est équivalente au modèle de fonction suivant :
Template<payload_t>
void TraceRay(RaytracingAccelerationStructure AccelerationStructure,
uint RayFlags,
uint InstanceInclusionMask,
uint RayContributionToHitGroupIndex,
uint MultiplierForGeometryContributionToHitGroupIndex,
uint MissShaderIndex,
RayDesc Ray,
inout payload_t Payload);
Paramètres
AccelerationStructure
Structure d’accélération de niveau supérieur à utiliser. La spécification d’une structure d’accélération NULL force une absence.
RayFlags
Combinaison valide de valeurs ray_flag . Seuls les indicateurs de rayon définis sont propagés par le système, c’est-à-dire visibles par l’intrinsèque du nuanceur RayFlags .
InstanceInclusionMask
Entier non signé, dont les 8 bits inférieurs sont utilisés pour inclure ou rejeter des instances geometry basées sur instanceMask dans chaque instance. Par exemple :
if(!((InstanceInclusionMask & InstanceMask) & 0xff)) { //ignore intersection }
RayContributionToHitGroupIndex
Entier non signé spécifiant le décalage à ajouter aux calculs d’adressage dans les tables de nuanceur pour l’indexation des groupes de résultats. Seuls les 4 bits inférieurs de cette valeur sont utilisés.
MultiplierForGeometryContributionToHitGroupIndex
Entier non signé spécifiant la foulée à multiplier par GeometryContributionToHitGroupIndex, qui est simplement l’index de base 0 que la géométrie a été fournie par l’application dans sa structure d’accélération de niveau inférieur. Seuls les 16 bits inférieurs de cette valeur multiplicateur sont utilisés.
MissShaderIndex
Entier non signé spécifiant l’index du nuanceur manquant dans une table de nuanceur.
Ray
RayDesc représentant le rayon à tracer.
Payload
Une charge utile de rayon définie par l’utilisateur a accédé à la fois pour l’entrée et la sortie par les nuanceurs appelés pendant le raytracing. Une fois TraceRay terminé, l’appelant peut également accéder à la charge utile.
Valeur renvoyée
void
Notes
Cette fonction peut être appelée à partir des types de nuanceurs de raytracing suivants :
Voir aussi