基本信息
- 项目名称:
- 基于GPU的全局光照渲染技术
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 信息技术
- 大类:
- 科技发明制作B类
- 简介:
- 本作品是一个全局光照渲染器。功能是由给出场景物体形状、表面属性、照明情况,以及观察角度等数据,根据光传播的物理规律,把观察到的画面绘制出来。本作品使用CUDA编程接口,利用GPU强大的并行计算能力,完成关键部分的计算,较之于CPU渲染器明显提高计算速度,并且采用无偏的路径跟踪算法,保证计算结果逼近真实值。本作品主要针对建筑表现、工业设计、影视制作等领域。
- 详细介绍:
- 我们已经实现了一个基本框架,其中具有以下特性: (1)能支持包含几十万个三角面的中等场景。 (2)支持漫反射,镜面反射和折射材质。 (3)采用路径跟踪算法,结果收敛于物理真实值。
作品专业信息
设计、发明的目的和基本思路、创新点、技术关键和主要技术指标
- (1)目的 当前在建筑表现,工业设计,影视制作普遍采用离线渲染技术。由于离线渲染本身计算量大,而对于大多数用户,又不可能实现分布式渲染,而另一方面,图形处理器的发展使得利用GPU进行并行计算成为可能,因此利用GPU进行渲染,将会成为提高渲染速度的另一种选择,因此这方面的研究有明显的实用价值。 (2)基本思路 a.使用路径跟踪方法,以此保证结果无偏性。 首先从视点发射一条光线,找到跟最近的物体的交点,并计算这个点上面的直接光照。然后从这个点再次发射一条光线,重复之前的步骤。最后根据光照公式,把各点的直接光照混合起来,得出最终的像素颜色值。这种办法从物理上说是准确的,也就是说随着光线数增大,得到的图像越趋近于真实的光照分布。 b.尝试各种求交方法,提高效率。包括BVH树的packet traversal方法,无堆栈方法等。 c.针对图形硬件特点做出相应改进。包括隐藏访存延迟,减少条件分支,减少寄存器消耗量,利用共享内存等。 (3)创新点 提出一种适合GPU的路径终止方法。 (3)技术指标 下面是部分运行数据: 三角形数 迭代次数 分辨率 渲染总时间 3466 42 640*480 13s 382376 79 640*480 153s
科学性、先进性
- 我们这个系统的创新主要是集成创新和引进消化吸收再创新。项目实施至今,我们已经初步建立了系统框架,实现了模型的初步建立,主要有以下的特点及进步: (1) 能达到更精确的效果。由于采用路径跟踪算法,结果收敛于真实值,理论上比光子贴图等近似算法更加准确。 (2) 使用GPU实现的路径跟踪算法,相比CPU实现速度有明显提高,收敛速度加快。 (3) 目前,我们已经根据图形硬件特点,提出了一种新的终止路径的方法,在保证结果无偏性的同时不降低效率。
获奖情况及鉴定结果
- 参加校挑战杯比赛获三等奖。
作品所处阶段
- 目前我们已经实现了一个基本框架,具有以下特性: a.能支持中等场景。 b.支持基本的材质。
技术转让方式
- 未有这方面的计划。
作品可展示的形式
- 图片,视频和原型系统。
使用说明,技术特点和优势,适应范围,推广前景的技术性说明,市场分析,经济效益预测
- 使用方法: 读取obj格式文件,然后进行渲染。场景为静态场景,但可以动态改变观察视角。 技术特点: (1)能支持包含几十万个三角面的中等场景。 (2)支持漫反射,镜面反射和折射材质。 (3)采用路径跟踪算法,结果收敛于物理真实值。 适应范围: 工业设计、影视制作领域。 市场分析及经济效益: 当前系统尚处于研究阶段,具体效益尚不明朗。
同类课题研究水平概述
- 当前国外关于GPU光线追踪的研究主要集中在光线求交上。针对图形硬件的特性,需要解决的技术问题有: 1) 减少在求交过程中出现一个wrap内各个线程走向不同分支的情况。 2) 因此应该避免实现堆栈,或者采用二进制位形式的小堆栈。 3) 采取措施隐藏访问全局存储器的延迟。 针对以上问题,尤其是前两个问题,已经有了很多的研究,基本的思路有以下几点: 1) 把方向相近的光线集中在同一个wrap上,减少分支,这种方法称为packet traversal。 2) 开发无堆栈的求交方法,称为stackless traversal,此方面比较成功的有KD树的rope方法。 3) 把数据保存成纹理,利用纹理缓存加速访问。 按照国外论文报告的数据,采用当前的高端图形硬件(如GTX280),在几十万面的场景,能够达到每秒对几十到一百万条光线求交。相比之下,我们的实现还是有比较大的差距。