基于高度图的微结构表面全局光照实时绘制方法

文档序号:6603008阅读:183来源:国知局
专利名称:基于高度图的微结构表面全局光照实时绘制方法
技术领域
本发明涉及高度图的微结构表面全局光照实时绘制。
背景技术
现实场景中存在大量具有不平滑表面的对象,这些微结构表面将对光线传播产生 影响,会表现出细粒度的自阴影、环境光遮挡、渗色等全局光照效果。因此,描述局部微结构 细节与光线的交互,真实再现这类对象的光照效果,可以使得图像细节更为丰富、细腻,极 大地提高绘制效果的逼真性。微结构表面对象细节多、几何结构复杂,光线跟踪等传统的全局光照方法存在 着计算量大,难以用于实时绘制等问题。Tong等提出将双向纹理函数(Bidirectional texturefunction, BTF)合成到任意表面上的方法,通过预计算微结构表面样本的BTF,并 建立对象表面与BTF的映射关系,可根据光源和视点运动情况进行实时快速采样。在此 基础之上,双尺度辐射度传递(Bi-Scale Radiance Transfer, BRT),壳纹理函数(Shell texture function, STF)和薄壳福射度纹理函数(Shell Radiance texture function, SRTF)等方法也对微结构表面对象的光照计算方法进行了深入的研究。但由于大量预计算 和纹理合成的存在,这类方法很难实时模拟动态可变形物体的光照效果。1)微结构表面光照计算的方法有Tong等提出使用表面纹理元来合成低精度模型表面BTF的方法,能够较好地表现 表面微结构随视点和光源变化的光照效果。但对于不能使用3D纹理元来表示的材质,不能 使用这种单尺度的方法。Sloan等提出了一种双尺度的辐射度传输方法,将辐射度分为全局和局部尺度。全 局和局部尺度的传输分别采用预计算辐射度传输(Precomputed Radiance Transfer,PRT) 和BTF,使绘制后的BTF材质表面呈现全局辐射传输光照效果。但网格上的顶点分布稠密、 计算量较大,而且只能处理低频光照。为了计算非均勻半透明微结构模型光照,Chen等建立一个包括薄壳层和均勻内核 的模型,并引入STF计算薄壳层的表面辐射度,来呈现非均勻半透明物体表面微结构的自 阴影、遮挡、镜面反射、轮廓及次表面的散射。但运行阶段计算量较大,无法达到实时。为了能够实时渲染非均勻半透明物体,Song等提出的预计算基本量的SRTF,在运 行阶段直接用于计算模型表面辐射度,实现实时渲染。但在渲染时忽略了由表面微结构形 成的细节轮廓。2)环境光遮挡的计算方法有Kontkanen等于2005年提出了环境光遮挡场,并基于此来预计算物体间的环境光 遮挡,从而实现阴影的实时绘制。2006年,Hegeman等提出了一种近似环境光遮挡方法,可满足复杂动态场景的交 互渲染需要,但渲染质量不是很高。为了提高绘制效率和渲染质量,Shanmugam等于2007年提出了一种硬件加速的环境光遮挡方法,将环境光遮挡分解为能够独立计算的高频和低频两部分,实现了复杂动态 场景的高质量实时渲染。为了进一步提高绘制效率,近年来越来越多的研究工作转向基于屏幕空间的环境 光遮挡近似计算。Bavoil等于2008年首次提出了基于屏幕空间的环境光遮挡(Screen SpaceAmbient Occlusion, SSA0)方法,通过比较当前点与周围点深度,来确定环境光被遮 挡的比率。但该方法需要人工设置采样数目,并且在改变物体的和视点的相对位置时会产 生视觉上的跳跃现象。同年,Bavoil等提出图像空间地平线环境光遮挡方法,基于视点坐标下的场景深 度图,计算被遮挡点周围的地平角关系来得到该点的被遮挡程度。Dimitrov等提出了地平 角分裂的环境光遮挡方法,该方法通过计算屏幕空间下点的地平角遮挡关系与实际法线遮 挡关系的和,来得到最终的遮挡关系。Ritschel等于2009年提出了屏幕空间方向光遮挡(Screen Space DirectionalOcclusion, SSD0)方法,在SSAO中加入方向光遮挡和一次交互漫反射,实现全 局光照在复杂动态场景中的实时绘制。3)图像空间光照计算的方法有Wyman于2005年提出基于图像空间的透明对象二次折射方法,在绘制一遍模型的 基础上,采用迭代插值方法来逼近二次折射点的空间位置,实现对透明对象的实时渲染。但 需要对模型进行预处理,不适用于可变形物体。为了消除预处理,Davis等于2007年提出计算折射光线在模型内部全反射的方 法,通过折半查找法来查找图像空间下光线在模型内部与模型多次反射的交点,在模型内 部递归式追踪光线直到光线射出模型或递归跟踪的深度达到规定的阈值。Manuel等也给出了适用于可变形透明对象的二次折射实时绘制方法,该方法不需 要任何预处理,结合动态深度图和折半查找法来有效地处理图像空间下光线在模型内的全 反射。基于图像空间的焦散绘制也是光照绘制的一项主要研究内容。Wyman等于2006年 最早提出图像空间的焦散绘制方法,采用光子映射的方法,实现焦散的实时绘制。但是通过 建立大规模均勻栅格点来跟踪光子,会导致绘制效率低,并且在非焦散汇聚点区域会产生 比较严重的噪声。2007年,Musawir等提出焦散映射方法,该方法主要包括两个部分生成焦散图纹 理和使用焦散图将焦散渲染到焦散接受体上。由于需要对折射几何体进行计算,这两种方 法都无法直接用于可变形物体的焦散渲染。Pankaj等采用焦散图和两表面折射相结合的方 法,实现了对可变形物体的实时焦散渲染。为了提高实时渲染的质量,Wyman采用分层的焦 散图方法,可以实时渲染高质量的焦散效果。2009年,Wyman又提出了使用延迟着色的自适应焦散映射方法。采用延迟着色思 想来自适应的发射光子,产生只包含相关光子的焦散图,而不需要渲染大量无关的密集光 子,极大提高了绘制效率。

