基于稀疏体素有向无环图的光照计算加速结构
发布时间:2019-11-14 19:13
【摘要】:提出了一种基于稀疏体素有向无环图(SVDAG)的光照计算加速结构。通过自下而上地合并相同节点,将稀疏体素八叉树转化为SVDAG;同时,利用给定节点的遍历路径和子掩码,消除了空间位置的多义性。针对闭合几何体,基于双层深度图算法可自适应合并位于闭合区域的节点,在保证光照计算性能的前提下,进一步减小了存储开销。提出了一种基于时域相关性的SVDAG帧间复用方法,利用动态场景的全部帧构成SVDAG加速结构整体,提高了更新速度。实验结果表明,新算法提高了三维场景的绘制效率,在面对高分辨率的动态场景时,仍能获得较高的帧速率。
【图文】:
区域对应的节点,避免了对空白节点的存储。在SVO构建过程中,每个节点的子掩码一共8bit,“0”表示子节点为空,“1”表示子节点为实节点。因此,指向空节点的指针可以完全被剔除,仅需要保留指向第一个非空子节点的指针,其子节点可以按照约定顺序(如广度优先顺序)连续地存储在内存空间中,层级内部可采用Morton码顺序,也不需要保留指针,从而达到减小存储开销的目的,如图1所示。因此,只要知道子掩码和约定的遍历顺序,,就可以通过节点的连续存储顺序恢复出SVO的完整结构。图1SVO节点排列顺序及指针安排的二维示意图Fig.1Two-dimensionalschematicoforderandpointersettingofnodesinSVO0820001-2
合并操作,某些节点可能拥有多个父节点,因此,SVO就从树形结构扩展为SVDAG。按照上述思路,将SVO转化为SVDAG最简单的方法就是从根节点开始,搜索是否存在完全相同的子树,并继续递归每一个子树,直至遇到叶子节点。这个方法虽然简单,但是递归操作需要将整个场景的所有节点推入堆栈后进行回溯,分辨率较高时内存开销的峰值很大。因此,为了避免递归,提出了如下一种自下而上的方法以实现从SVO到SVDAG的转换。1)从SVO的底部开始,搜索相同的叶子节点并进行合并,如图2所示。在SVO中,由于叶子节点仅表示对应空间位置上是否存在对应体素,因此合并后的叶子节点最多两种。图2搜索相同叶子节点并进行合并Fig.2Searchingforsameleafnodesandmerging2)继续往上层处理,搜索子掩码和指针完全相同的节点,这样的节点具有相同的子树,可以进行合并,如图3所示。需要注意的是,压缩这些层级的节点时,只要考虑子树的根节点,这是因为合并操作是自下而上进行的,节点本身具有相同的子掩码和指针即说明它们的下级子树直至叶子节点都是相同的。图3自下而上地将SVO转化为SVDAG的示意图Fig.3SchematicofconvertingSVOtoSVDAGfrombottomtotop3)自下而上进行搜索和合并操作,参与合并的节点越来越多,直到没有节点可以合并或到达根节点,获得最终的SVDAG,如图4所示。该算法同样适用于深度不均匀的SVO,同时也可对不同子树分别进行转化操作然后再组合。由于整个SVO的数据规模可能远大于对应的SVDAG的数据规模,可以利用
本文编号:2560955
【图文】:
区域对应的节点,避免了对空白节点的存储。在SVO构建过程中,每个节点的子掩码一共8bit,“0”表示子节点为空,“1”表示子节点为实节点。因此,指向空节点的指针可以完全被剔除,仅需要保留指向第一个非空子节点的指针,其子节点可以按照约定顺序(如广度优先顺序)连续地存储在内存空间中,层级内部可采用Morton码顺序,也不需要保留指针,从而达到减小存储开销的目的,如图1所示。因此,只要知道子掩码和约定的遍历顺序,,就可以通过节点的连续存储顺序恢复出SVO的完整结构。图1SVO节点排列顺序及指针安排的二维示意图Fig.1Two-dimensionalschematicoforderandpointersettingofnodesinSVO0820001-2
合并操作,某些节点可能拥有多个父节点,因此,SVO就从树形结构扩展为SVDAG。按照上述思路,将SVO转化为SVDAG最简单的方法就是从根节点开始,搜索是否存在完全相同的子树,并继续递归每一个子树,直至遇到叶子节点。这个方法虽然简单,但是递归操作需要将整个场景的所有节点推入堆栈后进行回溯,分辨率较高时内存开销的峰值很大。因此,为了避免递归,提出了如下一种自下而上的方法以实现从SVO到SVDAG的转换。1)从SVO的底部开始,搜索相同的叶子节点并进行合并,如图2所示。在SVO中,由于叶子节点仅表示对应空间位置上是否存在对应体素,因此合并后的叶子节点最多两种。图2搜索相同叶子节点并进行合并Fig.2Searchingforsameleafnodesandmerging2)继续往上层处理,搜索子掩码和指针完全相同的节点,这样的节点具有相同的子树,可以进行合并,如图3所示。需要注意的是,压缩这些层级的节点时,只要考虑子树的根节点,这是因为合并操作是自下而上进行的,节点本身具有相同的子掩码和指针即说明它们的下级子树直至叶子节点都是相同的。图3自下而上地将SVO转化为SVDAG的示意图Fig.3SchematicofconvertingSVOtoSVDAGfrombottomtotop3)自下而上进行搜索和合并操作,参与合并的节点越来越多,直到没有节点可以合并或到达根节点,获得最终的SVDAG,如图4所示。该算法同样适用于深度不均匀的SVO,同时也可对不同子树分别进行转化操作然后再组合。由于整个SVO的数据规模可能远大于对应的SVDAG的数据规模,可以利用
【相似文献】
相关期刊论文 前10条
1 刘峰;王越;;针对有向无环图结构的多版本分布模式优化[J];计算机工程;2011年11期
2 范伟;刘峰;徐世军;邢茜;;多节点有向无环图优化算法[J];重庆理工大学学报(自然科学);2011年12期
3 王樱;彭景斌;王静;;经济模式下基于有向无环图的优化调度算法设计[J];福建电脑;2011年07期
4 何黎刚,韩宗芬,秦啸,庞丽萍;一种基于有向无环图的实时任务调度算法[J];华中理工大学学报;2000年10期
5 王樱;李琳;王杰;;基于有向无环图的时间—费用优化调度算法[J];衡阳师范学院学报;2010年03期
6 曾阳红;黄海于;汪维富;;基于有向无环图的成本-时间优化调度算法[J];电脑知识与技术(学术交流);2007年15期
7 韩中;陈富民;高智勇;高建民;;系统建模中基于对象的有向无环图节点粒度的转换[J];西安交通大学学报;2008年09期
8 程刚;钟秋海;;相似案例自适应选择算法及其应用[J];控制与决策;2007年03期
9 纪凌光;高世臣;王娟;;一个新的基于GA的有向无环图画图算法[J];微计算机信息;2009年30期
10 余冬梅;;基于DAG的高校培养计划图自动生成算法[J];陕西理工学院学报(自然科学版);2013年05期
本文编号:2560955
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2560955.html