| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
GPU光线跟踪算法加速结构研究           
GPU光线跟踪算法加速结构研究
,就可以停止整个求交过程,从而加速算法的处理过程。在本文的实现中,以相同的方式跟踪阴影光线和反射光线,因此,就没有使用到这个优化策略。

已经对每一个像素产生了正确二次光线,如果需要,就能够执行另外一趟遍历/求交过程,对上述的二次光线进行跟踪。每一次调用着色程序就能够对每一个像素返回一个颜色值和一条新的光线。着色内核也可以将前一次着色程序的输出当作本次着色程序的输入。这就使得能够在跟踪连续的光线的时候合并这些连续的镜面反射的颜色。

同carr等人的程序不同,本文所采用的程序不存在浮点精度太低的问题,因为ceforce 7300在整个管线中支持真正的32位浮点操作。

3.加速结构的实现和比较

3.1均匀栅格

均匀栅格是第一个在gpu上实现的加速结构。purcell给出了很多选择均匀栅格作为加速结构的理由,但是purcell没有详细的说明为什么均匀网格对于硬件实现而言比其它的加速结构要更加的简单。当在探讨了均匀栅格的一些主要特性的时候,更加清晰的知道了均匀栅格为什么会成为一个好的gpu机速结构。

首先,只用使用简单的算术运算,就能够对于每个体素的遍历在常量时间能被定位和存取。这就消除了对树的遍历的需要,以及重复的纹理查找工作,而纹理查找是相当耗时的。

其次,体素的遍历是通过递增算术运算来完成的。这就消除了对堆栈的需要,使得我们能够从光线的起始点开始,以距离递增的顺序访问体素成为可能。

再其次,由于对于体素的访问是沿着光线,以距离递增的方式遍历的,所以,一旦在一个被访问的体素中报道发现有一个交点,就可以停止这条光线对体素的遍历过程,从而提高整个遍历过程的速度。

最后,用于遍历的代码非常适合用向量编写,而向量形式的编码风格又非常适合gpu的指令集。

然而,均匀栅格的缺点就是由于它是空间细分结构的一种特殊情况,多个体素可能包含相同三角形的多个引用。由于无法使用mailbox技术,这就意味着需要对于相同的光线和三角形之间进行不止一次的相交测试。

3.2 kd-tree

最近,havran等人对基于cpu的光线跟踪算法的加速结构进行了比较,得出的结论是对于众多不同类型的测试场景,平均而言,kd-tree是最快的。所以,有必要考察一下对于基于kd-tree的gpu光线跟踪算法,是否也会有相似的结论。

就像均匀栅格一样,kd-tree也是一种空间细分结构。同均匀网格不同的是,kd-tree利用一个二叉树将场景表示成一个层次结构。

在二叉树中,我们将内部节点和叶子节点区分开。叶子节点用来表示体素和与之相关的保存在该体素内的三角形的引用。一个内部节点用来表示空间区域的某个部分。所以,内部节点包含一个分裂面的两个子树的引用,而叶子节点只包含一个三角形列表。

kd-tree的创建过程从上而下,根据一个评价函数,通过放置一个分离平面,递归的将场景分离成两个体素。我们能够以递归的方式遍历kd-tree,但是由于gpu没有堆栈结构,所以无法应用递归的策略。取而代之的是,我们能够通过记住我们沿着光线前进了多远来向上或者向下遍历树。这种策略消除了需要堆栈的限制,使得用cpu来完成对kd-tree结构的遍历成为可能。

当使用gpu对kd-tree进行遍历的时候,kd-tree像均匀栅格那样被表示成一个纹理的集合。这就意味着有一个保存树数据的纹理,一个保存三角形列表的纹理,和一个保存实际的三角形数据的纹理。gpu的遍历首先调用一个初始化内核,然后按照需要,多次调用合并后的遍历和求交内核。

3.3 包围体层次(bvh)

给定一些随机的光线,通过计算遍历包围体层次的平均花费,就可以测量出该包围体层次的质量。迄今为止,还没有构建最优的包围体层次的算法,也就是说,如何准确的测量一个包围体层次的平均遍历时间还不是很明显。

goldsmith和salmon提出了一个评价函数,通常被称为表面积启发式函数。他们通过父节点和孩子节点的表面积之比来形式化的表述这个关系,此评价函数如下所示:

此处,hit(n)是光线击中节点n的情况,sn是节点n的表面积,c和p分别表示父节点和孩子节点。

这个评价函数给出了,当用一条随机的光线同层次结构求交的时候,成本上的估计。由于没有最优的方法去有效的构造一个最优的bvh,提出了不同的构造技巧。下面,将列出比较通用的方法。

