[发明专利]一种基于GPU的层次包围盒的快速构造方法无效
| 申请号: | 201010150510.9 | 申请日: | 2010-04-19 |
| 公开(公告)号: | CN101819675A | 公开(公告)日: | 2010-09-01 |
| 发明(设计)人: | 端清;杨鑫;赵磊 | 申请(专利权)人: | 浙江大学 |
| 主分类号: | G06T1/00 | 分类号: | G06T1/00;G06T11/00 |
| 代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
| 地址: | 310027 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 gpu 层次 包围 快速 构造 方法 | ||
技术领域
本发明涉及图形实时渲染技术领域,尤其涉及一种层次包围盒的快速构造方法。
背景技术
在过去的二十年时间里,显卡性能的巨大提高,尤其是其可编程性的出现,大大促进了图形学研究领域的进步。光线跟踪技术是一种在图形绘制领域广泛应用的技术。相比光栅化技术,光线跟踪技术有很多优势,包括物体可见性的自动计算,时间复杂度与场景中图元数量呈次线性关系,更适合并行架构处理等。但是,由于光线跟踪技术模拟的是真实世界中光的物理路径,因此它最大的优势是产生高质量的图像,绘制出高真实感的平滑的反射、折射、软影(soft shadow)等全局光照效果。Whitted最早使用光线跟踪技术来模拟全局光照效果。由于光线跟踪技术需要花费很高的计算量,因此以往这种技术只能应用在非实时绘制领域中。
当前,计算机硬件的计算能力呈指数形式的增长速度已经使交互式的实时光线跟踪成为可能。越来越多的研究开始关注光线跟踪的实时计算,已经出现了一些优秀的研究成果。然而,尽管这些研究很多都是基于GPU架构设计的,但这些实现仍然未能充分利用当前GPU强大的并行计算能力。
近年来已经出现了一些基于GPU实现的编程方法,例如NVIDIA公司的CUDA(Compute Unified Device Architecture)编程模型、苹果公司的OpenCL,以及一些底层的框架结构。这些模型允许程序员自己定义合适的数据结构,为编程提供很大的灵活性和可操作性,包括创建、调度、同步等线程管理操作可以完全由硬件来完成。例如在CUDA编程模型里,我们可以根据程序的并行特征将程序划分成几个顺序执行的被称为kernel的代码段,使其在GPU中执行。为了有效地管理大量的线程,kernel使用标量形式的SIMT(Single Instruction,Multiple Thread)操作,线程以一种被称作warps的分组形式根据kernel中的指令来执行。程序员将线程组织成线程块(block),这些线程块本质上可以看成是虚拟的SM多处理器,拥有独立的寄存器和共享内存(shared memory),各线程块间相对独立的乱序执行。
为了获得GPU的最大计算性能,有两个问题需要考虑:第一,每个线程应该使用尽量少的硬件寄存器和存储资源,以保证GPU内部同一时刻运行更多的活动线程,Popov等的光线跟踪实现消耗了过多的寄存器,导致GPU利用率还不到33%;第二,线程的SIMD(Single Instruction,Multiple Data)操作对程序员来说是透明的,而SIMD的操作方式对程序的分支执行非常敏感,同一warp的线程只有执行程序的同一分支才能获得最大效益。
最近,一些研究开始关注动态场景下的光线跟踪方法。在光线跟踪算法中,构造加速结构是其中重要的一步,通过将面片重新进行组织,可以大大减少无效的光线遍历操作和相交操作。由于动态场景下物体间的拓扑结构会发生改变,甚至物体本身都会发生形变,因此,每一帧都需要重新对加速结构进行重构。然而,加速结构的构造是一个比较耗时的操作,通常无法在绘制一帧的时间内完成,这也是导致当前基于动态场景的实时光线跟踪研究进展较慢的主要原因。
kd树可以提供较好的光线跟踪性能,但是其昂贵的构造时间已满足不了实时光线跟踪的要求;网格结构易于构建,但是其光线跟踪的性能严重依赖于操作的相似性,而这往往在复杂场景或者二级光线中是不存在的。鉴于光线跟踪性能以及处理复杂场景和二级光线各方面的综合要求,在处理动态场景问题上,BVH(Bounding Volume Hierarchy)看起来是一个折中的选择,与kd树、网格结构按照空间的分割方法不同,BVH是一个按照物体分割的场景层次分割结构。
设计出一种高质量的快速的加速结构构造方法,使其可以充分利用多核处理器强大的并行处理能力,从而使加速结构建造速度进一步加快,满足实时性的要求,是一个光线跟踪算法能否有效执行的关键。目前公认的性能较好的加速结构一般都是一种层次结构,如BVH(Bounding VolumeHierarchies)、BSP(Binary Space Partitioning)、BIH(Bounding IntervalHierarchies)、八叉树(Octree)等结构。然而层次结构自上而下的构造方式使其很难在构造阶段初期充分的利用多核架构中每个核的计算能力,从而造成硬件的低效使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010150510.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:解锁钥匙管理信息系统
- 下一篇:一种机载语音记录与传输装置





