当前位置: 首页 > 专利查询>浙江大学专利>正文

基于光辉喷洒的图像渲染方法技术

技术编号:9991524 阅读:94 留言:1更新日期:2014-05-02 06:03
本发明专利技术公开了一种基于光辉喷洒的图像渲染方法,该图像渲染方法通过像素对场景采样,确定各个像素的采样点,反向根据辐射度公式计算每个采样点对每个像素的光辉贡献值,并转化为辐射出度,将对该像素点的影响的权重值大于设定阈值的采样点的辐射出度进行加权累加得到辐射出度加权和,然后利用该辐射出度加权和对该像素进行渲染,为提高渲染精度,本发明专利技术将大于设定阈值的权重值累加得到权重和并用该权重和来衡量渲染精度,若小于设定的精度,则重新采样,直至达到设定的精度。该方法实现简单,通过两次精度判断,有效提高渲染精度,且计算各采样点的光辉贡献值时各个像素之间不存在相互影响,可并行处理有利于提高渲染速度。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种,该图像渲染方法通过像素对场景采样,确定各个像素的采样点,反向根据辐射度公式计算每个采样点对每个像素的光辉贡献值,并转化为辐射出度,将对该像素点的影响的权重值大于设定阈值的采样点的辐射出度进行加权累加得到辐射出度加权和,然后利用该辐射出度加权和对该像素进行渲染,为提高渲染精度,本专利技术将大于设定阈值的权重值累加得到权重和并用该权重和来衡量渲染精度,若小于设定的精度,则重新采样,直至达到设定的精度。该方法实现简单,通过两次精度判断,有效提高渲染精度,且计算各采样点的光辉贡献值时各个像素之间不存在相互影响,可并行处理有利于提高渲染速度。【专利说明】
本专利技术涉及图像处理领域,尤其涉及一种。
技术介绍
通常的场景渲染都通过全局光照进行计算以期获得高质量的渲染效果。全局光照计算的目的就是去模拟多个交叉反射的光的效果。通常全局光照计算都是通过光线跟踪(ray tracing)和蒙特卡洛采样(Monte Carlo采样)来计算的,计算非常的耗时。在光线跟踪方面,近年来有人提出一种新方法。这种方法主要利用图形学硬件来显示全局光照的结果,可以达到实时交互的速率。在这种方法里面,场景是被适应性的拼接(tesselated)在一起的,入射的光辉针对于每一个像素采用光纤跟踪来计算。但是由于高质量的渲染需要把每一个表面嵌入到许多三角形中去,导致性能下降。而且,这种方法仅仅集中在交互可视化领域:针对于高质量的全局光照,渲染时间没有得到很大的提高。在光辉传播的预计算(precomputed radiance transfer, PRT)方法中,在物体表面之间的光辉传输被脱线预计算出来,然后球谐波函数表示出来,或者用小波表示出来。通过用这种预先计算的信息,可以实时的采用GPU来计算全局光照信息。尽管PRT方法允许实时高质量的重光照,但是他们主要依赖耗时的预计算,这本身就阻碍了复杂场景的全局光照计算能够很容易采用PRT方法。另外,有人提出一个基于GPU (Graphic Processing Unit,图形处理器)的方法来实时的进行光散的计算。这个算法主要依赖于采样点的选择在光滑的表面。每个采样点被作为一个针孔(Pinhole)相机,这个相机可以把入射的光投影到一个漫反射接受表面上去。这种方法可以处理几个动态的光源和对象,尽管速度可以达到交互的速率,可是当质量提高以后,速率下降很快。目前已有不同的策略来解决全局光照问题。几种尝试已经被用来计算全局光照计算,这些方法主要是利用可编程的图形学硬件和像素着色器来实施光线元素的交叉计算。这些方法都有共同的缺点:GPU结构并不允许复杂的数据结构像树结构,但是这种数据结构却通常被用在光线跟踪优化和光子贴图存储上。
技术实现思路
本专利技术提供了一种,避免使用复杂的数据结构,大大地减少了渲染所耗费的时间,可以高效实时的进行全局光照下的渲染,而且便于实施。一种,包括以下步骤:(I)从视点出发沿待渲染图像中的每个像素向场景发出光线确定光线与场景中物体的相交区域;(2)以所述相交区域的中心点作为该像素对应的采样点,获取并生成各个采样点的信息记录,所述的信息记录包括位置向量、法相量、光辉值以及采样点与每个像素之间的调和距离;(3)对于任意一个像素,根据各采样点的信息记录,利用权重评价函数分别计算每个采样点对当前像素的光辉值影响的权重值,根据变形的辐射度方程计算每个采样点对当前像素的光辉贡献值,并根据光辉贡献值计算得到该采样点对当前像素的辐射出度贡献值;(4)比较所述的权重值与设定的阈值的大小,遍历所有采样点,将权重值大于设定的阈值的权重值进行累加得到该像素的权重累加和,并将该权重值对应的辐射出度贡献值进行加权累加得到辐射出度加权和;(5)将所述的权重累加和与设定的精度进行比较:若权重累加小于设定的精度,则返回进行步骤(2),所不同的是随机在所述的相交区域中随机采取一点作为该像素对应的采样点;否则,用所述的像素的辐射出度加权和除以权重累加和,计算得到该像素的间接光照值;(6)将所述的间接光照值加上该像素的直接光照值得到该像素的光照值,并利用该光照值对该像素进行渲染。直接光照值为已知量,若该像素是光源,由于光源是人为设定的,那么它的值也是知道的;如果不是光源,那么直接光照值为O。每个像素可以认为是一个方格形小区域,由于光线的发散,在场景中得到的相交区域一般大于像素区域。一般该相交区域的中心位置为采样点时采样的精度最高,因此本专利技术从中心开始采样,有助于提高渲染效率。当以中心位置为采样点的精度不够时,则从该相交区域中随机选取一点作为采样点,并继续进行精度判断,直至精度达到设定值。每次采样的采样点均与前一次采样的采样点不同。确定采样点之后,即可获取采样点的即位置(坐标)、自身的光辉值,用向量将该位置标示作为位置向量,并根据该位`置向量,根据该采样点在场景物体表面曲线确定其法向量,并通过坐标系中采样点的坐标信息以及像素的坐标信息(位置向量)计算该采样点与各个像素之间的调和距离。本专利技术通过像素对场景采样,确定各个像素的采样点,由于每个像素的光辉值由所有采样点共同贡献得到,因此反向根据辐射度公式计算每个采样点对每个像素的光辉值的贡献(光辉贡献值),称这个过程为光辉喷洒。该方法实现简单,且各个像素之间不存在相互影响,可并行处理。本专利技术根据确定采样点后,考虑到不同采样点对每个像素的影响均不同,以权重评价函数计算各采样点对该像素的影响大小(权重值),影响较小的采样点对光辉值的贡献忽略不计,仅考虑影响较大(大于设定的阈值)的采样点对该像素的光辉值采用贡献,以这些采用点会该像素进行渲染。为提高精度,进一步对精度进行校准,将所有相对较大的权重值累加得到该像素的权重累加和,以该累加和作为该像素的采用精度,若权重累加和未达到设定的精度,则重新采样直至达到设定的精度后再求取该像素的光照值完成渲染。本专利技术中通过两次精度判断,有效提闻了米样精度,进而提闻了 ?宣染精度。所述步骤(1)~(3)由GPU执行;所述步骤(4)~(6)由CPU执行。全局光照下的复杂大场景一直难以由GPU迅速渲染出来。通常这种情况的渲染时通过光线跟踪(raytracing)和Monte Carlo采样来计算的。而这两种方法都有较多的逻辑判断,或者递归序列,但GPU对逻辑判断的处理以及具备拓扑次序的数据处理都力不从心。本专利技术中由于步骤(I)~(3)只有数据运算,没过多的逻辑判断,且上述步骤中各个计算过程互不干扰,因而可以由GPU计算,通过并行处理,大大提高了运算速度,有助于提高渲染效率,而进行的精度比较为逻辑判断,由CPU来完成,但这一部分计算量较小,仅仅是对局部不符合精度要求的部分像素进行校正,故而对整体的时间消耗影响不大。整体上算法的绝大多数的计算都可以在GPU上进行,可以充分理由GPU的并行性特点,快速高效的完成场景渲染。本专利技术在GPU内设置光辉缓存区,用于存储各个采样点的信息记录、权重值和辐射出度。采用非简单的数据结构,大大减少存储的消耗,降低访问数据的复杂度,当GPU执行完步骤(1)~(3)后,CPU读取光辉缓存区所存储的数据(即将光辉缓存区数据映射到CPU),由CPU执行后续步骤,完成图像渲染。在执行步骤(1)之前需进本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张大龙李盼张丹董建锋鲁东明赵磊
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月07日 15:41
    词目光辉
    0
1