发明名称 一种基于GPU的层次包围盒的快速构造方法
摘要 本发明公开了一种基于GPU的层次包围盒快速构造方法,包括:(1)将GPU的活动线程划分为若干线程块,通过构建层次包围盒对模型空间中的场景数据逐级进行划分,直至达到预定的级数,其中所有的线程块同时参与同一个场景节点的划分;(2)每个线程块分别参与不同的场景节点的划分,直至划分到每个节点所含面片数不多于每个线程块内的线程数;(3)每个线程分别参与不同的场景节点的划分,直至划分到每个节点所含面片数不多于5个。本发明方法可有效利用硬件的并行计算能力,提高加速结构的构造速度和质量。
申请公布号 CN101819675A 申请公布日期 2010.09.01
申请号 CN201010150510.9 申请日期 2010.04.19
申请人 浙江大学 发明人 许端清;杨鑫;赵磊
分类号 G06T1/00(2006.01)I;G06T11/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 杭州天勤知识产权代理有限公司 33224 代理人 胡红娟
主权项 一种基于GPU的层次包围盒快速构造方法,其特征在于,包括:(1)将GPU的活动线程划分为若干线程块,通过构建层次包围盒对模型空间中的场景数据逐级进行划分,直至达到预定的级数,其中所有的线程块同时参与同一个场景节点的划分;(2)每个线程块分别参与不同的场景节点的划分,直至划分到每个节点所含面片数不多于每个线程块内的线程数;(3)每个线程分别参与不同的场景节点的划分,直至划分到每个节点所含面片数不多于5个;在步骤(2)和步骤(3)中划分场景数据的具体步骤如下:a)在存储区域中建立两个队列,为第一队列和第二队列,分别存放用来存放等待进行划分的场景节点;b)当GPU存在空闲线程块或线程时,从第一队列中依次取等待进行划分的场景节点进行划分,并将产生的新的场景节点放入第二队列;其中对第一队列中编号为k的场景节点进行划分所产生的新的场景节点在第二队列中的编号分别为2×k+t,其中t=0,1;场景节点在队列中的编号也对应了该场景节点在存储区域中的位置;c)当第一队列中等待进行划分的场景节点处理完毕后,清空第一队列中的所有节点数据;当GPU存在空闲线程块或线程时,从第二队列中依次取等待进行划分的场景节点进行划分,并将产生的新的场景节点放入第一队列,直至第二队列中等待进行划分的场景节点都处理完毕;其中对第二队列中编号为j的场景节点进行划分所产生的新的场景节点在第一队列中的编号分别为2×j+t其中t=0,1;场景节点在队列中的编号也对应了该场景节点在存储区域中的位置。d)循环步骤b)、步骤c),直至完成相应的场景节点的划分;当每个队列中等待进行划分的场景节点划分完毕后,通过硬件支持的紧凑操作清除对该队列中的空场景节点。
地址 310027 浙江省杭州市西湖区浙大路38号