在实践中,对于包围体应用的最广泛的就是轴对齐包围盒(aabb)。aabb易于实现,并且同光线的求交测试非常快。大多数有关bvh的论文在描述bvh的创建的时候,通常分别以kay和kajiya,或者goldsmith和salmon这两种基本的想法为基础。kay和kajiaya建议以自上而下递归的方式进行bvh的创建。

goldsmith和salmon提出了一个更加复杂的自底向上的构造方式。goldsmith和salmon指出,bvh的质量同作为输入传人的三角形的顺序有关。因此,他们建议在构造bvh之前,随机打乱三角形的顺序。下述算法就是利用kay/kajiya的思想创建某个场景的包围体层次的方法:

4.结束语

本文成功的在gpu上实现了用于光线跟踪算法中的各种加速结构,并对这些加速结构在gpu上的加速效果进行了比较。均匀栅格作为第一个在cpu上实现的光线跟踪器的加速结构,也被证明是最慢的,除非是只包含一个单独的物体的场景的情况。均匀栅格不适合几何体的密度非常高的场景。另外,对于均匀栅格的cpu上的遍历表示,也需要大量的数据。foley和sugerman认为,对于大多数场景,kd-tree的效率要比均匀栅格高。但是,在kd-tree的遍历过程中,无论是重置阶段还

上一页  [1] [2] [3] 下一页

  • 上一个论文:

  • 下一个论文:


  • 看了《GPU光线跟踪算法加速结构研究》的网友还看了:
    [免费范文]GPU恐成最大帮凶未来病毒运行技术前瞻
    [今日更新]浅谈GPS在林业工作中的应用
    [今日更新]GPS在林业工作中的应用
    [今日更新]GPS新技术在石油地震勘探测量中的应用
    [今日更新]基于GPRS技术实现的远程交通信息通信
    [今日更新]静态GPS定位在地质勘探中的应用研究
    [今日更新]浅谈GPS在林地管理中的运用
    [今日更新]GPRS通信技术
    [工程建筑]航测控制网采用GPS技术的探讨
    [计算机论文]关于GPS RTK技术在工程测量中的应用分析

    计算机论文
    普通论文教学监控系统
    普通论文浅谈面向业务决策的图书馆信息集
    普通论文校园无线网络架设研究
    普通论文浅谈计算机网络安全策略
    普通论文探析基于Web2.0的数字图书馆建设
    普通论文金融危机下中小企业Web服务器的研
    普通论文对计算机网络安全策略及安全技术
    普通论文基于ArcGIS的DEM数据生成方法的研
    普通论文网络安全之木马技术
    普通论文试论复杂网络的灾害信息传播特征
    普通论文浅析虚拟机技术在网络信息安全教
    普通论文个人计算机的网络安全研究
    论文
    普通论文[企业管理]探析营销管理中顾客关系
    普通论文[免费范文]X机关庆祝建党83周年文艺
    普通论文[今日更新]高效英语课堂中学生自主
    普通论文[今日更新]网络背景下完善高校信息
    普通论文[今日更新]提高建筑工程行业经济管
    普通论文[企业管理]铁路施工企业技能人才培
    普通论文[免费范文]×煤矿厂务公开情况汇报
    普通论文[今日更新]英美文学教育中的跨文化
    范文大全
    普通范文[范文大全]某市关于2012年“元旦”
    普通范文[实习报告]电气自动化实习报告范文
    普通范文[规章制度]党务工作制度
    普通范文[范文大全]2012年乡镇团委开展“五
    普通范文[范文大全]检察院开展政法干警核心
    普通范文[调查报告]关于室内空气污染调查报
    普通范文[范文大全]在大学生“村官”迎春座
    普通范文[范文大全]地方志办公室2010年上半
    演讲致词
    普通演讲[庆典致辞]在八一建军节晚宴上的祝酒
    普通演讲[商务礼仪范文]商务交接礼仪(3)
    普通演讲[竞聘演讲稿]PE组长竞聘演讲稿
    普通演讲[庆典致辞]远程培训教学管理制度
    普通演讲[庆典致辞]关爱百姓生活 真情服务居民
    普通演讲[开业开幕]区中小学田径运动会开幕词
    工作范文
    普通汇报体会[征文演讲]三八妇女节演讲稿:铿锵玫
    普通公文方案[公文写作]关于会计电算化教学的几个
    普通公文方案[公文写作]农民为什么拿不到土地承包
    普通公文方案[公文写作]农业产业化才是农民增收的
    普通汇报体会[征文演讲]大学生励志进取精彩演讲
    普通公文方案[公文写作]网络营销实习报告
    普通总结[工作总结]村精神文明半年总结
    普通公文方案[公文写作]党性分析材料-乡镇党委书记
    普通总结[述职报告]乡党委书记述职述廉报告
    普通公文方案[公文写作]播科学圣火 做文明使者 展
    普通党建工会[记要]机关党建工作论文:践行“八
    普通公文方案[公文写作]新形势下共青团工作的几点