基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法

文档序号:6543840阅读:255来源:国知局
基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法
【专利摘要】本发明公开了一种基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,该全局光照绘制方法采用使用大量点虚拟点光源模型构建待绘制几何场景的光树,并采用聚类对视觉采样点分类,分类处理各类视觉采样点,且对于每一类视觉采样点处理时,构建该类视觉采样点的光传递矩阵。该全局光照绘制方法结合大量点光源及稀疏矩阵还原的全局光照绘制的方法的优势,且在绘制过程中将光传递矩阵划分为子矩阵,将大量点光源问题划分子块进行处理,并对各子矩阵进行稀疏矩阵还原从而加速全局光照绘制的效果和速度。
【专利说明】基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法
【技术领域】
[0001]本发明涉及图像【技术领域】,尤其涉及一种基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法。
【背景技术】
[0002]全局光照是计算机图形学中非常重要的研究领域,通过对大自然中光照情况的模拟,捕捉真实环境中的光的多次传播、折射、反射所产生的软影、间接折射等光照效果,这些效果能大大加强渲染效果的真实感。这一技术常用于电影、动画、三维模型的渲染中。全局光照有多种实现方法,例如辐射度、光线追踪、环境光遮蔽、光子贴图。
[0003]大量点光源(Many-light)的方法是其中一类重要的全局光照技术,它在场景中生成大量虚拟点光源(VirtualPointLight, VPL),通过分别计算各视角采样点(Sample)被这些虚拟点光源照亮的程度,来获得全局光照效果。通过把复杂的多次传播问题简化为采样点被虚拟点光源直接照亮问题,为全局光照问题提供了一个统一的数学框架,并且拥有很高的灵活性,可以根据实际需要调节算法的复杂度。
[0004]为进一步提高绘制速度,提高实时性,Wald等人发明了基于大量点光源框架的光害I] (Iightcuts)方法,将虚拟点光源建立层次结构并使用层次结构树的一个割集代表所有虚拟点光源,减少运算量并加快了运算速度。
[0005]近年来,随着不同研究者对光割方法的不断完善,大量点光源框架已经成为了实现全局光照方法中效率很高的一种。但是,光割方法仍然需要进行大量计算,平均每个视角采样点需要计算几百到上千个虚拟点光源对它的贡献,严重制约了绘制速度,实时性差。因此可以看出,效率仍然是限制其应用发展的主要瓶颈。

【发明内容】

