As duas últimas versões da Three.js, uma biblioteca que faz renderização 3D em canvas 2D, SGV, CSSS3D e WebGL, trouxeram uma série de melhorias e refinamentos.
A principal abordagem da Three.js é renderizar objetos 3D em uma cena com câmera. Animações também podem ser aplicadas nos objetos da cena. As APIs adicionadas gerenciam diversos modelos geométricos, perspectivas de câmeras, luzes, texturas, renderizadores, sombras, funções matemáticas, recursos de carregamento, som e etc. para construir experiências 3D imersivas.
As últimas versões do Three.js trouxeram diversas melhorias e refinamentos para o renderizador WebGL. Algumas das melhorias da API do WebGLBackground incluem o suporte para o WebGLRenderTargetCube, limpeza na ordem de renderização, vértices em sombras e melhorias nas texturas. A API WebGLRenderer melhorou o suporte ao mapeamento de tom e sombra.
A Three.js também suporta a API WebAudio como um objeto de áudio global não posicional. Versões recentes incluem suporte para AudioBufferSourceNode.detune
e o uso de linearRampToValueAtTime()
.
As últimas releases incluem diversas melhorias em diversas APIs da Three.js.
Mensalmente, uma nova versão do Three.js é lançada e em cada um desses lançamentos, um número relativamente pequeno de alterações e refinamentos são adicionados, facilitando para os desenvolvedores a migração entre as versões. Os tipos de alterações feitas em cada release são relativamente menores, considerando os recursos gerais do Three.js, mostrando a maturidade e a estabilidade de todo o projeto.
A Three.js fornece suporte para WebVR e WebXR através de suas APIs WebVRUtils, WebXRManager e WebVRManager. A biblioteca também fornece o mecanismo de renderização 3D para muitos pacotes WebVR e WebXR, incluindo o A-Frame e o React 360.
O Babylon.js é uma outra engine de código aberto construído em JavaScript, focada em APIs para desenvolvedores de jogos 3D e experiências de WebXR.
Centenas de exemplos com a Three.js estão disponíveis. A biblioteca é open source sob a licença MIT. Contribuições e feedbacks são bem-vindos através do projeto Three.js hospedado no github.