GLSL-PATHTRACER
Um rastreador de caminho baseado fisicamente que é executado em um shader de fragmento GLSL.


Características
- Tracer de caminho unidirecional
- BVH de dois níveis para instantar
- Disney BSDF
- Mapeamento de textura (Albedo, Roughness Metallic, Normal, Emissão)
- Luzes analíticas (esféricas, retangulares, direcionais)
- Iluminação baseada em imagem
- Amostragem múltipla de importância
- Renderização de ladrilhos
- OpenImagedEnoise
- Teste alfa estocástico
- Volumes homogêneos no estilo Magicavoxel
- Suporte GLTF/GLB (em andamento)
Construir instruções
Consulte o install- win.txt para obter as instruções de compilação para windows e install-linux.txt para linux
Amostra de cenas
Algumas cenas de amostra são fornecidas no repositório. Cenas adicionais podem ser baixadas aqui: https://drive.google.com/file/d/1ufmovb5ub7wivcehofq2dcqsxnmxlub/view
Galeria

Referências/créditos
- Um enorme grito para Cedric GuilleMet (https://github.com/cedricguillemet) para limpar o código, adicionando a interface do usuário, integrando o imguizmo, cmake e muitas correções.
- O renderizador do Tinsel (https://github.com/mmacklin/tinsel) Uma versão modificada da descrição e carregador da cena desse projeto é usada aqui.
- Ray Rasting em um fim de semana (https://github.com/petershirley/raytraacinginOneweekend) O excelente livro do livro de Peter Shirley sobre Raytracing, que me ajudou a começar neste projeto.
- ERICH LOFTIS TRIGH TRIGHTRACHTRACER (https://github.com/erichlof/three.js-pathtracing-renderper).
- Optix Introdução Amostras (https://github.com/nvpro-samples/optix_advanced_samples/tree/master/src/optixintroduction)
- O renderizador da Mitsuba (https://github.com/mitsuba-renderer/mitsuba) para validação.
- Pbrt-v3 (https://github.com/mmp/pbrt-v3), que fornece uma fonte interminável de conhecimento. O livro online é um presente que continua dando.
- Os links/créditos do modelo estão na pasta Ativo (consulte: Model Credits.txt)