[0006]针对现有技术的不足,本发明提出了一种基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,该全局光照绘制方法大大降低了运算量,提高了运算速率。
[0007]—种基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,包括:
[0008](I)构建几何网格的空间加速层次结构,并利用所述的空间加速层次结构和摄像机的位置信息,采用光线追踪法确定摄像机在几何网格中的视觉采样点,并确定各个视觉采样点的采样点信息,
[0009]所述的采样点信息包括对应视觉采样点的位置、法向量、材质和对应像素点标记;
[0010](2)根据各个虚拟点光源的位置信息、材质信息和能量信息,利用光割算法建立光树;
[0011](3)根据各个视觉采样点的位置对视觉采样点进行聚类,将所述的视觉采样点分为若干类;
[0012](4)针对每一类视觉采样点,进行如下处理:[0013](4-1)根据所述的光树采用光割算法计算该类视觉采样点的光割,并根据所述光割确定该类视觉采样点的初始光传递矩阵,
[0014]所述的初始光传递矩阵为mXn阶,m为该类视觉采样点中的视觉采样点的个数,η为所述光割中光割节点的个数;
[0015](4-2)对所述的初始光传递矩阵进行随机采样,得到若干个特征元素,计算各个特征元素的值,并根据各个特征元素的值对初始光传递矩阵进行降维处理,得到中间光传递矩阵;
[0016](4-3)利用特征元素对中间光传递矩阵进行稀疏矩阵还原,得到该类视觉采样点的光传递矩阵,并将光传递矩阵中每一行元素的元素值的累加和作为的该行对应的视觉采样点的光照值;
[0017](5)根据各个视觉采样点的对应像素点标记,确定几何网格中各个像素点对应的视觉采样点,将各个像素点对应的视觉采样点的光照值进行加权求和,以加权求和结果作为该像素点的亮度值。
[0018]本发明的全局光照绘制方法中首先需要以下输入:
[0019]目标绘制场景的几何网格(即一系列三角面片多个),以及各个几何网格的法向量,各个几何网格由若干个像素点组成;一系列虚拟点光源,包括各个虚拟点光源的材质信息、位置信息(实际上包括在目标绘制场景中的中位置,以及方向)和能量信息,以及摄像机的空间信息(包括摄像机的位置和方向)。
[0020]所述步骤(4-1)中计算每一类视觉采样点的光割时,根据该类视觉采样点中所有采样点的采样点信息和光树各个节点携带的信息采用光割算法计算得到,即:以该类视觉采样点中所有采样点的采样点信息和光树中各个节点携带的信息作为光割函数输入,从而得到该类视觉采样点的光割,每个光割包含若干个光割节点。
[0021]初始光传递矩阵中每一行对应一个视觉采样点,每一列对应一个光割节点,每个元素代表光割中各个光割节点对相应的视觉采样点的亮度值的贡献量。初始光传递矩阵中各个元素为未知量。
[0022]所述步骤(4-2)进行随机采样得到一系列特征元素,并计算得到各个特征元素的取值(相当于将特征元素变为已知元素,此后步骤中的特征元素均是针对已经计算得到的已知量,取值明确)。
[0023]所述步骤(4-3)利用特征元素对中间光传递矩阵进行稀疏矩阵还原时,使用的方法为低秩矩阵适配法(Low-Rank Matrix Fitting),具体过程同参考文献:YuanShen, Zaiwen Wen, and Yin Zhang.Augmented Lagrangian Alternating Direction Methodfor Matrix Separation based on Low-Rank Factorization.Rice CAAM Tech ReportTRl 1-02中所述。
[0024]各个视觉采样点的采样点信息中包括该视觉采样点的对应像素点标记,相同的对应像素点采用相同的对应像素点标记。通过标记可以确定该视觉采样点对应的像素点,即获取像素点与视觉采样点的对应关系。
[0025]本发明的全局光照绘制方法中,采用使用大量点虚拟点光源模型构建待绘制几何场景的光树,并采用聚类对视觉采样点分类,分类处理各类视觉采样点,且对于每一类视觉采样点处理时,构建该类视觉采样点的光传递矩阵(初始光传递矩阵)。这样分类处理,有效减小了光传递矩阵的大小,降低了计算量。且对于每个初始光传递矩阵,通过随机采样选择部分元素并计算选择的部分与元素的取值,然后利用部分元素进行稀疏矩阵还原,进一步计算得到各个视点亮度值。且在还原之间还对光传递矩阵进行降维处理,进一步降低了运算代价,提高运算速率,从而完成实时绘制。
[0026]所述光树的最大高度为64,最大子节点数为1000。
[0027]采样稀疏还原的方法后,需要实际计算的矩阵个数大量减少,因此可以建造更深、更精确的光树结构来支持百万级的虚拟点光源,进行高质量的场景绘制。
[0028]所述几何网格的空间层次结构为SBVH空间层次结构,采用SBVH方法建立得到。
[0029]SBVH (空间分割包围盒,Spatial splits in bounding volume hierarchies,SBVH)是带有一定特征的空间层次结构。
[0030]所述步骤(3)中聚类时每次迭代的距离函数为:
[0031]
【权利要求】
1.一种基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,包括: (O构建几何网格的空间加速层次结构,并利用所述的空间加速层次结构和摄像机的位置信息,采用光线追踪法确定摄像机在几何网格中的视觉采样点,并确定各个视觉采样点的采样点信息, 所述的采样点信息包括对应视觉采样点的位置、法向量、材质和对应像素点标记; (2)根据各个虚拟点光源的位置信息、材质信息和能量信息,利用光割算法建立光树; (3)根据各个视觉采样点的位置对视觉采样点进行聚类,将所述的视觉采样点分为若干类; (4)针对每一类视觉采样点,进行如下处理: (4-1)根据所述的光树采用光割算法计算该类视觉采样点的光割,并根据所述光割确定该类视觉采样点的初始光传递矩阵, 所述的初始光传递矩阵为mXη阶,m为该类视觉采样点中的视觉采样点的个数,η为所述光割中光割节点的个数; (4-2)对所述的初始光传递矩阵进行随机采样,得到若干个特征元素,计算各个特征元素的值,并根据各个特征元素的值对初始光传递矩阵进行降维处理,得到中间光传递矩阵; (4-3)利用特征元素对中间光传递矩阵进行稀疏矩阵还原,得到该类视觉采样点的光传递矩阵,并将光传递矩阵中每一行元素的元素值的累加和作为的该行对应的视觉采样点的光照值; (5)根据各个视觉采样点的对应像素点标记,确定几何网格中各个像素点对应的视觉采样点,将各个像素点对应的视觉采样点的光照值进行加权求和,以加权求和结果作为该像素点的亮度值。
2.如权利要求1所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述几何网格的空间层次结构为SBVH空间层次结构。
3.如权利要求1所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述步骤(3)中聚类时每次迭代的距离函数为:
4.如权利要求1所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述步骤(4-1)采用光割算法计算光割时的误差上限为1%~5%。
5.如权利要求1~4中任意一项权利要求所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述步骤(4-2)包括如下步骤: (4-21)对初始光传递矩阵进行第一次随机采样得到若干个第一特征元素,保证每一列中至少有两个特征元素,并计算各个特征元素的值; (4-22)分别计算初始光传递矩阵中各列特征元素的方差,并以各列的方差在总方差中占的比重作为该列的采样概率,对初始光传递矩阵中的每一列,按照各列对应的采样概率进行第二次随机采样,得到若干个第二特征元素,并计算各个特征元素的值; (4-23)以所有第一特征元素和第二特征元素作为特征元素,将初始光传递矩阵中各列最大的特征元素与设定的阈值进行比较,并根据比较结果,从初始光传递矩阵中剔除最大的特征元素小于设定阈值的列,得到中间光传递矩阵。
6.如权利要求5所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,第一次随机采样得到的特征元素的个数为初始光传递矩阵中元素个数的wl%,第一次随机采样得到的特征元素的个数为初始光传递矩阵中元素个数的w2%,其中wl+w2=10~25。
7.如权利要求6所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,w2/wl=5 ~20 。
8.如权利要求7所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述步骤(4-23)中的阈值为总虚拟点光源总光能的0.1%-1%。
9.如权利要求8所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,采用光割算法计算各个特征元素的值。
10.如权利要求9所述的基于虚拟点光源和稀疏矩阵还原的全局光照绘制方法,其特征在于,所述步骤(5)中的加权求和为平均求和。
【文档编号】G06T15/50GK103971397SQ201410151553
【公开日】2014年8月6日 申请日期:2014年4月16日 优先权日:2014年4月16日
【发明者】王锐, 刘新国, 鲍虎军, 霍宇驰 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1