大规模真实感体积云的实时渲染方法

文档序号:6502633阅读:490来源:国知局
大规模真实感体积云的实时渲染方法
【专利摘要】本发明公开了一种在流处理器上实现大规模真实感体积云实时渲染的方法。包括基于LOD(LevelofDetail)技术的新型网格模型,控制云形状的2D纹理,云的多重前向散射模型,以及云的光照计算。本发明的新颖之处在于通过立方体纹理实现了对天空、太阳的反射效果,通过3D纹理存储预先计算的光照结果,简化云的光照计算;并综合考虑云在天空中的覆盖率以及云的浓淡和风等因素。本方法特别适合云覆盖大部分或全部天空时的实时渲染,具有速度快,仿真度高,平台兼容性好的优点。
【专利说明】大规模真实感体积云的实时渲染方法

【技术领域】
[0001] 本发明与计算机图形学有关,随着流计算平台GPU技术的快速进步,为图形学的 发展提供了重要的硬件平台。本发明涉及一种基于流计算平台GPU的大规模真实感体积云 的实时渲染方法。

【背景技术】
[0002] 自然景物的渲染技术一直伴随着计算机图形学的发展而不断发展,尤其是近年来 随着GPU可编程技术的突飞猛进,GPU在自然景物模拟中的应用越来越广泛,并取得了大量 研究成果。同其它自然景物的渲染相比,云由于没有定义良好的边界以及模拟和光照计算 的复杂性,大规模体积云的实时渲染无疑是具有挑战性的图形学研究方向之一.针对云渲 染的研究,相关工作可分为模拟、几何建模和渲染三部分。模拟大致可以分成两大类:一类 是基于物理的方法,另一类是基于启发式的方法。基于物理的方法主要是通过计算流体力 学求出其数字解,并考虑由云粒子引起的对光的散射和吸收,这类方法是计算密集型的,需 要占用大量的计算资源。大部分基于启发式的方法是过程模型,这类方法计算量不大且易 于实现,但需要对大量的参数进行手动调试.由于云没有固定的边界,很难通过建立静态 的几何模型实现体积云的渲染,因而几何建模尤其重要。在先方法[1](参见Harris M J, and Lastra A. Real-time cloud rendering. Computer Graphics Forum, 2001, 20(3): 76-84)采用3D纹理存储预先计算的简化光照和多重前向散射及自阴影结果,在GPU上实现 了云的实时渲染算法,这种方法可以进行实时渲染,但难于对云的细节变化进行控制.在 先方法[2] (Wang N. Realistic and Fast Cloud Rendering in Computer Games. ACM SIGGRAPH 2003 Sketches & Applications, San Diego, California, 2003. New York: ACM Press, 2003: 1 _ 1)采用粒子系统和假体(Imposter)建立了云的几何模型,具有一 定的代表性. 不同于在先方法[1],本发明提出了一种基于L0D技术的几何模型对云建模;不同在先 方法[2],为了提高渲染效率,采用两步算法,第一步计算光照或阴影,第二步运用第一步的 结果渲染最终图像。


【发明内容】

[0003] 现代流计算技术为基于GPU的大规模真实感体积云实时渲染提供了良好的平台 和巨大的灵活性。本发明建立一种在流处理器上实现大规模真实感体积云实时渲染的方 法,解决没有良好定义边界的云的模拟和渲染过程中复杂光照计算的挑战性问题.本发明 的大规模真实感体积云实时渲染的方法首先利用一种基于L0D技术的几何模型对云建模, 采用2D纹理控制云的外形;其次采用预处理对云的光照进行计算,建立云的多重前向散射 以及天空光照函数,并将计算结果存储在3D纹理中,最后利用GPU进行大规模体积云的实 时渲染,并对云在天空中的覆盖率以及云的浓淡、风等因素进行了模拟。
[0004] 本发明的基本原理如下。
[0005] -、一种基于动态布告板(Billboard)技术的两级L0D几何模型。LODi米用多层 同心圆形网格模型,是模型的低级L0D,网格的层数与云层的厚度有关,并对渲染效果和渲 染速度有直接影响。层数越多,最终的渲染效果越好,同样也需要更多的渲染时间;较少的 层数尽管可以提高渲染效率,但是当观察角度较小时,将会看到层与层之间的空隙。给定层 数底层厚度Tfecfowss,则第;层的1?度尽由公式(1)计算:

