Récemment, je développe un traceur de chemin Monte-Carlo. Pour mesurer les performances de mon traceur, j'ai décidé de mettre en place un mécanisme simple pour compter le nombre de rayons qu'il peut tracer en une seconde. Puis vient le problème, il y a deux façons de définir un seul rayon:
Un rayon complet, c'est-à-dire partant de la caméra et rebondissant autour de la scène jusqu'à ce qu'elle se termine.
Le rayon provient de chaque point d'intersection.
Bien que de nombreuses personnes utilisent des «rayons par seconde» pour mesurer les performances du traceur de rayons / chemin, la façon dont elles reconnaissent les «rayons» n'est pas claire pour moi. Peut-être que quelqu'un sait?
Réponses:
J'ai vu les deux, malheureusement. Je n'aime pas les rayons par seconde car ils signifient exclusivement des rayons primaires et je suggérerais plutôt des "chemins par seconde" ou mieux encore des "échantillons par seconde". "Rayon complet" n'est pas un terme courant: un rayon est un segment de ligne (potentiellement illimité) et une séquence de rayons est un chemin.
Les rayons par seconde dans votre deuxième sens de la projection totale des rayons ne sont pas bien spécifiés pour un traceur de trajectoire: les rayons d'ombre comptent-ils, par exemple? C'est une mesure utile pour évaluer une structure d'accélération ou un cadre de test d'intersection (c'est-à-dire Embree ou OptiX) mais je l'éviterais pour un moteur de rendu.
Enfin, sachez que les échantillons par seconde ne sont toujours pas une excellente mesure des performances réelles, car la qualité des échantillons variera énormément en fonction des détails de mise en œuvre. C'est probablement la meilleure chose que vous puissiez faire pour commencer, car les meilleures solutions impliquent des estimations de variance assez complexes.
la source