| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
GPU光线跟踪算法加速结构研究           
GPU光线跟踪算法加速结构研究

摘要:基于gpu的光线跟踪算法是当前图形学研究的一个热点,也是将来用于广告、电影、游戏等娱乐产业的关键技术。本文论述了如何对基于gpu的光线跟踪算法进行实现,以及利用各种加速结构,加速算法实现,提高算法执行效率,并对各种加速结构的效果进行了比较研究。

关键词:gpgpu 光线跟踪 bvh kd-tree

1.引言

近年来,cpu无论在运算能力,还是在可编程性上都得到了大幅的提高,gpu已经在需要大量运算的密集运算领域发挥了举足轻重的作用。各种基于cpu的密集运算被移植到gpu上,以利用gpu巨大的运算能力,加速整个算法的运算过程。光线跟踪算法是生成真实感图形的一种非常重要的方法,在电影、游戏、广告等产业,获得广泛的应用,而光线跟踪算法也是典型的密集运算算法,利用原始的基于cpu的光线跟踪渲染一幅图片是非常耗时的操作。因此,如果能够将cpu上的光线跟踪算法,映射到cpu上,加速光线跟踪算法的执行时间,将会带来巨大的经济效益。因此,基于cpu的光线跟踪算法已成为国内外科研人员的研究热点。

2.基于gpu的光线跟踪

2.1 相关工作

当前,主要由两种方法利用cpu来加速光线跟踪算法。第一种是carr等人提出来的,将cpu转换为一个蛮力的执行光线一三角形求交的计算器,而将任何的光线生成以及着色过程在cpu上完成。这就需要cpu依然执行绝大部分的渲染工作。c arr等人指出,在ati radeon 8500上,每秒最快能够执行1亿2千万次的光线一三角形求交。lOcALHost同时,作者也指出,由于gpu的单精度浮点的限制,图片上依然存在一些不太真实的地方。

第二种方法由purcell等人提出的,改种方法将整个光线跟踪器都移植到cpu上进行实现。从光线的产生,加速结构的遍历,到最后的着色过程都在gpu上执行。此后,有很多相同的项目都是基于purcell的模型上进行的。

2.2 gpu上的光线跟踪算法的映射方式

将传统的cpu上执行的光线跟踪算法,映射成为一个gpu协助的,或者基于gpu的光线跟踪器有众多方法。下面重点介绍purcell提出的映射模型,以及在本文的实现中提出的一个基于cpu的whitted模型的光线跟踪器。该光线跟踪器的布局如图2.1所示:

在purcell的论文中,它将光线一三角形求交,以及遍历过程分离成两个独立的遍历内核和求交内核。本文的实现中,也按照上述模型图,将光线跟踪算法分解成光线生成,光线一三角形求交,着色这三个步骤。

在对光线进行跟踪之前,需要生成从视点指向屏幕的原始光线( primary ray)。在一个gpu上,能够使用光栅器的插值的能力,在一个单一的内核调用中,产生所有的原始光线。

给定观察矩形(被采样用于产生图片的投影平面的一部分)的四个角,以及视点,首先计算出这个视锥体的四条边线。如果让光栅器在这4条光线之间,按照512×512规格,在这四条光线之间按照方向进行插值,最终就可以获得能够产生一幅512×512图片(一个像素一个采样点)的所有原始光线的方向。同时能够将这些方向存储在一个纹理里,并把它作为求交内核的输入。所有的原始光线具有相同的起始点,但是仍然把它存储在一个同方向纹理具有相同维度的纹理内。因为当生成阴影光线或者反射光线的时候,光线的原点会发生改变。

求交内核把光线的原点,方向,以及场景的描述作为输入数据。在内核被调用数次之后,我们对于每一个像素输出一个击中记录。如果一条光线击中了场景中的某个三角形,返回击中点的3个重心坐标,以及相关的被击中的三角形。此外,还将输出被发现的交点沿光线的距离,以及被击中三角形的材质。这就需要使用5个浮点数值组成一个击中记录。纹理只能够支持4个颜色通道( rcba),所以,如果能把击中记录裁减到4个值,那么将是非常有益的。

观察发现,只需要3个重心坐标的两个,因为在三角形内部,它们相加的和总是1。这就使得在一个单独的rgba纹理中存储交点记录是可行的,并且它的维度同其它两个光线纹理的维度相同。

moller和trumbore提出了一个高效的光线一三角形求交算法,使用这个算法,并利用cpu在向量计算上的优势来进行求交计算。下面列出了求交的代码,这个代码也展示了如何利用向量指令来提高效率。

当所有的原始光线都已经计算出了相交的状态的时候,就能够查询着色过程所需要的表面法线和材质的信息。每一个击中记录都存储了一个指向材质纹理的索引,这个材质纹理包含了三角形的法线,材质颜色以及类型。三个顶点的法线根据击中记录的中心坐标进行了插值。最终的颜色能够按(n-l)c进行计算,此处ⅳ是法线,l是光源的方向,g是三角形的颜色。

现在根据击中的三角形所具有的材质的类型(漫反射材质,或者镜面反射材质),需要产生二次光线,以此来计算阴影和反射。

1)如果一条光线射出场景之外,像素就被赋予全局的背景颜色。

2)如果一条光线击中了一个漫反射材质表面,就发射一条阴影射线( shdow ray)。这些光线的起始点在击中点,方向为从击中点指向光源。

3)如果一条光线击中了一个镜面反射材质表面。就发射一条镜面反射光线。镜面发射光线的起始点也在击中点,但是它的方向是在击中点处关于入射光线和插值后的法线对称的方向。一个真正的whitted类型的光线跟踪器也支持透明材质,从而能够产生折射光线。但由于主要是研究加速结构,所以在本文的实现中,没有考虑折射光线。

4)如果阴影光线击中了某个几何体,这就说明在光源和击中点之间,存在某个几何体,所以这个像素就应该是黑色(处于阴影中)。当跟踪阴影光线的时候,不关心最近的那个击中点,更加关心的是是否存在这样的击中点。因此,当有一个交点被发现

[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组长竞聘演讲稿
    普通演讲[庆典致辞]远程培训教学管理制度
    普通演讲[庆典致辞]关爱百姓生活 真情服务居民
    普通演讲[开业开幕]区中小学田径运动会开幕词
    工作范文
    普通汇报体会[征文演讲]三八妇女节演讲稿:铿锵玫
    普通公文方案[公文写作]关于会计电算化教学的几个
    普通公文方案[公文写作]农民为什么拿不到土地承包
    普通公文方案[公文写作]农业产业化才是农民增收的
    普通汇报体会[征文演讲]大学生励志进取精彩演讲
    普通公文方案[公文写作]网络营销实习报告
    普通总结[工作总结]村精神文明半年总结
    普通公文方案[公文写作]党性分析材料-乡镇党委书记
    普通总结[述职报告]乡党委书记述职述廉报告
    普通公文方案[公文写作]播科学圣火 做文明使者 展
    普通党建工会[记要]机关党建工作论文:践行“八
    普通公文方案[公文写作]新形势下共青团工作的几点