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

一种基于点缓存的光子映射加速方法技术

技术编号:10738462 阅读:175 留言:0更新日期:2014-12-10 13:18
本发明专利技术公开了一种基于点缓存的光子映射加速方法,包括如下步骤:1.光子跟踪;从光源处向场景中发射一定数量的光子,然后跟踪这些光子的运动轨迹,将与物体发生碰撞的光子的信息记录下来并保存到光子图中;2.预处理;预计算辐照度,并保存到点缓存中;且在计算完辐照度后,继续计算着色器;将得到的颜色值以点缓存的形式保存起来;3.渲染;根据光线跟踪算法渲染,在光线与物体表面的交点处根据物体表面属性,发射跟踪反射,折射,漫反射光线;最终聚集算法发射N条漫反射光线,漫反射光线与场景物体相交,返回离交点最近的点缓存中N个采样点的颜色值,将之经过均值计算作为间接光照颜色值,最后再与直接光照颜色值相加得到最终图像。

【技术实现步骤摘要】
一种基于点缓存的光子映射加速方法
本专利技术涉及图形学真实感渲染领域,具体涉及一种基于点缓存的光子映射全局光照加速方法。技术背景渲染技术是动漫电影制动的主要技术。当前的渲染技术主要有两种发展方向,一种是追求真实的照片级图像质量的渲染(PhotorealisticRendering);一种是追求特殊艺术效果的非真实渲染(NPR)。真实感渲染是目前大多三维作品追求的效果,研究要点主要集中在真实性。局部光照指光源对物体表面的直接照射效果,全局光照指物体与物体之间的照射效果,包括被场景中物体反射、折射或者散射的光线对物体的影响。真实感效果的渲染必须依赖于全局光照。全局光照在计算机图形学中起到至关重要的作用。很多方法不断提出用于模拟全局光照,比如基于蒙特卡洛光线跟踪的各种方法、辐射度方法、光子映射和基于点的渲染技术。光线追踪算法[Animprovedilluminationmodelforshadeddisplay]从屏幕空间发射光线,并在场景空间中跟踪光线。渲染光线与物体的交点,返回颜色,主光线将颜色返回给屏幕空间形成图像。光线在与物体碰撞中,可根据物体表面属性,发生反射,折射,或散射和吸收等行为;根据物体表面属性,继续追踪光线。传统的光线追踪技术可以较好的表现出反射折射效果,也可以生成真实度比较高的阴影,但是传统的光线跟踪技术不适用于漫反射表面。由于在漫反射表面需要发射上百条采样光线来平衡高频噪声。同时由于每条光线都是独立追踪和渲染的,所以场景中的点可能会与光线多次相交并多次计算,造成了光线追踪性能上的缺点。光子映射方法[Apracticalguidetoglobalilluminationusingraytracingandphotonmapping]是在光线追踪算法的基础上被提出的,并依据光线跟踪实现一部分算法。该方法是一个两步的算法,第一步通过正向光线跟踪来构建光子图,第二步通过光子图中的信息来渲染整个场景。它的核心思想是从光源开始追踪光能的传递,把每一个传递中间过程都记录下来,最后按照投影或者逆向光线追踪来收集这些信息,以达到渲染的目的。由于中间每一个光线和场景的相交都被记录下来,所以该方法避免了逆向光线追踪中重复计算的问题。该方法可以模拟很多全局光照效果,比如色溢现象和焦散,但是由于光子发射函数的随机性造成光子分布的不均匀导致在光子映射计算中直接可视化光子图经常出现噪声,结合最终聚集算法能有效地解决这些问题。引入最终聚集算法的同时也会在计算漫反射面时发射多条光线,影响计算效率。中国专利(申请号:CN201010138101,专利名称:一种基于光子映射的全局光照方法)中提出了一种将光子映射和光线追踪结合的方法,该方法基于传统光子映射方法,需要通过大规模的光子发射才能保证渲染精度,大量的光子跟踪计算存在较大的系统执行时间和存储空间开销,因此该专利方法计算效率效率较低。Christensen在文章[Efficientsimulationoflighttransportinscenceswithparticipatingmediausingphotonmaps]中提出一种了利用预计算辐照度的方式对最终聚集进行加速的算法,这种算法将预计算的辐照度值保存到光子图中,从而使得最终聚集阶段可以直接读取光子图中的辐照度,而不必再对光子图进行辐照度的计算,从而使光子映射算法整体的速度提高了。该算法对参数设置有很大的依赖性,当光子数目过多时,在每个光子位置处计算辐照度也显得多余而没必要。
技术实现思路
本专利技术针对现有的光子映射方法的计算效率慢和加速缓存结构占用内存大的问题。提供一种基于点缓存的光子映射加速方法,利用基于点的全局光照算法的思想,生成基于采样点的纹理缓存,作为加速缓存,存储光子计算的出射辐射度;这种方法可以在确保缓存加速的同时,保证缓存文件中采样点的分布,避免多余计算和内存过多的消耗。为了实现基于点缓存的光子映射方法,本专利技术采用如下技术方案:在光子发射步骤和渲染步骤中间加入基于点的采样缓存阶段。该阶段参照基于点的全局光照技术,在中间渲染过程中,直接可视化光子图信息,代替基于点的全局光照技术中的直接光照表面信息,生成点缓存数据。在最终渲染过程中,利用点缓存数据来计算光线交点的颜色,消除在同一交点处反复查找光子图的重复计算,加快渲染效率。一种基于点缓存的光子映射加速方法,包括如下步骤:步骤1.光子跟踪阶段;从光源处向场景中发射一定数量的光子,然后跟踪这些光子的运动轨迹,将与物体发生碰撞的光子的信息记录下来并保存到光子图中;步骤2.预处理阶段;预计算辐照度,并保存到点缓存中;且在计算完辐照度后,继续计算着色器;将得到的颜色值以点缓存的形式保存起来;步骤3.渲染阶段;根据光线跟踪算法渲染,在光线与物体表面的交点处根据物体表面属性,发射跟踪反射,折射,漫反射的光线;最终聚集算法发射N条漫反射光线,每条漫反射光线与场景物体相交,返回离交点最近的点缓存中采样点的颜色值,将N个点缓存中采样点的颜色值经过均值计算,得到的均值为间接光照颜色值,最后再与直接光照颜色值相加得到最终图像。所述步骤(1)包括如下步骤:步骤(1.1):从光源处随机发射一定数量的光子,随机确定光子方向,并在场景中按照光线追踪算法中追踪光线的方式追踪光子光线;步骤(1.2):光子在所碰撞的物体表面被反射、吸收或者直接穿过表面进入物体内部;当光子碰撞在漫反射表面时保存光子信息到光子图中。所述步骤(2)包括如下步骤:步骤(2.1):按照像素生成的顺序选取采样点;步骤(2.2):在采样点位置x处查找其在全局光子图中最近邻的k(k≥1)个光子,并利用这k个光子对该采样点进行辐照度的计算,计算公式如公式(1)所示;公式(1)公式(1)中的即在采样点位置x处计算的辐照度,w为采样点x的入射光线方向,wi为第i个光子的方向,xi为第i个光子的位置,Φi是第i个光子能量,r(x)是k个光子中离采样点x最远的光子和x的距离。fr是双向反射分布函数,即表示入射辐照度和出射辐照度之间的比重。步骤(2.3):将计算得到的辐照度值作为漫反射材质着色器的一个参数,参与计算;最终计算出物体表面上采样点的颜色;步骤(2.4):得到该采样点预计算的颜色值后,再将该采样点的位置、表面法向和其颜色值保存到点缓存文件中。所述步骤(2.3)中描述的漫反射材质着色器用于计算物体表面颜色,包括计算物体表面的辐射度信息和计算物体的表面颜色信息;物体表面的辐射度信息在光子映射算法中是由光子计算的,如步骤(2.2)所示;物体表面的颜色信息由表面纹理颜色和物体表面的辐射度乘积得到。所述步骤(3)包括如下步骤:步骤(3.1):按照光线跟踪流程渲染场景,从屏幕空间发射光线与场景求交,按照物体表面着色器计算交点颜色;按照着色器的描述,在漫反射表面,将执行步骤(3.2)和步骤(3.3);步骤(3.2):在漫反射表面从着色点处随机向着色点所在空间的半球内发射N条最终聚集的采样射线,并计算每条射线与场景的交点;步骤(3.3):利本文档来自技高网
...
一种基于点缓存的光子映射加速方法

