Siggraph 2013上面的一篇新文:High Resolution Sparse Voxel DAGs,主要介绍了一种基于图的稀疏体素空间存储结构。
其主要是对SVO做了进一步的改进,减少里边的共享结点的冗余存储,将其用directed acyclic graph(DAG)直接连接,如下图所示:
其创建方法也是基于SVO来进行自底向上的逐层合并(自顶向下效率较低),其中有用到一些parallel sorting等优化手段来加速操作。
使用SVD存储的体素结构可以比SVO节省较多的空间,这样一来就可以在相同的存储空间上面使用更细精度的体素细节来表述模型;同时,基于SVD的体素结构遍历并没有相对于SVO有过多性能下降,部分场合会有提升(作者用Ray tracing来进行了验证)。不过感觉其还是有些应用限制:
- SVD的创建需要对SVO中的结点进行merge操作,这样一来,一些结点包含信息较多的SVO进行SVD结点合并的效率可能并不会十分理想;
- SVD算法以SVO为基础,并且需要相对明确的结构信息,如此,一些具体应用场合下的SVO算法并不太适宜生成SVD(比如前面博文中提到的存储于3D Texture中的SVO,这里的生成效率应该会是蛮大的问题);
这些只是自己的想法,具体的情况还是需要一些实践来进行更多的验证。