Monte-Carlo-Raytracer avec Radeon Rays et OpenCL 1.2
Caractéristiques
- Traceur de chemin régulier
- Traceur de chemin bidirectionnel
- Sources lumineuses
- Lumière directionnelle
- Lumière ponctuelle
- Lumières de zone
- Interface graphique avec scène modifiable
- Matériel Uber
- Réflexion et transmission brillantes : Torrance-Sparrow Microfacet BRDF et BTDF avec une distribution de Trowbridge-Reitz pour les diélectriques
- Transmission spéculaire
- Réflexion spéculaire
- Réflexion lambertienne
- Cartographie normale
- Actuellement, un échantillonneur aléatoire est utilisé, mais il peut être remplacé par Sobol via #define dans assets/kernels/samplers.cl
Construire
- git clone --recursive https://github.com/compix/Monte-Carlo-Raytracer.git
- CMake - Actuellement, seul Windows est pris en charge, des modifications mineures doivent être apportées pour prendre en charge Linux.
- Testé sur Windows 10, compilé avec Visual Studio 2017 (qui intègre le support CMake)
Sources pertinentes
- Pharr, Matt, Wenzel Jakob et Greg Humphreys : Rendu physique : de la théorie à la mise en œuvre. Morgan Kaufmann, 2016.
- Veach, Eric : Méthodes de Monte Carlo robustes pour la simulation de transports légers. Numéro 1610. Thèse de doctorat de l'Université de Stanford, 1997.
- Torrance, Kenneth E et Ephraim M Sparrow : Théorie de la réflexion non spéculaire à partir de surfaces rugueuses. Josa, 57(9):1105-1114, 1967.
- Trowbridge, TS et Karl P Reitz : Représentation de l'irrégularité moyenne d'une surface rugueuse pour la réflexion des rayons.
- Munshi, Aaftab : Version de la spécification OpenCL : 1.2, révision du document : 19, 2012. https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
- Rayons Radeon : https://www.amd.com/de/technologies/radeon-rays
- Sobol', Il'ya Meerovich : Sur la distribution des points dans un cube et l'évaluation approximative des intégrales.
- Morgan McGuire, Computer Graphics Archive, juillet 2017 (https://casual-effects.com/data)