【技术保护点】
一种基于点缓存的光子映射加速方法,其特征在于,包括如下步骤:步骤1.光子跟踪阶段;从光源处向场景中发射一定数量的光子,然后跟踪这些光子的运动轨迹,将与物体发生碰撞的光子的信息记录下来并保存到光子图中;步骤2.预处理阶段;预计算辐照度,并保存到点缓存中;且在计算完辐照度后,继续计算着色器;将得到的颜色值以点缓存的形式保存起来;步骤3.渲染阶段;根据光线跟踪算法渲染,在光线与物体表面的交点处根据物体表面属性,发射跟踪反射,折射,漫反射的光线;最终聚集算法发射N条漫反射光线,每条漫反射光线与场景物体相交,返回离交点最近的点缓存中采样点的颜色值,将N个点缓存中采样点的颜色值经过均值计算,得到的均值为间接光照颜色值,最后再与直接光照颜色值相加得到最终图像。

【技术特征摘要】
1.一种基于点缓存的光子映射加速方法,其特征在于,包括如下步骤:步骤1.光子跟踪阶段;从光源处向场景中发射一定数量的光子,然后跟踪这些光子的运动轨迹,将与物体发生碰撞的光子的信息记录下来并保存到光子图中;步骤2.预处理阶段;预计算辐照度,并保存到点缓存中;且在计算完辐照度后,继续计算着色器;将得到的颜色值以点缓存的形式保存起来;具体如下:步骤(2.1):按照像素生成的顺序选取采样点;步骤(2.2):在采样点位置x处查找其在全局光子图中最近邻的k(k≥1)个光子,并利用这k个光子对该采样点进行辐照度的计算;步骤(2.3):将计算得到的辐照度值作为漫反射材质着色器的一个参数,参与计算;最终计算出物体表面上采样点的颜色;步骤(2.4):得到该采样点预计算的颜色值后,再将该采样点的位置、表面法向和其颜色值保存到点缓存文件中;步骤3.渲染阶段;根据光线跟踪算法渲染,在光线与物体表面的交点处根据物体表面属性,发射跟踪反射,折射,漫反射的光线;最终聚集算法发射N条漫反射光线,每条漫反射光线与场景物体相交,返回离交点最近的点缓存中采样点的颜色值,将N个点缓存中采样点的颜色值经过均值计算,得到的均值为间接光照颜色值,最后再与直接光照颜色值相加得到最终图像。2.如权利要求1所述的基于点缓存的光子映射加速方法,其特征在于,所述步骤(1)包括如下步骤:步骤(1.1):从光源处随机发射一定数量的光子,随机确定光子方向,并在场景中按照光线追踪算法中追踪光线的方式追踪光子光线;步骤(1.2):光子在所碰撞的物体表面被反射、吸收或者直接穿过表面进入物体内部;当光子碰撞在漫反射表面时保存光子信息到光子图中。3.如权利要...

【专利技术属性】
技术研发人员:康春萌王璐崔云鹏徐延宁屠长河孟祥旭
申请(专利权)人:山东大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1