公司动态
无形的“江湖秩序“:渲染队列(Render Queue)背后的底层深意
引子:小明的"数字从哪来"之惑小明一路走来,已经摸清了不透明物体"从前往后"、半透明物体"从后往前"的绘制智慧,也揭开了 Early-Z 的黑魔法。可当他回过头,重新审视 Unity 里那个叫“渲染队列(Render Queue)”的东西时,一连串新的困惑,又冒了出来:"我记得,Unity 给每种物体,都安排了一个’渲染队列’的数字——Background 是 1000,Geometry 是 2000,AlphaTest 是 2450,Transparent 是 3000,Overlay 是 4000……可是我就纳闷了:第一,为什么偏偏是这几个数字?为什么不是 1、2、3、4、5 这样简单排下去,非要用 1000、2000 这种’带一堆零’的数?第二,这个’队列’到底是干嘛的?我前面不是已经学了’从前往后排序’、‘从后往前排序’了吗?怎么又冒出来一个’队列’?它和那些排序,是什么关系?第三,也是最关键的——这套’队列’制度,它存在的’底层原因’到底是什么?引擎为什么非要设计这么一套东西?"小明这三连问,问得极有水平!它触及的,是 Unity 渲染排序体系里那个**“最顶层、最根本”**的设计——渲染队列,是驾驭整个渲染顺序的"大框架"、“总纲领”。如果说前面学的"从前往后"“从后往前"是**“局部的排兵布