一种虚拟舞台环境下实时光照绘制的方法技术

技术编号:2951806 阅读:266 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种虚拟舞台环境下的实时光照绘制方法,主要包括以下两个部分:结合Deferred Shading技术和聚类的方法进行优化,通过采用3D纹理对介质属性信息进行组织,并将多光源聚类成虚拟光源,可以实时绘制出舞台多光源光照下的参与介质;结合shadowmap、shadow volume和ray marching等技术,提出了一种混合的适用于室内场景体阴影实时绘制的方法。实验结果证明,本发明专利技术可以较为真实地模拟虚拟舞台环境下的复杂光照效果,同时具有实时性的优点。

【技术实现步骤摘要】

本专利技术涉及。
技术介绍
在虚拟环境系统中,真实性和实时性是构造虚拟环境面临的两大挑战。真实性强调系统 是否能够构建一个逼真的自然环境,使用户忽略计算机系统,达到身处自然环境中的感受。 实时性则强调系统是否能够与用户进行实时随机交互,从而更好为各种应用服务。下面简单介绍一下近年来国内外专家对于虚拟舞台多光源光照下的参与介质和室内环 境体阴影绘制的一些研究现状。光照在参与介质中的传输主要受以下三个过程的影响(l)吸收(Absorption):由于光 能转化为热能等其它形式的能量导致光照在传播过程中能量减少。(2)发射(Emission):介 质中的粒子由于发光等因素从而增加光照在传播过程中能量。(3)散射(Scattering):光线 由于与介质中的粒子发生碰撞从而导致光线向不同的方向散射发出。散射包括内散射 (in-scattering)和外散射(out-scattering),其中内散射增加光照在传播过程中的能量而 外散射则减少光照在传播过程中的能量。基于以上过程,Blinn[提出了可以应用于真实感图形绘制领域的模拟光照传输过程中光 照量变化的基本公式参考文献Blinn JF (1982) "Light reflection functions for simulation of clouds and dusty surfaces" , In: Computer Graphics (ACM SIGGRAPH ' 82 Proceedings) 16(3) :21-29,:。, a)c7。(;c) + CTj(;c) JS ' 公式(1)中, (;c)和o",(;0分别表示吸收系数和散射系数,p(w。,q)表示相位函数,《表示视点到模型表面像素点的距离。r(A = exp称作光学厚度(Opt i calthickness),表示光照值从p到x经过参与介质消散后的剩余光照比例。国内外专家学者对 参与介质的绘制模拟大都基于求解此基本公式。体阴影绘制的研究最开始是在离线渲染的情况下进行的,典型的绘制方法是釆用蒙特卡 洛光线跟踪方法或光子映射方法来进行散射光照值的累加计算,以此达到^J阴影的模拟。这些绘制方法的计算量巨大,无法达到实时性。随着图形硬件的发展,研究人员提出了许多可交互的体阴影绘制方法。这些方法大致 可以分为两类基于Shadow Volume的方法和基于Ray Marching的方法。基于Shadow Volume 的方法参考文献V. Biri, D. Arques, and S. .Michelin. "Real time rendering of atmospheric scattering and volumetric shadows" , in: Journal of WSCG, 1.4:65-',72, 2006.R. Mech. "Hardware-accelerated real-time rendering of gaseous phenomena", in: Journal of Graphics Tools, 6(3) :1 - 16, 2001. R. James. "Graphics Programming Methods, chapter True volumetric shadows" , in: pages 353 - 366. Charles River Media, 2003.需要判定出光线处于阴影锥区域中的片段,而 在判定这些片段的过程中需要在GPU中渲染出从后到前的所有阴影面片,因此引入了排序 的计算量。基于Ray Marching的方法参考文献Y. Dobashi, T. Yamamoto, and T. Nishita. "Interactive rendering of atmospheric scattering effects using graphics hardware" , in: In Graphics Hardware, pages 99 - 107, 2002. T. Imagire, H. Johan, N. Tamura, and T. Nishita. "Anti-aliased and real-time rendering of scenes with light scattering effects" , in: The Visual Computer, 23(9):935 - 944, 2007.原 理是对由视点到模型表面像素点的光线进行采样,判定每一采样点是否被光源照射并计算 散射光照值,最后通过累加散射光照值得到体阴影的绘制效果。此类方法由于需要逐步计 算光照值,因此计算量也较大,但如果减少采样点的数目,绘制得到的效果也就并不准确。
技术实现思路
本专利技术的技术解决问题是克服了现有技术的不足,提供一种可以比较真实的模拟虚拟 舞台环境下多光源光照效果的绘制方法,并且保证了其实时性。本专利技术的技术解决方案为虚拟舞台环境下实时光照的绘制方法,步骤如下 (1)建立一棵光源层次树,并利用该光源层次树对虚拟舞台环境下的多光源进行聚类; 实时绘制出多光源光照下的参与介质,所述的实时绘制方法采用了两遍绘制流程第一遍绘 制时,利用帧缓存对象FBO将参与介质的信息,包括密度、吸收系数或散射系数属性保存在 一张3D纹理中;第二遍绘制从该3D纹理中读取保存的介质信息进行绘制;(2)结合shadow map、 shadow volume和ray marching,实时绘制出室内场景参与介 质的体阴影,该部分绘制包括以下五个步骤-a.从步骤(1)中的多个光源出发绘制整个场景深度的shadow map,即阴影图,将其 保存至帧缓存对象FB0中;将场景中遮挡物的后表面深度信息的shadow map保存至另一帧 缓存对象FBO中;b. 从视点出发计算并绘制shadow volume,即阴影锥,将其保存至帧缓存对象FB'0中, 帧缓存对象FBO保存视点到shadow volume的最前阴影面片和最后阴影面片的距离c. 在不考虑参与介质散射作用的情况下,绘制整个场景并将颜色、法向、深度值信息 保存至帧缓存对象FBO中;d. 考虑参与介质的散射作用,计算整个场景每一像素具有的散射光照值;e. 合并步骤c和d中生成的结果,采取基于Deferred Shading技术作为优化策略, 生成最终的渲染效果。所述的步骤(1)中本专利技术使用八叉树这一数据结构来建立一棵光源层次树,并利用该 光源层次树对虚拟舞台环境下的多光源进行聚类,具体聚类方法为首先通过对光源空间进 行空间八叉剖分,即可得到该八叉树的八个孩子节点,然后判断各孩子节点的包围盒中是否 有真实光源,若有,则继续对其进行剖分,否则停止剖分。所述的步骤(l)中第一遍绘制时,利用帧缓存对象FBO将参与介质的信息,包括密度、 吸收系数或散射系数属性保存在一张3D纹理中的方法为-a. 将介质空间分成宽widt^高heighW深d印th个的小格,申请的相应3D纹理的大 小要与介质空间的小格数相对应,每一小格介质信息,包括密度、吸收/散射系数属性可以 分别本文档来自技高网
...

【技术保护点】
虚拟舞台环境下实时光照的绘制方法,其特征在于步骤如下: (1)建立一棵光源层次树,并利用该光源层次树对虚拟舞台环境下的多光源进行聚类;实时绘制出多光源光照下的参与介质,所述的实时绘制方法采用了两遍绘制流程:第一遍绘制时,利用帧缓存对象 FBO将参与介质的信息,包括密度、吸收系数或散射系数属性保存在一张3D纹理中;第二遍绘制从该3D纹理中读取保存的介质信息进行绘制; (2)结合shadow map、shadow volume和ray marching,实时绘制出 室内场景参与介质的体阴影,该部分绘制包括以下五个步骤: a.从步骤(1)中的多个光源出发绘制整个场景深度的shadow map,即阴影图,将其保存至帧缓存对象FBO中;将场景中遮挡物的后表面深度信息的shadow map保存至另一 帧缓存对象FBO中; b.从视点出发计算并绘制shadow volume,即阴影锥,将其保存至帧缓存对象FBO中,帧缓存对象FBO保存视点到shadow volume的最前阴影面片和最后阴影面片的距离; c.在不考虑参与介质 散射作用的情况下,绘制整个场景并将颜色、法向、深度值信息保存至帧缓存对象FBO中; d.考虑参与介质的散射作用,计算整个场景每一像素具有的散射光照值; e.合并步骤c和d中生成的结果,采取基于Deferred Shading技 术作为优化策略,生成最终的渲染效果。...

【技术特征摘要】

【专利技术属性】
技术研发人员:郝爱民朱磊阎峻何冰
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

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

1