Uma biblioteca JavaScript 3D que facilita criar e renderizar cenas 3D no navegador com WebGL e WebGPU.
gkjohnson/three-gpu-pathtracer
Um renderizador de path tracing para three.js com WebGPU, que usa three-mesh-bvh para gerar imagens com iluminação fisicamente realista no navegador.
- Estrelas
- 2,029
- Forks
- 200
- Issues abertas
- 63
- Último commit
- ontem
O que é?
three-gpu-pathtracer é um renderizador de path tracing para three.js que roda na GPU por meio de compute shaders do WebGPU. Ele usa a biblioteca three-mesh-bvh para acelerar a interseção de raios, com o objetivo de produzir imagens de alta qualidade e fisicamente realistas diretamente no navegador.
A biblioteca disponibiliza a classe WebGPUPathTracer, que recebe uma cena e uma câmera do three.js e acumula amostras progressivamente a cada frame. Ela também inclui um BlurredEnvMapGenerator para gerar mapas de ambiente pré-desfocados, o que pode melhorar a convergência em troca de reflexos menos nítidos.
O projeto requer WebGPU. Luzes spot, direcionais e pontuais são compatíveis apenas com multiple importance sampling, e somente MeshStandardMaterial e MeshPhysicalMaterial são renderizados. O repositório inclui demos que abrangem carregamento de glTF, luzes de área e spot, profundidade de campo, ambientes HDR, denoising e renderização de animações.
Recursos principais
- 01Path tracing de cenas do three.js usando compute shaders do WebGPU.
- 02Interseção de raios acelerada por meio de three-mesh-bvh.
- 03Amostragem progressiva com um loop renderSample simples.
- 04Compatibilidade com luzes de área, spot, direcionais e pontuais usando multiple importance sampling.
- 05Geração de mapas de ambiente desfocados para acelerar a convergência.
- 06Compatibilidade com MeshStandardMaterial e MeshPhysicalMaterial.
Casos de uso
- Gerar prévias fotorrealistas de cenas de produtos ou arquitetura feitas com three.js no navegador.
- Prototipar iluminação e materiais fisicamente realistas para aplicações 3D na web.
- Renderizar imagens estáticas ou frames de animação em alta qualidade a partir de modelos glTF.
Início rápido
- 1
Instale as dependências para executar os exemplos localmente
npm install - 2
Inicie as demonstrações localmente
npm start - 3
Abra uma página de demonstração na porta 5173 do localhost usando o nome da demonstração
Antes de usar
- O projeto requer WebGPU, portanto não será executado em navegadores sem suporte a WebGPU.
- Apenas MeshStandardMaterial e MeshPhysicalMaterial são compatíveis.
- SpotLights, DirectionalLights e PointLights são compatíveis apenas com MIS.
Tópicos
Perguntas frequentes
- O que é three-gpu-pathtracer?
- Um renderizador de path tracing para three.js com WebGPU, que usa three-mesh-bvh para gerar imagens com iluminação fisicamente realista no navegador. three-gpu-pathtracer é um renderizador de path tracing para three.js que roda na GPU por meio de compute shaders do WebGPU. Ele usa a biblioteca three-mesh-bvh para acelerar a interseção de raios, com o objetivo de produzir imagens de alta qualidade e fisicamente realistas diretamente no navegador.
- three-gpu-pathtracer é gratuito? Qual é a licença?
- three-gpu-pathtracer é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- three-gpu-pathtracer ainda é mantido?
- Manutenção ativa. O último commit de three-gpu-pathtracer foi em 6 de nov. de 2026.
- Para que posso usar three-gpu-pathtracer?
- Gerar prévias fotorrealistas de cenas de produtos ou arquitetura feitas com three.js no navegador. Prototipar iluminação e materiais fisicamente realistas para aplicações 3D na web. Renderizar imagens estáticas ou frames de animação em alta qualidade a partir de modelos glTF.
- Como instalar three-gpu-pathtracer?
- Instale as dependências para executar os exemplos localmente: npm install Inicie as demonstrações localmente: npm start Abra uma página de demonstração na porta 5173 do localhost usando o nome da demonstração
- Onde consigo three-gpu-pathtracer?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/gkjohnson/three-gpu-pathtracer
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Engine de jogos 3D e renderização em JavaScript/TypeScript que roda no navegador com WebGL, WebGPU e WebXR.
Série gratuita de livros online que ensina a criar um ray tracer do zero em C++, com o código-fonte completo de cada etapa.
Um mod beta para Fabric que adiciona path tracing do NVIDIA RTX Remix ao Minecraft Java Edition 1.21.1 em GPUs GeForce RTX.
Renderizador de oceano em tempo real para three.js (WebGL2), com ondas FFT, arrebentação, espuma, cáusticas, visualização subaquática e objetos flutuantes.
Um renderer Three.js para cenas de 3D Gaussian Splatting, com suporte a WebGPU e WebGL2 e LOD em streaming para modelos grandes.