GLSL-PATHTRACER
Un traceur de chemin à base physique qui fonctionne dans un shader de fragment GLSL.


Caractéristiques
- Traceur de chemin unidirectionnel
- BVH à deux niveaux pour l'instances
- Disney BSDF
- Cartographie de la texture (albédo, rought métallique, normal, émission)
- Lumières analytiques (sphériques, rectangulaires, directionnelles)
- Éclairage basé sur l'image
- Échantillonnage d'importance multiple
- Rendu carreau
- OpenImageDenoise
- Tests alpha stochastiques
- Volumes homogènes de style magique
- Support GLTF / GLB (en cours)
Construire des instructions
Veuillez consulter Install-win.txt pour les instructions de construction pour Windows et Install-Linux.txt pour Linux
Exemples de scènes
Quelques scènes d'échantillons sont fournies dans le référentiel. Des scènes supplémentaires peuvent être téléchargées à partir d'ici: https://drive.google.com/file/d/1ufmmovb5ub7wivcehofq2dcqsxnmxlub/view
Galerie

Références / crédits
- Un énorme cri à Cedric Guillemet (https://github.com/cedricguillemet) pour nettoyer le code, en ajoutant l'interface utilisateur, en intégrant Imguizmo, Cmake et pas mal de correctifs.
- Rendu Tinsel (https://github.com/mmacklin/tinesel) Une version modifiée de la description de la scène et du chargeur de ce projet est utilisée ici.
- Ray Tracing en un week-end (https://github.com/petershirley/raytracinginoneweekend) Excellent livre d'introduction de Peter Shirley sur Raytracing qui m'a aidé à démarrer sur ce projet.
- Erich Loftis's Three.js Pathtracer (https://github.com/erichlof/three.js-pathtracing-derer).
- Optix Introduction échantillons (https://github.com/nvpro-samples/optix_advanced_samples/tree/master/src/optixintroduction)
- Mitsuba Renderer (https://github.com/mitsuba-derer/mitsuba) Référence pour la validation.
- PBRT-V3 (https://github.com/mmp/pbrt-v3) qui fournit une source de connaissance sans fin. Le livre en ligne est un cadeau qui continue de donner.
- Les liens / crédits du modèle sont dans le dossier des actifs (voir: modèle crédits.txt)