【权利要求】
1. 一种基于动态布告板(Billboard)技术的两级LOD几何模型,以^米用多层同心圆 形网格模型,是模型的低级L0D,网格的层数与云层的厚度有关,并对渲染效果和渲染速度 有直接影响.层数越多,最终的渲染效果越好,同样也需要更多的渲染时间;较少的层数尽 管可以提高渲染效率,但是当观察角度较小时,将会看到层与层之间的空隙。
2. 给定层数iV,z?底商,z?层厚度IKcfciess,贝1J第I层的商度年由公式(1)计 算:
(1) L0D。采用动态布告板技术,不同于通常的布告板围绕固定的旋转中心且保持布告板的 尺寸不变,动态布告板的旋转中心和布告板的尺寸是逐帧计算的,布告板的尺寸变化是为 了保证其能够与云层的厚度保持一致,这是体积云的渲染必需的;布告板旋转中心的变化 主要是由于布告板的数量也是变化的,当观察方向垂直于云层时,布告板的数量与LC^的 云层层数相等,而当视点位于云层中且观察方向沿着云层的方向时,布告板的数量将达到 最大值,此时较多的布告板将得到较好的渲染效果。
3. 多重散射光照模型模拟光线在云层中的传输与变化.给定光源方向I和位置Ρ,Ρ 点的光照为到达Ρ点的所有光,其散射为:
(2) 式中,AO)为云层外沿^方向的光照强度,τι(?)为云中深度?处的衰减系数,为光 线沿传播方向在云中经过的深度,且
(3) 表不在点X处光线从所有方向散射到方向Φ的光照,为双向散射分布函 数,该函数可进一步展开为
(4) 式中,a(x)为点处介质的反照率,为相函数,本发明只计算多重前向散射, 因而公式(3)中? = /,且Φ'=-Ι。
4. 满足上述条件的散射角只有一个很小的固定值厂由于F足够小,可以假定在7内 的r和/为常量,因此在仿真计算中公式(3)可以简化为: g(x,i) = r(xj-l)^l(x,-i) -γ?Απ (5) 在仿真计算中将光线在云中经过的路径从0到切分成F段,每一段为勺,j从i到 y,m :
(6) 式中,4为光线到达云层边界时的强度,分段后的形式为
5. 为了便于硬件实现,本发明将公式(6)改写为:
(7) 解决云磁片效应的外观控制.为使渲染出的体积云具有厚度变化,在存储光照结果的 3D纹理中增加一个《通道,以实现云的厚度变化.由于该3D纹理采用复制模式铺设,从而 不可避免的会出现常见的磁片效应,为了解决这一问题,本发明引入一张单通道2D纹理, 对3D纹理的Q通道进行调制,调制后的α值由公式( 8)表述:
(8) 式中,Ι.α为3D纹理的a值,为单通道2D纹理的颜色值。
6. 云的覆盖率与浓度渲染.云在天空中所占的区域不是一成不变的,有时云会覆盖大 部分天空,有时仅覆盖其中一小部分.为了模拟这一现象,本发明引入了覆盖率C ,以便对 α值进行进一步调制,此时G值由公式(9)表述:
(9) 当C=1时,该公式与公式(8) -致;0<1时,天空中的云量将减少。
7. 覆盖率主要是对2D纹理进行调制,除此之外,本发明通过引入浓度系数D对云的浓 度进行控制,此时α值由公式(10)表述:
(10) 当D = 1时,公式(10)与公式(9) 一致,当D<1时,单个云团的浓度将发生相应变化。
【文档编号】G06T15/00GK104143205SQ201310171525
【公开日】2014年11月12日 申请日期:2013年5月11日 优先权日:2013年5月11日
【发明者】张泽旭, 王纲 申请人:哈尔滨点石仿真科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1