Catálogo open source sem login de componentes interativos de UI com Three.js/WebGL, renderização ao vivo e código-fonte completo em React.
pmndrs/postprocessing
Biblioteca de pós-processamento para three.js que encadeia efeitos de tela cheia, como bloom, SSAO e correção de cor, em cenas WebGL.
- Estrelas
- 2,957
- Forks
- 258
- Issues abertas
- 30
- Último commit
- há 5 dias
O que é?
postprocessing é uma biblioteca JavaScript para adicionar efeitos de pós-processamento em tela cheia a cenas do three.js. O pós-processamento acontece depois que uma cena é renderizada, aplicando efeitos no espaço da imagem ao quadro final. A biblioteca é organizada em torno de um EffectComposer que executa uma sequência de passes, com um RenderPass para desenhar a cena e um EffectPass para aplicar efeitos.
O EffectPass combina qualquer conjunto de efeitos no menor número possível de operações de renderização, permitindo combinar vários efeitos sem o custo de encadear um passe separado para cada um. Cada efeito pode definir sua própria função de blend. As operações em tela cheia usam um único triângulo que cobre a tela, em vez de um quad. A biblioteca também oferece suporte a buffers de quadro HalfFloat de alta precisão para fluxos de trabalho no estilo HDR e inclui um ToneMappingEffect para converter cores HDR em uma saída que possa ser exibida.
O pacote inclui efeitos integrados, como bloom, blur, profundidade de campo, glitch, raios divinos, contorno, SSAO, pixelização, correção de cor baseada em LUT e vinheta. Também é possível criar efeitos e passes personalizados; o wiki do projeto documenta esse processo.
Recursos principais
- 01Combina vários efeitos em um único EffectPass para reduzir as operações de renderização.
- 02Inclui efeitos integrados como bloom, SSAO, profundidade de campo, contorno e correção de cor.
- 03Oferece suporte a funções de blend individuais para cada efeito.
- 04Oferece buffers de quadro HalfFloat de alta precisão para renderização no estilo HDR.
- 05Inclui um ToneMappingEffect para conversão de HDR para LDR.
- 06Permite criar efeitos e passes personalizados.
Casos de uso
- Adicionar bloom ou brilho a uma visualização de produto ou cena de jogo feita com three.js.
- Aplicar estilos retrô, como scanlines, pixelização ou glitch, a uma cena WebGL.
- Fazer a correção de cor de uma cena 3D com arquivos LUT.
- Criar efeitos interativos, como ondas de choque ou contornos em objetos selecionados.
Tópicos
Perguntas frequentes
- O que é postprocessing?
- Biblioteca de pós-processamento para three.js que encadeia efeitos de tela cheia, como bloom, SSAO e correção de cor, em cenas WebGL. postprocessing é uma biblioteca JavaScript para adicionar efeitos de pós-processamento em tela cheia a cenas do three.js. O pós-processamento acontece depois que uma cena é renderizada, aplicando efeitos no espaço da imagem ao quadro final. A biblioteca é organizada em torno de um EffectComposer que executa uma sequência de passes, com um RenderPass para desenhar a cena e um EffectPass para aplicar efeitos.
- postprocessing é gratuito? Qual é a licença?
- postprocessing é open source sob a licença Zlib. Confira os termos da licença antes de usá-lo em produtos comerciais.
- postprocessing ainda é mantido?
- Manutenção ativa. O último commit de postprocessing foi em 1 de nov. de 2026.
- Para que posso usar postprocessing?
- Adicionar bloom ou brilho a uma visualização de produto ou cena de jogo feita com three.js. Aplicar estilos retrô, como scanlines, pixelização ou glitch, a uma cena WebGL. Fazer a correção de cor de uma cena 3D com arquivos LUT. Criar efeitos interativos, como ondas de choque ou contornos em objetos selecionados.
- Onde consigo postprocessing?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pmndrs/postprocessing
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Sandbox em Three.js e GLSL para ajustar efeitos visuais de habilidades no estilo de jogos, com controles deslizantes que continuam editáveis durante a pausa da simulação.
Um wrapper funcional para WebGL que elimina o estado compartilhado da GPU, permitindo descrever chamadas de desenho como comandos e compilá-los em JavaScript otimizado.
Uma coleção aberta de mais de 100 transições GLSL criadas pela comunidade entre duas imagens, para web, dispositivos móveis, Apple, Android, Rust e ferramentas de vídeo.
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 React para Three.js que permite criar cenas 3D de forma declarativa com componentes JSX.