在文章Advanced Octrees 2: node representations中指出:
节点的 AABB 可以像以前一样显式存储,也可以从隐式存储在位置代码中的节点树深度计算。为了从节点的位置代码推导出节点的树深度,需要一个标志位来指示位置代码的结束。如果没有这样的标志,就不可能区分例如 001 和 000 001。通过使用 1 位来标记序列的结尾,可以很容易地将 1 001 与 1 000 001 区分开来。使用这样的标志相当于设置八叉树根的位置代码为 1。
位置代码是一个 32 位字。也就是说,如果第一个示例后面的所有位都等于第二个示例的位... 001
,则... 000 001
可能与作者所说的相同。
标记序列的结尾如何帮助我们找到树中节点的深度?
作者使用示例... 1 001
和... 1 000 001
. 第一个节点是否有深度 1 和第二个深度 2?如果是这样,我怎么知道?位置代码是一个 32 位的字,因此“结束标志”后面的位可以跟随,因为... 001 001
它也是有效节点。
所以我真正不明白的是如何在 32 位字中存储位置代码和树中节点的深度。