全球旧事资料 分类
GPU光线跟踪算法加速结构研究
摘要:基于GPU的光线跟踪算法是当前图形学研究的一个热点,也是将来用于广告、电影、游戏等娱乐产业的关键技术。本文论述了如何对基于GPU的光线跟踪算法进行实现,以及利用各种加速结构,加速算法实现,提高算法执行效率,并对各种加速结构的效果进行了比较研究。关键词:GPGPU光线跟踪BVHKDTree1.引言近年来,CPU无论在运算能力,还是在可编程性上都得到了大幅的提高,GPU已经在需要大量运算的密集运算领域发挥了举足轻重的作用。各种基于CPU的密集运算被移植到GPU上,以利用GPU巨大的运算能力,加速整个算法的运算过程。光线跟踪算法是生成真实感图形的一种非常重要的方法,在电影、游戏、广告等产业,获得广泛的应用,而光线跟踪算法也是典型的密集运算算法,利用原始的基于CPU的光线跟踪渲染一幅图片是非常耗时的操作。因此,如果能够将CPU上的光线跟踪算法,映射到CPU上,加速光线跟踪算法的执行时间,将会带来巨大的经济效益。因此,基于CPU的光线跟踪算法已成为国内外科研人员的研究热点。2.基于GPU的光线跟踪21相关工作当前,主要由两种方法利用CPU来加速光线跟踪算法。第一种是Carr等人提出来的,将CPU转换为一个蛮力的执行光线一三角形求交的计算器,而将任何的光线生成以及着色过程在CPU上完成。这就需要CPU依然执行绝大部分的渲染工作。Carr等人指出,在ATIRadeo
8500上,每秒最快能够执行1亿2千万次的光线一三角形求交。同时,作者也指出,由于GPU的单精度浮点的限制,图片上依然存在一些不太真实的地方。第二种方法由Purcell等人提出的,改种方法将整个光线跟踪器都移植到CPU上进行实现。从光线的产生,加速结构的遍历,到最后的着色过程都在GPU上执行。此后,有很多相同的项目都是基于Purcell的模型上进行的。22GPU上的光线跟踪算法的映射方式将传统的CPU上执行的光线跟踪算法,映射成为一个GPU协助的,或者基于GPU的光线跟踪器有众多方法。下面重点介绍Purcell提出的映射模型,以及在本文的实现中提出的一个基于CPU的Whitted模型的光线跟踪器。该光线跟踪器的布局如图21所示:在Purcell的论文中,它将光线一三角形求交,以及遍历过程分离成两个独立的遍历内核和求交内核。本文的实现中,也按照上述模型图,将光线跟踪算法分解成光线生成,光线一三角形求交,着色这三个步骤。在对光线进行跟踪之前,需要生成从视点指向屏幕的原始光线primaryray。在一个GPU上,能够使用光栅器r
好听全球资料 返回顶部