渲染器的渲染顺序会影响渲染的性能和准确性,在 Galacean 中,对于每个相机,组件会按照统一的判定规则放置在对应的渲染队列中。
Galacean 共划分了三个渲染队列,按照渲染顺序依次为:
而渲染器分配到哪个队列由渲染器材质是否透明与透明裁剪的阈值共同决定。
Galacean 中对渲染顺序的判定规则如下:
引擎为渲染器提供了 priority
属性用于修改渲染队列中的渲染顺序,默认值为 0 ,priority 越小(可以为负数),渲染的优先级越高。
渲染器组件包围盒到相机距离的计算方式取决于相机的类型。在正交相机中,是渲染器包围盒中心点与摄像机沿着摄像机视图方向的距离,在透视相机中,是渲染器包围盒中心点与摄像机位置的直接距离。
需要注意的是,不同渲染队列中,距离对渲染顺序的影响规则是不同的,在非透明渲染队列和透明裁剪渲染队列中中,渲染的顺序都是由近到远,而在透明渲染队列中,渲染的顺序则为由远到近。