Glsl-pathtracer
Un trazador de ruta basado físicamente que se ejecuta en un sombreador de fragmento GLSL.


Características
- Trazador de ruta unidireccional
- BVH de dos niveles para instanciar
- Disney BSDF
- Mapeo de textura (albedo, rugitud metálica, normal, emisión)
- Luces analíticas (esféricas, rectangulares, direccionales)
- Iluminación basada en imágenes
- Muestreo de importancia múltiple
- Representación de baldosas
- OpenImagedenoise
- Prueba alfa estocástica
- Volúmenes homogéneos de estilo mágico
- Soporte GLTF/GLB (en progreso)
Construir instrucciones
Consulte install-win.txt para ver las instrucciones de compilación para Windows e Install-Linux.txt para Linux
Escenas de muestra
Se proporcionan un par de escenas de muestra en el repositorio. Se pueden descargar escenas adicionales desde aquí: https://drive.google.com/file/d/1ufmmovb5ub7wivcehofq2dcqsxnmxlub/view
Galería

Referencias/créditos
- Un gran agradecimiento a Cedric Guillemet (https://github.com/cedricguillemet) para limpiar el código, agregando la interfaz de usuario, integrando imguizmo, cmake y muchas correcciones.
- Tinsel Renderer (https://github.com/mmacklin/tinsel) Una versión modificada de la descripción de la escena y el cargador de ese proyecto se usa aquí.
- Ray Tracing en un fin de semana (https://github.com/petershirley/raytracinginoneweekend) El excelente libro introductorio de libros de Peter Shirley sobre Raytracing que me ayudó a comenzar en este proyecto.
- Three.js Pathtracer de Erich Loftis (https://github.com/erichlof/three.js-pathtracing-renderer).
- Optix Introducción Muestras (https://github.com/nvpro-samples/optix_advanced_samples/tree/master/src/optixintroduction)
- Mitsuba Renderer (https://github.com/mitsuba-renderer/mitsuba) referencia para la validación.
- PBRT-V3 (https://github.com/mmp/pbrt-v3) que proporciona una fuente interminable de conocimiento. El libro en línea es un regalo que sigue dando.
- Los enlaces/créditos del modelo están en la carpeta de activos (consulte: Credits de modelo.txt)