渲染是visit函数来做的,
visit是先将不可见的节点和他所有的子节点都跳过,
然后再看节点的子节点是否为空,
如果为空的话直接看这个节点是否在摄像机可见范围之内,
如果在就渲染这个节点,
否则什么都不做。
如果子节点不为空,
就:
先将子节点排序,
通过zorder排序,
如果zorder相同就通过先后加入节点树的顺序排序,
排序好之后zorder是递增的,
先加入的也会再下面。
然后先绘制zorder小于零的,
再绘制自身,
再绘制zorder大于零的节点,
这个其实就是中序遍历节点树的过程。
时间: 2024-12-24 02:20:49