Babylon.js 3.2 版改进了 3D 渲染

阅读数:654 2018 年 5 月 14 日

话题:JavaScript语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Babylon 团队宣布 Babylon.js 3.2 版发布。3.2 版使用了更多的 WebGL 2.0 特性改进了 3D 渲染,进一步采纳了现代 JavaScript 和 TypeScript 模式,并添加了更多的动画选项和特效。

Babylon.js 是一种用 TypeScript 编写的 JavaScript 框架,用于结合 HTML5、WebGL、WebVR 和 Web Audio 构建 3D 游戏和体验。它提供了从 Blender、Unity、3DS Max、Maya 和 Clara.io 等常用 3D 工具导出 Babylon.js 对象的工具。Babylon 团队致力于提供在各种浏览器和设备中的 3D 体验支持。3.2 版为 Babylon JavaScript 引擎引入了多种新的缓存层,减少了 JavaScript 的执行时间,节省了 3D GPU 计算所占用的浏览器资源。

此外,3.2 版中还新添了多种 WebGL 2.0 功能,包括:使用 PCF(Percentage Closer Filtering)和接触硬化(Contact Hardening)改进的阴影、使用镜面抗锯齿(Specular Anti-aliasing)的抗锯齿算法更新、降低闪亮物体上的人为视觉效果(visual artifacts)等。3.2 版为不支持 WebGL 2.0 的浏览器提供了一些备选项。

为进一步改进动画选项,Babylon 3.2 版添加了动画合成(animation blending)和动画权重特性。动画合成使得开发人员可以从一个动画无缝地切换到另一个动画,而动画权重支持开发人员通过指定每个动画的权重而合成多个动画。项目提供了各种特效,并添加了实现对象部分发光可视化效果的光晕层(Glow Layer)。

另一项 WebGL 2.0 特性是 GPU 粒子(particle)。目前,3.2 版支持使用 GPU 对粒子进行动画和渲染,而不再使用 CPU 做动画渲染。这进一步提高了动画效果的性能。

该项目目前已支持 ES2015 Promises 和 async/await,这改进了 Babylon.js 的异步编码。

Babylon 3.2 更新和缺陷修复完整列表中,给出了 3.2 版中的所有改进情况。Babylon.js Playground网站上给出了一些交互式演示,重在表现 3.2 版本的新特性。Babylon.js使用 Apache 2.0 开源许可。欢迎通过Babylon.js 的 GitHub 项目做出贡献。

查看英文原文: Babylon.js 3.2 Release Improves 3D Rendering