版本发布|Orillusion 0.6.9版本发布啦!

132 阅读3分钟

小鸥带着Orillusion引擎新版本来啦!

展示新功能之前先看看这段时间WebGPU有哪些重大变化:

· 对于StorageGPUBuffer的使用更加严格。在每个Pipeline中限制数量为8个,且在ComputeShader中使用时,从未写入的必须用**,有写入过的需要使用<write,read>****。**

· 在使用textureSampleCompare采样深度对比时,不能嵌套使用不确定的for循环语句,同样不能在采样对比之前存在判断语句、discard、switch等会造成执行分支的语法。

应对这些变化,Orillusion Engine又做了什么调整:

· 优化合并不适用的GPUBuffer;

· 去除textureSampleCompare改为使用textureSample;

· Mac下wgsl做了 for 循环适配。

针对这次WebGPU的变化,我们第一时间进行了全引擎的适配调整和升级。这种迭代和更新速度,已经可以说明一切了:WebGPU,我们是认真的!

V0.6.9功能新增主要包括两部分:

Wasm Matrix

Wasm Matrix功能通过Web assembly编译 c++版本的矩阵计算,弥补JavaScript 大量矩阵计算性能差的问题 ,带来1.8倍以上的矩阵计算性能。纯计算测试对比数据:

计算 30万个矩阵更新计算

级联阴影CSM(Cascade Shadow Map)

常用于支持大场景中更好的阴影渲染那效果,将视锥内阴影按四个等级进行划分,在着色处理阴影的阶段根据当前所处阴影等级选择合适的阴影贴图,能够获得更加精确、覆盖全视锥体范围的阴影效果。使用了CSM阴影后,能够解决阴影Bound范围过大,阴影的像素密度不够导致马赛克化过于严重;Bound范围小、阴影区域过小,远处的物体丢失阴影的问题。CSM的Demo小鸥已在下方奉上:

此外,在新版本中修复GUI平移问题、粒子深度问题、worldpanel深度问题等,优化了组件生命周期、八叉树demo、canvas style,以及后处理特效中的Bloom(辉光)与GTAO等功能。具体更新日志如下:

· Webg****pu: fix latest WGSL error

· Canvas**:** fix external canvas style

· GUI: UITransform will be updated correctly

· Octree: Improve Octree's sample

· Component: fix component life cycle

· Particle: fix particle material depth bug

· WorldPanel: fix worldPanel depth compareFun

· Bloom: fix bloom uniform data offset

· GTAO: Reduce threshold of dot gtao

Orillusion致力于打造全世界第一款完全开源基于WebGPU标准的一种轻量级渲染引擎,目标是在浏览器中实现桌面级的渲染效果,支持超大复杂场景的3D呈现。易上手,易分享,易迭代,易协作、成本低,跨平台是我们的核心优势,我们将为3D场景爆发时代提供引擎基础工具。

未来我们将会持续把最干货最前沿的WebGPU技术分享给每一位社区成员,也欢迎大家为Orillusion开源社区做出自己的贡献。我们一直坚信,开源社区的技术留痕是每一位技术人员最崇高的追求!因此,我们尊重,我们认可,我们更期待,加入Orillusion,让我们共同进步!

——Link uncharted, 链接未来世界