Le traçage de chemin est la technique standard dans le rendu photoréaliste non en temps réel, et vous devriez examiner spécifiquement le traçage de chemin bidirectionnel pour obtenir des effets comme les caustiques, ce que vous ne pouvez pas vraiment obtenir avec le traçage de chemin de base. Le traçage de chemin bidirectionnel converge également plus rapidement vers la vérité au sol, comme indiqué dans l'image ci-dessous:
Le transport léger Metropolis (MLT) est également une technique de traçage de chemin plus avancée qui converge encore plus rapidement vers la vérité au sol en mutant les "bons" chemins existants:
Vous pouvez également utiliser l'échantillonnage d'importance pour une convergence plus rapide en concentrant plus de rayons vers les directions qui importent le plus. C'est-à-dire en focalisant les rayons basés sur BRDF (plus vers le pic BRDF en utilisant la fonction de densité de probabilité) ou vers la source de lumière, ou obtenir le meilleur des deux mondes et en utilisant un échantillonnage à importance multiple.
Il s'agit de réduire le bruit de manière impartiale. Il existe également des techniques de débruitage pour réduire davantage le bruit dans les images rendues.
Je pense qu'il est préférable d'implémenter d'abord un traceur de chemin Monte Carlo de force brute de base pour servir de référence impartiale avant d'examiner les techniques les plus avancées. Il est assez facile de faire des erreurs et d'introduire des biais qui passent inaperçus, donc avoir une implémentation simple est bon d'avoir autour pour référence.
Vous pouvez également obtenir de très bons résultats en appliquant le traçage de chemin aux médias participants, mais cela devient très lent: D
Même si je ne connaissais pas le traçage du chemin de Monte Carlo lorsque j'ai écrit cela, je l'ai accidentellement décrit. Ironiquement, le traçage du chemin de Monte Carlo est la réponse que je cherchais à l'époque.
Le traçage de chemin Naive Monte Carlo fonctionne en évaluant ce que l'on appelle l'équation de rendu pour résoudre numériquement la valeur de couleur d'un pixel. Il prend des échantillons aléatoires en vacillant au sein d'un pixel (il existe de meilleures stratégies d'échantillonnage et de filtrage: quel est le raisonnement fondamental pour l'anti-aliasing en utilisant plusieurs échantillons aléatoires dans un pixel? ) Et également en rebondissant dans des directions aléatoires lorsqu'un rayon frappe une surface .
Cela peut prendre beaucoup d'échantillons pour vous donner de bons résultats, et avec pas assez d'échantillons, votre image sera bruyante. Il faut 4 fois plus d'échantillons pour réduire le bruit de moitié. Les temps de rendu peuvent être de l'ordre d'une heure en utilisant 8 cœurs de processeur modernes pour une scène simple.
Il existe des techniques de traçage de chemin Monte Carlo plus avancées qui vous permettent d'obtenir de meilleures images plus rapidement, comme l'échantillonnage d'importance ou le débruitage de l'image après son rendu.
Le traçage de chemin de Monte Carlo peut créer des images photoréalistes et vous offre de nombreuses fonctionnalités de rendu avancées simplement parce qu'il suit les lois physiques et donne donc des résultats réalistes.
Vous pouvez en savoir plus à ce sujet ici: http://blog.demofox.org/2016/09/21/path-tracing-getting-started-with-diffuse-and-emissive/
Voici un exemple d'image, qui a pris environ une heure pour être rendu en utilisant les 8 cœurs de mon processeur:
la source