#2974cf7a3393a691f265e6905c0faadc#
5)SDF文字着色器:使用Troika库,可快速渲染SDF文字,无须生成纹理。
性能测试
与PC端或高端设备不同,在优化在Quest移动端平台的性能上,需要用特殊办法来处理多边形数量、材质和纹理复杂程度。Mozilla希望WebXR教学应用在Quest上像普通应用或PC VR应用一样运行顺畅,因此决定采用以下手段:1)在保证整洁平滑的情况下,将多边形数量降低至最少;2)网格尽可能合并,所有共享相同材质的静止物体合并在一起,并导出为同一个网格;3)尽可能简化、降低或回收利用材质,也就是说:场景中几乎所有元素都具备一个不变的材质,只使用两个定向光(手柄);
此外,由于不变材质不发光,于是需要提前计算出光影图,这样做有利有弊,优点是:光线质量比实时光照更好,因为渲染在线下提前完成,不受时间限制,因此不需要在Blender中进行路线追踪就能实现全局照明,模拟真实的光线。另外一点,由于不需要实时光线渲染,着色也是不变的,只需要在网格上应用纹理就足够。
相反光影图也具有两大缺点,即:体积容易变大,纹理应用在模型上时容易出现可见的像素或像素噪音(因为纹理分辨率不足或渲染效果不够顺滑,不够细致),使用2048x2048分辨率的纹理可以解决这一问题,同时Mozilla还将1万个样本用于渲染。另一点,光影图不支持动态修改光线,不过好在《Hello WebXR》应用的光线是静态的。