发明内容
本发明要解决的技术问题是通过一种基于微结构高度梯度图的全局光照实时绘
4制方法,实现对可变形物体微结构表面的实时全局光照的计算。本发明的技术解决方案为(1)全局光照计算模型,根据James Kajiya的渲染等式,几何对象上任意一个点P 的在wo方向的出射光照度Lo可以根据该点在各个方向上入射辐射度的积分求得,具体形 式见公式(1)。L0(P) = p(P) jQL,(P,Wi^Wl · n)dw(1)其中Li是入射光强度,wi是入射方向,η是P点的法线方向,P是对象表面的材 质属性BRDF,Ω是以计算点为中心,以该点所在平面为底面的单位半球。微结构表面对象几何细节丰富,局部区域就可能存在上万个微面。如果直接根据 该渲染公式计算几何关系和求取积分,计算量过大,方法难以实时。针对这个问题,本发明 给出一种微结构表面光照计算模型,将微结构表面的入射光近似分解为三个分量环境光 La,高频光源光照度Ls和一次交互漫反射光照度Ld。对于微结构表面,环境光La是指周围 环境对当前点的照亮程度,由于微结构表面细粒度的高度起伏较多,La需要根据当前点与 周围点的遮挡关系计算得到。高频光源光照度Ls是指方向光源或点光源对微结构表面点 的照明,需要考虑其对局部自阴影的影响。一次交互漫反射光照度Ld主要描述了周围微结 构区域对当前点的漫反射效果的影响。本发明通过公式(2)将上述入射分量进行叠加,来 近似计算微结构表面的入射光。
Α(Λ^) = (^La(P,w,) + AsLXP^,)) · ViP^i) + XciLd(P^i) · (1 - V(P,w,))(2)其中λ a,λ s和λ d分为环境光La,直接光照Ls和一次渗色光照Ld的权重系数, 具体跟物体表面的材质属性相关。V则表示P点在Wi方向是否被遮挡,它可用一个二值函 数来表示,取值为O时表示被遮挡,否则表示未被遮挡。根据微结构高度梯度分布情况,我们在图像空间给出各个分量的求解方法。对于 入射环境光,给出一种基于微结构高度梯度图的自适应环境光遮挡方法,与其他SSAO方 法相比,它不需要预先定义采样的步长,能够自适应地快速搜索到局部区域内对当前点最 有可能造成遮挡的点,从而可以减少采样数量。对于高频光源直接光照,结合经典Shadow Mapping方法,给出一种面向微结构表面的阴影区域修正方法,通过多方向梯度局部最高点 来近似计算微结构的光线遮挡,可以较好地描述细微几何结构的精细阴影。对于交互漫反 射入射分量,则通过对局部最高点和其内侧点进行采样,计算几何关系,实现一次交互漫反 射效果。在各个入射分量的计算中,我们充分融入了延迟着色的思想,提高计算的有效性, 使整个光照模型的解算能够达到实时性要求。(2)屏幕空间微结构表面高度梯度图1)微结构表面高度梯度图,当光线入射到物体表面时,表面微结构的分布和形 状将影响光线传播的路径,产生阴影、遮挡、交互漫射等光照效果。求取微结构高度的梯 度,可以较好地描述局部高低起伏变化,方便遮挡关系的计算,提高遮挡点的搜索速度, 因此,针对微结构表面,我们提出一种屏幕空间的微结构高度梯度图(Meso-structure HeightGradient Map, MHGM),可以通过下述方法构造。假定带有微结构表面的物体是由微结构高度场和内核模型构成,微结构高度场通 过纹理合成和纹理映射方法与内核预先绑定。假设低精度模型M表面任一顶点C均有微结
5构高度场的纹理坐标为T。= (Uc, V。),当我们在视点V下绘制M时,可以得到该视点下的二 维视图V',在V'中微结构对象M的可见部分所占区域记为M',根据微结构高度场的映射 关系,M任一顶点C在M'中的投影点C'都能依据纹理坐标T。取到微结构高度值H。。V' 中M'以外部分的高度值设置为零。我们将由这些高度值形成的二维图像称之为屏幕空间 微结构表面高度图(Meso-structure Height Map,MHM)。对MHM求取梯度,我们把生成的 矢量图像称为屏幕空间的MHGM。MHGM在图像空间近似给出了微结构表面起伏变化程度的 描述。2)局部最高点集合的构造,具有微结构表面的物体是由微结构高度场和内核模型 构成,假定微结构变化剧烈程度远大于内核模型结构,那么对于局部范围内的微结构来说, 其所对应的内核模型区域可近似为平面。由于标量场的梯度是一个向量场,梯度的方向指 向标量场增长最快的方向,因此我们可以将梯度分析应用到上面构造的MHGM中,近似计算 局部微结构的辐射度传递。在MHGM中,存在着一些梯度为零的点,周围点的梯度都指向这些点。根据梯度的 物理含义,这些点的高度值大于其周围点,在本发明中,我们将其称之为局部最高点(Local Apex) 0另外,我们将在MHGM上,位于物体可见区域M'边界上的点称之为梯度图边界点 (BoundaryPoint)。为了计算微结构上的光照传播,我们需要根据局部最高点和梯度图边界 点的分布,为每个可见点构造局部最高点集合。在视点V下的二维视图V'中,给定任意一个可见点C' (C'是C在V'中的投 影),我们根据如下方法为其构造局部最高点集合f (C')。在该视点下生成的MHGM中,以 C'位置为起始点,沿着梯度方向,搜索到距离该点最近的局部最高点,我们把该点称为C' 的直接局部最高点,记做H。,,并将它加入f (C')中。由于H。,只是C'在某一个方向上的 局部最高点,其他方向也同样存在着局部最高点,对C'点的光照计算有影响。为了得到这 些局部最高点,我们在C'点周围采样,当某一方向的采样点SCi时,可以以CiS起始点 沿梯度方向搜索到的局部最高点〃 ·,我们把这样的点称为C'的间接局部最高点,加入到 f(C')中。同理,我们可以搜索C'点其它方向的局部最高点,使得f (C')包含C'的多 方向局部最高点。另外,如果C'位于M'边界附近,沿梯度方向可能搜索到的点为边界点 Be,,我们将这样的点也作为局部最高点,放入f (C')中。f(C')中所有局部最高点将对 微结构表面光照度传播产生较大的作用,应用于随后的光照分量计算之中。(3)局部微结构光照计算方法1)环境光遮挡计算方法,本发明提出一种基于微结构高度梯度图的环境光遮挡计 算方法,不同于其他屏幕空间方法沿着所有方向计算环境光遮挡值,我们的方法利用上节 所述的局部最高点集合来自适应地计算微结构模型的环境光遮挡。对于给定一点P,P点周围存在的点会对它产生遮挡。P的点环境光遮挡计算公式 如下。A(P,n) = ^~lv(P,0W^)da(幻其中η是P点的法线方向,Ω是以P点为中心,以η为正方向的单位半球,V是该 半球上的光线的可见性函数,如果为1则表示该方向可见,O则表示该方向被遮挡。W为权
重函数。
我们以P点所对应的内核的模型顶点法线方向作为极轴,以方位角θ和倾斜角α 建立球面坐标系。则公式(3)可转化为 对于每一方向θ,若我们找到一个最大遮挡角h( θ ),当α >h(6)时,r(P;) = l, 则可以得到公式(5)
可分别得到公式 权重函数见-、有很多种给法,如令、--,、或
(6)和公式(7)。在环境光遮挡的计算中,我们采用了公式(7)。成八
本发明的方法通过两张输入纹理eyeDisTexture和heighestTexture来计算环境 光遮挡值。eyeDisTexture纹理中存储了微结构模型顶点所对应的空间坐标值,即对于其上 任意一个像素点,其对应的空间坐标值有公式(8)计算得出。 其中Pci^分别为模型主内核上点的空间坐标值和法向量,dis为其对应的微结构 高度场的高度值,k为放缩量。heighestTexture纹理中存储了顶点由梯度图搜索得到的局 部最高点所对应的纹理坐标。在微结构模型中,对于模型表面的顶点P,若其某方向范围内存在一局部最高点 <,则我们可以近似的认为,点即是该方向范围内对P点遮挡角度最大的点,我们利用<
Ah
点对P点的遮挡角度晰)^^ th( . p ) (Ah为两点的高度差)来表示该方向范围上的
IengthQHp - P)
遮挡角度,用公式(7)计算环境光遮挡值。同时,如果点P某一方向范围内不存在局部最高 点,则我们可以认为点P在该方向上基本不受遮挡。这样,微结构模型上顶点P的环境光遮 挡计算就转化为了计算其局部最高点集合对它的遮挡。本发明方法借助微结构高度场梯度 分布搜索遮挡点,遮挡计算是在微结构高度场所在的对象空间完成的,因此不会随视点的 变化而变化,方法是自适应的,不需要设定采样范围和间隔参数,并且搜索到的点均为对遮 挡有影响的有效点。2)高频光源光照效果计算方法,我们采用Phong模型来计算微结构表面接受 到的高频直接光照。在计算光照强度之前,需要判断模型上点是否被照亮,即是否会因 为遮挡关系而产生自阴影效果。要精确描绘微结构表面的阴影,需要使用位移贴图方法 (DisplacementMapping)将微结构高度场中的高度值作用于对象的顶点,产生实际顶点的 位移,生成新的高细节模型,然后借助阴影绘制方法对该模型进行阴影计算。这样做存在几 个问题。第一,当内核模型网格精度不够时,首先需要网格镶嵌提高模型顶点数目,然后才
7能进行顶点位移。第二,直接在新生成的高精度模型上采用光线跟踪类方法,由于模型局部 几何细节过多,计算量大。即使采用效率较高的阴影映射方法,也需要绘制两遍带有微结构 表面的几何模型,影响方法时间性能。在本发明中,为了提高绘制效率,我们使用的带有微结构表面的几何模型是在内 核模型上绑定微结构高度场映射信息,没有实际的顶点位移,因而模型表面没有微结构的 形变,无法用Shadow Mapping方法直接计算阴影位置。为了解决上述问题,本发明给出一 种基于梯度空间局部最高点的微结构表面阴影图修正方法,在采用经典Shadow Mapping方 法对内核结构模型计算大尺度阴影的基础上,对由微结构高度场产生的局部表面细节进行 遮挡计算,对原阴影区域进行修正。3) 一次交互漫反射计算方法,与方向光效果的计算类似,对于微结构表面对象,如 采用顶点位移后的高精度模型,通过辐射度方法计算对象各个部分间的一次交互漫反射效 果,计算开销过大,方法很难达到实时。Ritschel等在SSDO中,给出在屏幕空间计算一次交 互漫反射的方法。本发明方法仍基于在图像空间采样的思路,但与SSDO主要有两点区别。 第一,SSDO是在一个预定义半径的半球内进行采样,本发明方法的采样以当前点的局部最 高点集合为边界,是自适应的,不需要手工设定。第二,SSDO采样每个点后,需要首先判断 是否遮挡,之后才能进行计算。我们则是在已知会被遮挡的的范围内取点进行计算,减少了 遮挡计算次数,提高测试点的有效性比率。对于P点周围的所有局部最高点,P点会被这些局部最高点所遮挡。我们首先沿 着P的梯度爬升方向进行采样,直至P的直接局部最高点HP,在此路径上进行一次交互漫反 射入射光照度采样。之后,我们在P点附近寻找中介点P',沿着P'的梯度爬升方向至其 直接局部最高点Hp,,同样也在此路径上进行交互漫反射入射光照度采样。如图8所示,我 们可以沿着P点和中介点P'的梯度方向,逐点采样,通过采样点的颜色,计算P点的一次交 互漫反射。同时为了避免采样点S无法渗色到P点的情况,还需要考虑到巧与i的夹角和$ 与^;的夹角是否小于90度。如图8中的中介点P'点,它显然无法渗色到P点。最后得到 一次交互漫反射的计算公式如下 其中ρ为材质的BSDF参数,Si为采样点。


