基于点缓存全局光照技术的研究

来源 :山东大学 | 被引量 : 0次 | 上传用户:zhouxifengli
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着动漫产业的发展,人们对真实感渲染的要求越来要高,全局光照做为真实感渲染中的重要组成部分,一直被广泛关注。全局光照既需要计算从光源直接得到的光照,还需要计算经过场景中物体反弹之后的光照,该问题描述为渲染方程的求解。目前常用的计算全局光照的算法包括了蒙特卡洛光线跟踪算法、光子映射、多光源算法以及基于点的全局光照算法等。本文对基于点的全局光照算法(Point based global illumination简称为PBGI)展开研究。PBGI算法主要用于模拟环境光遮挡、色溢、面积光以及光泽反射等效果,虽然不能保证结果的正确性,但是渲染效果是无噪声,并且与光线跟踪相比,具有更高效率。该算法分为两个阶段:第一阶段,对场景进行采样并且计算每个采样点的直接光照,形成点云,将点云组织到空间层次结构(比如Bounding Sphere Hierarchy简称为BSH)中,该点云层次结构中的每个节点,表示其子树的平均位置、法向以及光照信息。第二阶段,利用点云层次结构计算着色点的间接光照,表里点云层次结构,找到对当前着色点可能产生贡献的节点,根据节点距离着色点距离的不同采用不同的策略,距离较远的节点,无需遍历到其中的每一个点,将这些节点投影到为该着色点构建的微缓冲区(包含节点深度和颜色信息的半球缓冲区或者立方体缓冲区),计算这些节点的可见性,最后将微缓冲区中的颜色值,与其对应的双向反射分布函数(Bidirectional Reflection Distribution Function,简称为BRDF)以及立体角等卷积后得到该着色点的间接光照值。PBGI的高效性以及无噪声是它的主要优势,但是PBGI算法也存在一些问题,比如无法计算非漫反射光线传递,即不能模拟焦散和光泽反射表面之间的反射等效果,而这些效果在全局光照中至关重要,因此该问题限制了PBGI算法的应用范围。在本文中,我们针对PBGI中存在的问题展开研究,一方面提高其效率,另一方面扩展该算法使其支持更多光线传递路径,另外,我们对PBGI算法应用到预览渲染中进行了初步探索。本文提出了基于分解的点缓存全局光照算法,考虑到着色点之间的空间连贯性,通过重用树切以及微缓冲区来提高效率。在PGBI算法中,计算每个着色点间接光照的过程是独立的,但是我们发现位置和法向相近的着色点具有相似的树切,即这些着色点的遍历过程存在冗余。我们首先提出着色点关于位置和法向的相似性模型,并且基于k-means聚类算法将着色点进行聚类,在每个聚类中找到聚类树切,并且将聚类树切中的节点分为远节点和近节点:远节点被聚类中的着色点所共用并且不再进行遍历,而近节点分别被每个着色点进一步遍历。此外,我们使用聚类微缓冲区计算远节点的可见性,着色点微缓冲区计算近节点以及更新节点的可见性,通过将这两种微缓冲区融合得到入射辐射亮度,与BRDF卷积后得到间接光照值。该算法对树切进行重用,从而使得PBGI的效率提高数倍,并且产生的误差较少,此外,保持了原算法的时间连贯性。我们提出了基于小波的PGBI算法计算非漫反射表面之间的光线传递。在PBGI算法中,使用RGB存储点的直接光照,使用球谐函数(Spherical Harmonics,简称为SH)系数来存储点云层次结构中的直接光照,由于只存储了漫反射点的直接光照,因此无法模拟焦散等效果。如果采用SH来存储非漫反射点的光线传递,低频BRDF能够使用较少的系数来表示,而高频BRDF则需要大量的SH系数,由于SH不支持非线性近似,将造成严重的内存问题,而哈尔小波支持非线性近似,具有稀疏性,在内存使用方面具有优势;此外,在表示高频函数时,SH存在"ringing走样。基于以上原因,本文中使用哈尔小波来存储直接光照,即小波系数缓存点的出射辐射亮度,在立方体贴图上采样后,在每个面上进行二维小波变换来得到小波系数,并且将小波系数在点云层次结构中进行层次化编码,即将小波系数再次进行小波分析,在点云层次结构的每个节点中计算节点近似系数和节点细节系数,对于高层的节点(远离根节点的节点层数越大)只存储节点细节系数,低层的节点只存储节点近似系数,从而减少内存占用。此外,在计算点云层次结构的节点小波系数时,采用后序遍历的策略来减少内存使用。PBGI在高频光照或者高频BRDF情况下会出现走样问题,这是由于对光照或者BRDF采样不足造成的,该问题可以通过提高微缓冲区的分辨率来解决,但是这将严重影响到渲染效率,使得PBGI失去原有速度上的优势,因此我们提出了重要性驱动缓冲区技术,只在“重要”方向增加微缓冲区的分辨率。根据BRDF和入射光照重要性构造重要性函数,细分重要性高的微缓冲区像素,通过实验证明,该重要性驱动微缓冲区既解决了走样问题,又保持了算法的高效性。基于小波的PBGI算法,能够计算从漫反射到非常接近于镜面反射的各个频率的材质,并且与双向路径算法相比有更高的效率。在以上两个算法的基础上,我们提出基于视点树的多次反射计算方法,用于快速计算光线在场景中的多次反射。PBGI算法中,在计算多次反射时,需要计算点云中每个点的间接光照,即每个点都需要遍历点云层次结构以及向微缓冲区投影树切中的节点,得到入射辐射亮度之后,再根据BRDF计算出射辐射亮度。基于空间连贯性,我们提出利用视点树进行遍历的方案,即点云树中的某些节点对于其他某些节点中包含点的贡献是相似的,此时,没有必要对这些点分别遍历来找到该节点。在多次反射中,点云树有两个作用:发射和接收,为了表达的清晰,分别称为点云树和视点树,基于视点树遍历的目标是尽可能找到反射节点和接收节点对,使得反射节点对接收节点中所有点的贡献是相似的,通过计算两个立体角来达到该目标。最终,重用的树切分布在该视点树中,这是对基于分解的PBGI算法的扩展,从聚类内着色点的树切重用扩展到层次化地重用。此外,在多次反射中的另外一个问题是如何由入射辐射亮度快速得到出射辐射亮度。假设出射方向和入射方向都在n×n的半球(投影为正方形)上采样,即需要计算n2次BRDF与入射辐射亮度的卷积,该问题的时间复杂性O(n4)。根据小波稀疏性的特点,我们分别将入射辐射亮度和BRDF进行小波变换,然后在频率空间相乘,从而提高效率。本文提出了BRDF四维小波系数和入射光照二维小波系数相乘快速计算出射辐射亮度的模型。最后,我们利用缓存了多次反射光照的点云层次结构,充分使用图形处理单元并行计算的优势,实现场景的预览渲染,首先将点云层次结构中包含节点近似系数的某一层节点作为采样点,将这些采样点向屏幕空间进行投影,得到采样点对每个像素所包含着色点的辐射亮度以及权重,并且将它们累加到两个缓冲区中,再根据这两个缓冲区计算出着色点的辐射亮度。场景中可以包含漫反射材质以及各种频率的光泽反射材质,并且支持视点的变化。本文对PBGI算法进行改进和扩展,一方面使其具有更高效率,另一方面,使其支持非漫反射光线传递,从而可以模拟焦散等效果,扩大其应用范围。
其他文献
近年来,四川省以推进农村义务教育管理体制改革为重点,狠抓教师工资发放、学校正常运转、危房改造等三个关键环节,积极实施民族教育<十年行动计划>,大力推进课程体制改革,全
一天晚上8时许,江苏省扬州市民孙某在某商城停车时,发现周围有两名男子鬼鬼祟祟,形迹可疑,便悄悄进行观察。随后,他看到一男子望风,另一男子竟快速打开一汽车车门钻了进去。
期刊
<正> 多段骨折是创伤的并发症之一,骨折不愈合又是多段骨折的并发症之一。骨折导致患者日常生活受限,因此,骨折治疗的目的是促进愈合。为加速骨折愈合,骨折愈合过程机制被广
文章阐述了"学习元"的概念及其在中国邮政网络培训学院(以下简称"中邮网院")培训资源库建设过程中的具体含义,探讨了中邮网院构建基于学习元的培训资源库的重要意义和构建思路,并展
<正> 前言松辽盆地自从1975年进入隐蔽油气藏勘探阶段以来,对沉积相提出了新的任务,即细分层段研究沉积相和砂体分布模式,这是寻找隐蔽油藏的关键问题。近年来,大庆油田沉积
喉狭窄,也称瘢痕性狭窄,系由各种原因引起喉部瘢痕组织形成,以致喉腔变窄,影响呼吸和发声功能;以声音嘶哑、喉喘鸣、咳嗽、呼吸困难为主要症状,严重者可发生紫绀或窒息。医源
本论文设计了一款米水配比器,给煮饭经验不足的用户带来了黄金的米水配比。介绍了不当的米水配比给用户带来不良的米饭口感及黄金的米水配对提升用餐体验的重要性,确定米水配
<正>现代生活讲究食品的卫生安全、营养、嗜好、保藏、经济和方便.随着生活方式的改变、消费嗜好的多样化和个体化发展,同时随着微波炉的日益普及,食品的方便性显得更为突出,
目的:观察甲氧明不同泵注速率对剖宫产术中母婴的影响,并计算泵注甲氧明治疗剖宫产术中低血压的ED50。方法:通过吉林大学委员会批准和患者家属知情同意,选择符合纳入标准拟在
听力水平的提高有利于培养学生的外语应用和交流能力,有助于进一步拓宽学生的国际视野,更好地与世界文化接轨。目前许多省市在高考中增加了听力测试内容,截至2011年高考,全国共有