图1本发明方法绘制的微结构表面全局光照效果图;图2微结构表面对象的构成图;图3MHGM生成过程示意图;图4a和图4b局部最高点提取方法示意图(一表示梯度、一表示搜索路 径);图5环境光遮挡计算示意图;图6微结构阴影修正示意图;图7光线方向近似剖面示意图8 —次交互漫反射采样示意图;图 9PaSS2 的输入纹理 shadowMap 和输出纹理 eyeColorTexture、eyeDisTexture 图(ashadowMap 纹理,b eyeColorTexture 纹理,c eyeDisTexture 纹理);图 10Pass3 的输出纹理 eyeDisNormalTexture、gradientTexture 禾口 Pass4 的输 出纹理 heighestTexture 图(a eyeDisNormalTexture 纹理,b eyeColorTexture 纹理, cgradientTexture 纹理);图llPass5输出纹理IightingTexture的r、g、b、a分量图(a环境光遮挡值,b点 光源漫反射强度值,c高光强度值,d阴影值);图12微结构表面环境光遮挡绘制效果及对比图(a我们的基于高度梯度图的方 法,b我们的方法+SSAO方法,c Bavoil的方法);图13微结构表面点光源阴影绘制效果及对比图(a经典Shadow Mapping方法效 果,bShadow Mapping+微结构表面阴影修正);图14 一次交互漫反射绘制效果及对比图(a无交互漫反射效果,b有交互漫反射 效果);图15使用本发明方法静态模型绘制效果图(a Teapot的全局光照效果,b Torus 的全局光照效果,c Elephant的全局光照效果,d Dinosaur的全局光照效果);图16本发明方法对动态模型的绘制效果图;图17不同面片数模型在不同纹理分辨率下的绘制帧率折线图。
具体实施例方式本发明的方法具体实现过程如下本发明方法使用了 Shadow Mapping方法,所以对整个场景进行了两遍绘制。其他 计算所在的渲染过程,都采用了延迟着色思想,通过画满屏的四边形来实现的,因此方法引 入的计算开销与场景中对象几何模型的复杂度关系较小。方法在计算过程中用到的纹理较多,纹理组织如下(1) disTexture 对象表面的微结构高度纹理。初始化时输入,Pass2使用。(2)modelTexture 对象表面的颜色纹理。初始化时输入,Pass2使用。(3) shadowMap 以光源为视点下场景的深度图。Passl生成,Pass2使用。(4) eyeDisTexture :r、g、b分量存储视点下对象表面根据disTexture沿法向量 偏移后的坐标值,a分量存储对象表面上点对应的disTexture中的偏移量。Pass2生成, Pass3> Pass5> Pass6 iJM。(5) eyeColorTexture :r、g、b分量存储视点下对象表面的颜色值,a分量存储其是 否在阴影中(0或1)。Pass2生成,Pass5、Pass6使用。(6) eyeDisNormalTexture 存储由偏移后的带有微结构表面的对象顶点坐标计算 得到的新法向量。Pass3生成,Pass5、Pass6使用。(7) gradientTexture 存储计算得到的对象微结构表面的高度梯度图。Pass3生 成,Pass4使用。(8)heighestTexture 存储对象表面顶点由梯度图搜索得到的局部最高点所对应 的纹理坐标。Pass4生成,Pass5、Pass6使用。
(9) IightingTexture 四个分量分别用于存储环境光遮挡值、点光源漫反射值、高 光值、阴影值。Pass5生成,Pass6使用。方法具体绘制步骤Passl采用传统Shadow Mapping方法,从光源位置绘制场景,将光源视空间下三 维模型表面顶点的深度值绘制到shadowMap中。Pass2 从视点位置绘制模型,以 shadowMap、modelTexture 和 disTexture 三张 纹理作为输入,将视空间下三维模型表面顶点的坐标值沿法线偏移(偏移量由高度纹理 disTexture获得),将偏移后的坐标值及偏移量绘制到eyeDisTexture纹理中;将三维模型 表面顶点的颜色值绘制到eyeColorTexture纹理的r、g、b分量中;判断顶点是否处于阴影 中,将阴影值(0或1)绘制到eyeColorTexture纹理的a分量中,见图9。采用多目标渲染 (Multiple Render Target, MRT)方式一遍绘制完成。Pass3基于延迟着色的思想,绘制满屏的四边形,以eyeDisTexture纹理作为输 入,利用偏移后的顶点坐标值,计算顶点的法向量,将结果绘制到eyeDisNormalTexture纹 理中;将偏移量作为高度值,计算每一顶点的梯度方向(即对应的纹理坐标),将结果绘制 到gradientTexture纹理中,见图10(a) (b)。采用MRT的方式一遍绘制完成。Pass4绘制一个满屏的四边形,以gradientTexture纹理作为输入,对于每一个 顶点,沿梯度方向搜索,可找到一局部最高点,并记录下其对应的纹理坐标,将结果绘制到 heighestTexture 纹理中,见图 10(c)Pass5 绘制一个 薛屏的四边形,以 heighestTexture、eyeDisTexture、 eyeColorTexture和eyeDisNormalTexture四张纹理作为输入,由每一顶点周围的局 部最高点集,计算环境光遮挡值、点光源漫反射强度值、高光强度值和阴影值,绘制到 IightingTexture纹理的四个通道中,见图11。Pass6绘制一个满屏的四边形,以立方图作为环境光源,以lightingTexture、 heighestTexture>eyeDisTexture>eyeColorTexture 禾口 eyeDisNormalTexture 四张纹理作 为输入,由每一顶点周围的局部最高点集,计算一次交互漫反射,与之前的计算结果结合, 将最终颜色值输出到屏幕上。本发明方法的实验环境为Inter Core (TM) 23. OGHz CPU、2G 内存、NVIDIA GeForce GTX2601G显示卡、运行Windows XP操作系统的PC机。实验程序基于OpenGL 3. 0API,Shader 程序使用Shader Model 3.0方式编译。为了验证微结构表面光照模型的有效性,我们首先 使用了 Teapot、El印hant、Torus、Dinosaur等多个模型对各个分量计算的绘制效果进行了 对比分析,然后给出本发明法绘制的带有微结构表面对象的全局光照效果,最后进行了性 能测试实验。实验模型仅包含微结构高度场映射的二维坐标(类似纹理映射),模型顶点本 身不包含微结构几何信息。本发明方法属于图像空间方法,在进行直接光照分量的计算中,由于采用了传统 的Shadow Mapping,对整个场景绘制两遍,其余计算与绘制只是针对满屏矩形的填充,因此 几何模型的复杂度和计算中间过程所选用的纹理缓存的分辨率都对整个方法的效率有所 影响。为了对不同复杂度的几何模型进行测试,我们对更多的模型进行了测试。实验模型 均来自于从斯坦福大学三维模型库。表1给出了对于不同复杂度的实验模型在256*256, 512*512、1024*1024三个不同分辨率纹理缓存下的计算速度。窗口大小设为1024*1024。
根据表1数据,可以画出如图17所示的折线图,从该图可以看出本发明方法绘制 效率较高,对于100万面片数的复杂模型,在256*256和512*512分辨率下,绘制帧率可达 到60帧/秒以上。即使是在1024*1024分辨率下,其绘制帧率仍能达到50帧/秒,可保证 实时绘制的需要。其次,对比图中三条折线,可以发现渲染纹理分辨率对本发明方法影响较 大。尤其是在模型面片数较少时,绘制帧率随着纹理分辨率的不同成倍下降,随着模型面片 数的增多,下降幅度逐渐减小。此外,图中黄色折线比较平稳,粉色和蓝色折线虽然平稳性 要差一些,但绘制效率与模型面片数之间也远远构不成反比关系。这说明随着纹理分辨率 的增大,本发明方法受模型复杂度的影响也越来越小。本发明方法充分发挥了延迟着色的 优点只绘制两遍模型,绘制多遍纹理。因此方法的绘制效率受模型复杂度影响较小,受纹 理分辨率影响较大。当然,在较大的纹理分辨率下,最终的图像绘制质量也会较好。
1权利要求
一种基于高度图的微结构表面全局光照实时绘制方法,其步骤依次为(1)针对物体表面几何细节特点给出一种全局光照分解计算方法,以分别近似计算环境光、反射和一次交互漫反射等光照分量;(2)基于屏幕空间创建物体微结构表面的高度梯度图,然后根据微结构表面梯度的方向及其大小的分布来搜索对局部细节光照影响最大的方向和遮挡点,并建立局部最高点集合以指导各个光照分量的自适应地采样计算;(3)采用微结构表面阴影修正方法,通过纹理坐标将微结构高度场绑定在低精度模型表面,将带有微结构表面的对象的阴影计算分为两步首先利用Shadow Mapping计算低精度网格的阴影,接着采用梯度空间局部最高点集合遮挡计算来生成细节阴影。
2.根据权利要求1的方法,具体包括(1)使用对象的低精度几何模型和微结构细节高度图,表现带有微结构表面的高精度 几何模型的全局光照效果;(2)消除预计算,方法达到实时性能,适用于动态场景和可变形对象,所述可变形对象 包括微结构和低精度模型;(3)所述微结构表面的全局光照近似方法进一步包括使用环境光、高频光源入射光 和一次交互漫反射来模拟局部细节的光照度传递的方法来计算全局光照;(4)所述微结构表面阴影修正方法进一步包括提出屏幕空间微结构高度梯度图,并 构建可见点的局部最高点集合,自适应确定采样范围,消除人工设定参数,高效准确。
全文摘要
本发明提出一种基于高度梯度图分析的全局光照实时绘制方法。给出面向微结构表面对象实时绘制的全局光照计算模型,将光照计算近似分解为环境光入射、光源直接光照和一次交互漫反射等三个分量的计算。定义微结构高度梯度图,并据此构建可见点的局部最高点集合。在环境光计算中,本发明提出一种自适应环境光遮挡计算,借助局部最高点集合计算遮挡角。在直接光照中,给出一种微结构阴影的修正方法,搜索入射光方向的最近局部最高点剖面,通过比较剖面内光线投影与局部最高点的遮挡角,近似确定由微结构造成的阴影区域。最后根据可见点的局部最高点集合确定一次交互漫反射的采样范围,进行渗色处理。整个全局光照计算方法在图像空间完成。
文档编号G06T15/50GK101882323SQ20101018208
公开日2010年11月10日 申请日期2010年5月19日 优先权日2010年5月19日
发明者杨峥, 王莉莉, 赵沁平, 马志强 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1