CN102867326A - 基于OpenGL进行真实云景虚拟的方法 - Google Patents

基于OpenGL进行真实云景虚拟的方法 Download PDF

Info

Publication number
CN102867326A
CN102867326A CN2012103009028A CN201210300902A CN102867326A CN 102867326 A CN102867326 A CN 102867326A CN 2012103009028 A CN2012103009028 A CN 2012103009028A CN 201210300902 A CN201210300902 A CN 201210300902A CN 102867326 A CN102867326 A CN 102867326A
Authority
CN
China
Prior art keywords
cloud
cellular
act
cld
cloudland
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012103009028A
Other languages
English (en)
Inventor
陈国庆
胡畔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SUZHOU LIANGJIANG TECHNOLOGY Co Ltd
Original Assignee
SUZHOU LIANGJIANG TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SUZHOU LIANGJIANG TECHNOLOGY Co Ltd filed Critical SUZHOU LIANGJIANG TECHNOLOGY Co Ltd
Priority to CN2012103009028A priority Critical patent/CN102867326A/zh
Publication of CN102867326A publication Critical patent/CN102867326A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于OpenGL进行真实云景虚拟的方法,其特征在于所述方法包括以下步骤:(1)根据元胞自动机原理进行云景建模,设置每一个小元胞的状态参数,确定虚拟仿真的次数;(2)初始化每一个小元胞的状态参数,按照云的形成公式形成云景;(3)根据元胞是否存在变化的事件产生的情况进行形成的云景进行光照渲染处理,然后输出仿真虚拟的云景结果。该方法可以得到真实感强烈的虚拟云景,而且云景的动态变化更具可控性,增加了云景真实感。对光照模式进行简化,减少了计算机量,保证实时性。

Description

基于OpenGL进行真实云景虚拟的方法
技术领域
本发明属于现实世界的虚拟仿真技术领域,具体涉及一种基于OpenGL进行真实云景虚拟的方法。
背景技术
云作为一种气体现象,其形成是由无数小水滴(颗粒)随机运动而产生,外观形状极不规则,并随时间发生变化,而且云的各部分透明度也不同,同时,在云层飘动过程中,还会受到风力的作用,使其发生捉摸不定的变化,在云的渲染过程中,还要考虑光照对云的影响,如太阳光,云的内部散射,天空和大地对云的反射。另外,云的规模庞大,不同的观察级别具有不同的细节。云的这些复杂特性使得在构造它的几何模型时需要大量的数据,且这些数据随机性很强,计算量相当大,这使得用经典的欧几里德几何学对其描述显得无能为力,如用直线、多次曲线和样条曲线及曲面等对云进行建模,就会失去视觉上的真实感。虽然说云是自然界最为常见的现象,并为人们所熟悉,却很少有人能够准确地描述其形状,因此,如何利用普通的计算机实时地生成令人信服的具有真实感的三维实体云就非常困难。本发明因此而来。
发明内容
本发明目的在于提供一种基于OpenGL进行真实云景虚拟的方法,解决了现有技术中难以虚拟出具有真实感的三维实体云等问题。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种基于OpenGL进行真实云景虚拟的方法,其特征在于所述方法包括以下步骤:
(1)根据元胞自动机原理进行云景建模,设置每一个小元胞的状态参数,确定虚拟仿真的次数;
(2)初始化每一个小元胞的状态参数,按照云的形成公式形成云景,所述云的形成公式为:
Figure BDA00002045804100011
cld(i,j,k,ti+1)=cld(i,j,k,ti)∨act(i,j,k,ti);
Figure BDA00002045804100021
其中,cld(i,j,k,ti),hum(i,j,k,ti),act(i,j,k,ti)只有0,1两种情况,cld(i,j,k,it)=1表示在三维空间(i,j,k)处ti时刻存在云粒子,当为0时,则表示不存在;hum(i,j,k,ti)=1时表示在三维空间(i,j,k)处ti时刻湿度值已达到转化为云粒子的条件,当为0时,表示未具备此条件;act(i,j,k,ti)=1表示在三维空间(i,j,k)处ti时刻正处在由水蒸汽向云粒子转换的过程,当为0时,表示未有转化过程。
以上公式的含义为,ti时刻的云粒子由上一时刻(i,j,k)处是否有云粒子由激活因子cld(i,j,k,ti)决定;ti时刻的湿度值由上一时刻(i,j,k)处是否有湿度值hum(i,j,k,ti)和是否由激活因子转化决定;ti时刻的激活因子值由上一时刻是否已转化和是否有湿度并且受周围元胞影响,f(i,j,k)表示在周围元胞影响下的状态值,其表达如下:
f(i,j,k)=act(i+1,j,k,ti)∨act(i,j+1,k,ti)∨act(i,j,k+1,ti)∨act(i-2,j,k,ti)
∨act(i,j-2,k,ti)∨act(i+2,j,k,ti)∨act(i,j+2,k,ti)∨act(i,j,k-2,ti)
∨act(i-1,j,k,ti)∨act(i,j-1,k,ti)∨act(i,j,k-1,ti);
且云的形成公式(I)遵守以下原则:
i)当ti+1时刻的湿度值存在并且不存在激活因子时,ti+1时刻的湿度值才存在;
ii)当云粒子在ti时刻存在或当前云粒子处于激活状态,ti+1时刻的云粒子才存在;
iii)ti+1时刻的激活因子要被激活只有当前ti时刻的元胞中激活因子不存在,湿度存在并且同时f(i,j,k)返回为真时才能被激活;
(3)根据元胞是否存在变化的事件产生的情况进行形成的云景进行光照渲染处理,然后输出仿真虚拟的云景结果。
优选的,所述方法步骤(3)中云景进行光照渲染处理的步骤包括以下步骤:
S1)初始化云粒子后,通过密度连续函数计算每个元胞的连续密度;
S2)控制预定范围密度内的元胞,计算光照;
S3)对密度可见的元胞设置对应的密度纹理和透明值,并进行线性插值,进行初始光照处理;
S4)根据观察点和光源计算相位函数,同时将初始光照值、透明值一起通过单次散射函数计算最终光照颜色。
优选的,所述方法步骤(S3)中线性插值公式为:
Figure BDA00002045804100031
其中C表示待计算的云层颜色,C0,C1表示已经人为设定好的云层颜色,H,H0,H1分别代表已经人为设定好的云层高度值。
优选的,所述方法步骤(S4)中采用单向散射光照模型,计算光线穿过当前元胞后的出射亮度的公式为:
Ek=Sk+Tk·Ek-1(1≤k≤N);
其中Tk·Ek-1为从粒子发出的光分出的前一个粒子发出的光Ek-1穿过粒子后没有被损耗的部分;Sk是将来自其他方向的入射光散射到视点方向的部分;Sk的展开式为:
Sk=Ks·P(w,l)·Lk/4π;其中
其中Ks为散射系数,P(w,l)为视点方向w和入射方向l之间的相位函数,Lk为步骤(S3)中使用线性插值法求出的计算结果;该光线穿过当前元胞后的出射亮度作为光线方向上下一个元胞的入射光亮度。
优选的,所述方法还包括云景的消隐处理方法,所述云景设置有云的消散概率Pcld(i,j,k,ti)、成云概率Phum(i,j,k,ti)、蒸发概率Pact(i,j,k,ti),通过以下公式进行云景的消隐处理:
cld(i,j,k,ti+1)=cld(i,j,k,ti)∧IS(rnd>Pcld(i,j,k,ti);
act(i,j,k,ti+1)=act(i,j,k,ti)∨IS(rnd<Pact(i,j,k,ti);
hum(i,j,k,ti+1)=hum(i,j,k,ti)∨IS(rnd<Phum(i,j,k,ti)。
由上述原则可以看出,当Pcld(i,j,k,ti)大于产生的随机值时,时刻的云粒子设置为零,即下一步状态中不存在云粒子。这可以用来定义云常发生消逝和很少发生消逝的区域。
ti+1时刻act值由ti时刻的act值或者由Pact所决定。
ti+1时刻hum值为1,当ti时刻hum值为1或者随机值小于ti时刻的湿度随机概率因子Phum,这就避免了前面云形成规则中所产生的hum为0时,后面时刻hum值都为0的问题。
优选的,所述方法中当存在云粒子生成消隐的不规则性时,云粒子按照如下公式进行生成和消隐处理:
Figure BDA00002045804100041
Figure BDA00002045804100042
fhum(i,j,k,ti)=cld(i-1,j,k,ti)∨cld(i+1,j,k,ti)∨cld(i,j+1,k,ti)∨cld(i,j+1,k,ti)∨cld(i,j,k+1,ti)∨cld(i,j,k-1,ti);
其中ext(i,j,k,ti)表示消逝规则,
Figure BDA00002045804100043
Figure BDA00002045804100045
Figure BDA00002045804100046
优选的,所述方法还包括元胞采用元球密度连续方法,首先获取元胞中心密度:
q ( i , j , k , t i ) = 1 N × Σ l , m , n ∈ Ω ( x l , m , n ) N cld ( x l , m , n )
其中cld是离散密度值,xl,m,n表示元胞(l,m,n)的坐标,是元球内满足
Figure BDA00002045804100053
关系的元胞集合,N是单元球内元胞的个数,R是用户根据实际情况来指定;计算出单元球的中心密度值后,根据以下公式计算出在某个时刻云层的连续密度:
ρ ( x , t i ) = Σ i , j , k ∈ Ω ( x , R ) N q ( i , j , k , t i ) f ( | x - x i , j , k | )
其中Ω(x,R)是设定的圆心为x,半径为R的范围内所有元胞的集合。
相对于现有技术中的方案,本发明的优点是:
本发明技术方案可以得到真实感强烈的虚拟云景,而且云景的动态变化更具可控性,增加了云景真实感。对光照模式进行简化,减少了计算机量,保证实时性。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为基于OpenGL进行真实云景虚拟的方法的流程示意图;
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
如图1所示,本发明基于OpenGL的云景真实感建模与渲染方法具体按照如下步骤进行:
1、云景建模
1.1元胞自动机的变化规则
对基于元胞自动机的云景建模来说,这是一种基于时间,状态过程的建模方法;对于云景效果来说,一般使用的方法是为每一个小元胞设置三种状态:cld(云粒子)、hum(湿度值)、act(激活因子)
其中cld代表云粒子,当cld逻辑变量设为1时,即当前状态中存在云粒子。hum代表当前状态下的湿度值,按照所定义的规则,只有当达到足够湿度时,才有可能形成云粒子。act代表激活因子,该变量由人为手工设定,表示当前状态下,是否进行云粒子的形成过程,需要注意的是,该变量只有当hum变量设定之后才能设定。
云的形成基本公式如下:
Figure BDA00002045804100061
cld(i,j,k,ti+1)=cld(i,j,k,ti)∨act(i,j,k,ti);
这些公式定义了基本的云的基本形成规则:
1.当ti+1时刻的湿度值存在并且不存在激活因子时,ti+1时刻的湿度值才存在。
2.当云粒子在ti时刻存在或当前云粒子处于激活状态,ti+1时刻的云粒子才存在,这意味着在当前状态下已经具备由水蒸汽变化为云的基本条件。
3.ti+1时刻的激活因子相对复杂一些,ti+1时刻的激活因子要被激活只有当前ti时刻的元细胞中激活因子不存在,湿度存在并且同时f(i,j,k)返回为真时才能被激活。
f(i,j,k)表示在周围元胞影响下的状态值,主要受到周围act值的影响,
f(i,j,k)=act(i+1,j,k,ti)∨act(i,j+1,k,ti)∨act(i,j,k+1,ti)∨
∨act(i-2,j,k,ti)∨act(i,j-2,k,ti)∨act(i+2,j,k,ti)
∨act(i,j+2,k,ti)∨act(i,j,k-2,ti)
act(i-1,j,k,ti)∨act(i,j-1,k,ti)∨act(i,j,k-1,ti)
在以上的规则中,存在一个明显的问题,当某一个元胞存在云粒子时,他将始终存在,
当某一个元胞没有水蒸气值时,他将始终不存在,这带来的是,在变化发生一段时间后,在整个元胞空间中,将充满云粒子,同时也反应出水蒸气可以从无到有的物理过程。
为了解决上面提出的问题,所以在云的形成规则结束之后,同时也需要定义云的消隐规则,最简单直接的方法是加入概率因子来解决:
cld(i,j,k,ti+1)=cld(i,j,k,ti)∧IS(rnd>Pcld(i,j,k,ti);
act(i,j,k,ti+1)=act(i,j,k,ti)∨IS(rnd<Pact(i,j,k,ti);
hum(i,j,k,ti+1)=hum(i,j,k,ti)∨IS(rnd<Phum(i,j,k,ti)。
Pcld(i,j,k,ti)、Phum(i,j,k,ti)、Pact(i,j,k,ti)分别是云的消散概率、成云概率、蒸发概率,这是是预先设置好的,可以通过改变概率的大小、有无来控制云产生和运动的区域和强弱变化:消散概率为1的区域中永远不会产生云,消散概率的分布也影响着云在区域中的分布,因此云的形状和密度分布可以用消散概率进行控制。
以上是现有的模型中提出的变化规则,在加入随机变量后,虽然解决了消隐的问题,带同时带来了另外的问题,因为变化的规则是随机的,在云景变化过程中,会出现云粒子生成消隐的不规则性,这种变化发生在整个元胞空间中。
在实际的云中,在视觉上,他的生成和消逝发生云的边界区域,云粒子的消逝其实对应的是水蒸气的生成,同时生成和消逝过程基本是在一个平衡的状态下进行,在现有的规则中,未做到这点。
这里重新给出云粒子的生成和消隐规则,使其保证上述情况:
Figure BDA00002045804100071
其中ext(i,j,k,ti)表示消逝规则,主要用于控制消逝的区域,其规则如下:
Figure BDA00002045804100072
Figure BDA00002045804100073
Figure BDA00002045804100074
Figure BDA00002045804100081
Figure BDA00002045804100082
使用fext(i,j,k)来控制变化过程只发生在边界,Pext(i,j,k,ti)控制变化发生的频率;
Figure BDA00002045804100085
使变化过程不是突变性。
Figure BDA00002045804100086
fhum(i,j,k,ti)=cld(i-1,j,k,ti)∨cld(i+1,j,k,ti)∨cld(i,j+1,k,ti)
∨cld(i,j+1,k,ti)∨cld(i,j,k+1,ti)∨cld(i,j,k-1,ti)
同样fhum(i,j,k,ti)控制水蒸气模拟态只发生在云体的边缘部分,Act没有变化。
1.2密度连续
由于元胞自动机是一个离散模型,但云具有密度连续的特征,所以需要对云粒子进行密度平滑处理,这直接影响真实感。
本文使用元球密度连续方法,首先获取元胞中心密度:
q ( i , j , k , t i ) = 1 N × Σ l , m , n ∈ Ω ( x l , m , n ) N cld ( x l , m , n )
公式中cld是离散密度值,xl,m,n表示元胞(l,m,n)的坐标,
Figure BDA00002045804100088
是元球内满足
Figure BDA00002045804100089
关系的元胞集合,N是单元球内元胞的个数,R是用户根据实际情况来指定的,在本文具体实现中,设置元胞的邻居半径r=1,因为采用摩尔型的邻居结构,所以包括元胞本身在内,邻居的总数为27个。
计算出单元球的中心密度值后,就可以计算出在某个时刻云层的连续密度,云的连续密度可表示为:
ρ ( x , t i ) = Σ i , j , k ∈ Ω ( x , R ) N q ( i , j , k , t i ) f ( | x - x i , j , k | )
其中Ω(x,R)是设定的圆心为x,半径为R的范围内所有元胞的集合。在此范围内每个点的密度均可由每一个元球的密度与其对应的点处的权重值的乘积的和得到,单元球对此点的权值由Murakami函数计算得出。
元胞密度的不同,直接带来的是云粒子纹理和透明度的不同,密度越大,透明度越低,在光照的散射计算中,会有直接影响。
2、光照渲染
2.1线性插值
在一定厚度的云层中,由于光线到达处于云层相对偏下位置的云粒子所经过的路径要比到达相对偏上位置的云粒子要长,经过的云粒子越多,光线的强度消耗越大,因此,云的光照效果会出现上部比较亮,下部比较暗的效果,这也为用线性插值对云渲染做初始处理提供了依据。
对于颜色等级的划分,采用插值计算:
C = C 0 + ( C 1 - C 0 ) H - H 0 H 1 - H 0
其中C表示待计算的云层颜色,C0,C1表示已经人为设定好的云层颜色,H,H0,H1分别代表他们的高度值。由于本文采用元胞自动机的方法,云层的高度即为划分为三维网格的立方体的高度。
2.2单次散射
单向散射是指光线仅由物质媒介的单个粒子散射一次,便直接射到投影平面。其假设所有的粒子都直接暴露在光线照射下,沿视线方向模拟粒子的散射效果,计算量不高,是对云光照渲染的简化模型。
天空的光线沿着视线方向穿过云层经过一系列的衰减到达当前粒子,以及视线方向上其他的粒子发出的光经过云层的衰减对当前粒子的影响,这两种作用形成了眼睛看到的云表面粒子的颜色和亮度。
Harris提出的单向散射光照模型:
Ek=Sk+Tk·Ek-1(1≤k≤N)
该式将从粒子发出的光分为两部分:一是前一个粒子发出的光Ek-1穿过粒子后没有被损耗的部分Tk·Ek-1;二是将来自其他方向的入射光散射到视点方向的部分Sk。其展开式为:
Sk=Ks·P(w,l)·Lk/4π;
其中Ks为散射系数,P(w,l)为视点方向w和入射方向l之间的相位函数,Lk为第一步使用线性插值法求出的计算结果。按照此公式计算出光线穿过当前元胞后的出射亮度,并将其作为光线方向上下一个元胞的入射光亮度。
云景的动态变化更具可控性,增加了云景真实感。
对光照模式进行简化,减少了计算机量,保证实时性。
在事件处理中,主要是光照渲染的处理,主要的光照渲染流程包括:
Step1:初始化云粒子后,通过密度连续函数计算每个元胞的连续密度。
Step2:控制一定范围的密度内的元胞,计算光照(本文范围是1-27)
Step3:对密度可见的元胞设置对应的密度纹理和透明值,并进行线性插值,初始光照。
Step4:根据观察点和光源计算相位函数,同时将和初始光照值,透明值一起通过单次散射函数计算最终光照颜色
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种基于OpenGL进行真实云景虚拟的方法,其特征在于所述方法包括以下步骤:
(1)根据元胞自动机原理进行云景建模,设置每一个小元胞的状态参数,确定虚拟仿真的次数;
(2)初始化每一个小元胞的状态参数,按照云的形成公式形成云景,所述云的形成公式为:
Figure FDA00002045804000011
cld(i,j,k,ti+1)=cld(i,j,k,ti)∨act(i,j,k,ti);
Figure FDA00002045804000012
其中,cld(i,j,k,ti),hum(i,j,k,ti),act(i,j,k,ti)只有0,1两种情况,cld(i,j,k,it)=1表示在三维空间(i,j,k)处ti时刻存在云粒子,当为0时,则表示不存在;hum(i,j,k,ti)=1时表示在三维空间(i,j,k)处ti时刻湿度值已达到转化为云粒子的条件,当为0时,表示未具备此条件;act(i,j,k,ti)=1表示在三维空间(i,j,k)处ti时刻正处在由水蒸汽向云粒子转换的过程,当为0时,表示未有转化过程;f(i,j,k)表示在周围元胞影响下的状态值,其值为:
f(i,j,k)=act(i+1,j,k,ti)∨act(i,j+1,k,ti)∨act(i,j,k+1,ti)∨act(i-2,j,k,ti)
∨act(i,j-2,k,ti)∨act(i+2,j,k,ti)∨act(i,j+2,k,ti)∨act(i,j,k-2,ti);
∨act(i-1,j,k,ti)∨act(i,j-1,k,ti)∨act(i,j,k-1,ti)
且云的形成公式(I)遵守以下原则:
i)当ti+1时刻的湿度值存在并且不存在激活因子时,ti+1时刻的湿度值才存在;
ii)当云粒子在ti时刻存在或当前云粒子处于激活状态,ti+1时刻的云粒子才存在;
iii)ti+1时刻的激活因子要被激活只有当前ti时刻的元胞中激活因子不存在,湿度存在并且同时f(i,j,k)返回为真时才能被激活;
(3)根据元胞是否存在变化的事件产生的情况进行形成的云景进行光照渲染处理,然后输出仿真虚拟的云景结果。
2.根据权利要求1的方法,其特征在于所述方法步骤(3)中云景进行光照渲染处理的步骤包括以下步骤:
S1)初始化云粒子后,通过密度连续函数计算每个元胞的连续密度;
S2)控制预定范围密度内的元胞,计算光照;
S3)对密度可见的元胞设置对应的密度纹理和透明值,并进行线性插值,进行初始光照处理;
S4)根据观察点和光源计算相位函数,同时将初始光照值、透明值一起通过单次散射函数计算最终光照颜色。
3.根据权利要求1的方法,其特征在于所述方法步骤(S3)中线性插值公式为:
Figure FDA00002045804000021
其中C表示待计算的云层颜色,C0,C1表示已经人为设定好的云层颜色,H,H0,H1分别代表已经人为设定好的云层高度值。
4.根据权利要求3的方法,其特征在于所述方法步骤(S4)中采用单向散射光照模型,计算光线穿过当前元胞后的出射亮度的公式为:
Ek=Sk+Tk·Ek-1 (1≤k≤N);
其中Tk·Ek-1为从粒子发出的光分出的前一个粒子发出的光Ek-1穿过粒子后没有被损耗的部分;Sk是将来自其他方向的入射光散射到视点方向的部分;Sk的展开式为:
Sk=Ks·P(w,l)·Lk/4π;其中
Figure FDA00002045804000022
其中Ks为散射系数,P(w,l)为视点方向w和入射方向l之间的相位函数,Lk为步骤(S3)中使用线性插值法求出的计算结果;该光线穿过当前元胞后的出射亮度作为光线方向上下一个元胞的入射光亮度。
5.根据权利要求1的方法,其特征在于所述方法还包括云景的消隐处理方法,所述云景设置有云的消散概率Pcld(i,j,k,ti)、成云概率Phum(i,j,k,ti)、蒸发概率Pact(i,j,k,ti),通过以下公式进行云景的消隐处理:
cld(i,j,k,ti+1)=cld(i,j,k,ti)∧IS(rnd>Pcld(i,j,k,ti);
act(i,j,k,ti+1)=act(i,j,k,ti)∨IS(rnd<Pact(i,j,k,ti);
hum(i,j,k,ti+1)=hum(i,j,k,ti)∨IS(rnd<Phum(i,j,k,ti)。
6.根据权利要求1的方法,其特征在于所述方法中当存在云粒子生成消隐的不规则性时,云粒子按照如下公式进行生成和消隐处理:
Figure FDA00002045804000031
Figure FDA00002045804000032
fhum(i,j,k,ti)=cld(i-1,j,k,ti)∨cld(i+1,j,k,ti)∨cld(i,j+1,k,ti)∨cld(i,j+1,k,ti)∨cld(i,j,k+1,ti)∨cld(i,j,k-1,ti);
其中ext(i,j,k,ti)表示消逝规则,
Figure FDA00002045804000033
Figure FDA00002045804000034
Figure FDA00002045804000035
7.根据权利要求1的方法,其特征在于所述方法还包括元胞采用元球密度连续方法,首先获取元胞中心密度:
q ( i , j , k , t i ) = 1 N × Σ l , m , n ∈ Ω ( x l , m , n ) N cld ( x l , m , n )
其中cld是离散密度值,xl,m,n表示元胞(l,m,n)的坐标,
Figure FDA00002045804000038
是元球内满足
Figure FDA00002045804000039
关系的元胞集合,N是单元球内元胞的个数,R是用户根据实际情况来指定;计算出单元球的中心密度值后,根据以下公式计算出在某个时刻云层的连续密度:
ρ ( x , t i ) = Σ i , j , k ∈ Ω ( x , R ) N q ( i , j , k , t i ) f ( | x - x i , j , k | )
其中Ω(x,R)是设定的圆心为x,半径为R的范围内所有元胞的集合。
CN2012103009028A 2012-08-23 2012-08-23 基于OpenGL进行真实云景虚拟的方法 Pending CN102867326A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103009028A CN102867326A (zh) 2012-08-23 2012-08-23 基于OpenGL进行真实云景虚拟的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103009028A CN102867326A (zh) 2012-08-23 2012-08-23 基于OpenGL进行真实云景虚拟的方法

Publications (1)

Publication Number Publication Date
CN102867326A true CN102867326A (zh) 2013-01-09

Family

ID=47446182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103009028A Pending CN102867326A (zh) 2012-08-23 2012-08-23 基于OpenGL进行真实云景虚拟的方法

Country Status (1)

Country Link
CN (1) CN102867326A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105869106A (zh) * 2016-04-27 2016-08-17 中国电子科技集团公司第二十八研究所 一种改进的三维实体云绘制方法
CN106600705A (zh) * 2016-12-12 2017-04-26 福州众衡时代信息科技有限公司 在vr中关于虚拟环境和真实环境相互模拟的方法
CN111968214A (zh) * 2020-07-29 2020-11-20 完美世界(北京)软件科技发展有限公司 一种体积云渲染方法、装置、电子设备及存储介质
CN112132945A (zh) * 2020-11-24 2020-12-25 江苏普旭软件信息技术有限公司 一种高清云渲染方法
CN114676568A (zh) * 2022-01-17 2022-06-28 中国地质大学(北京) 一种基于元胞自动机的区域地质构造演化方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
戴玺: "基于GPU的实时云景渲染技术的实现", 《万方数据 计算机应用技术》 *
许函: "基于粒子系统的动态云的实时模拟", 《万方数据 计算机应用技术》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105869106A (zh) * 2016-04-27 2016-08-17 中国电子科技集团公司第二十八研究所 一种改进的三维实体云绘制方法
CN106600705A (zh) * 2016-12-12 2017-04-26 福州众衡时代信息科技有限公司 在vr中关于虚拟环境和真实环境相互模拟的方法
CN111968214A (zh) * 2020-07-29 2020-11-20 完美世界(北京)软件科技发展有限公司 一种体积云渲染方法、装置、电子设备及存储介质
CN111968214B (zh) * 2020-07-29 2024-04-19 完美世界(北京)软件科技发展有限公司 一种体积云渲染方法、装置、电子设备及存储介质
CN112132945A (zh) * 2020-11-24 2020-12-25 江苏普旭软件信息技术有限公司 一种高清云渲染方法
CN114676568A (zh) * 2022-01-17 2022-06-28 中国地质大学(北京) 一种基于元胞自动机的区域地质构造演化方法及装置
CN114676568B (zh) * 2022-01-17 2022-09-23 中国地质大学(北京) 一种基于元胞自动机的区域地质构造演化方法及装置

Similar Documents

Publication Publication Date Title
CN102855400B (zh) 一种基于投影网格的海洋表面建模及实时光照方法
CN102243770B (zh) 一种基于osg的虚拟海战场真实感图形快速绘制方法
CN102867326A (zh) 基于OpenGL进行真实云景虚拟的方法
CN103186906A (zh) 一种海天背景下多类目标的红外动态场景实时仿真方法
Zhao et al. Voxels on fire [computer animation]
Chen et al. Real-time simulation of dust behavior generated by a fast traveling vehicle
KR20050042916A (ko) 입자동역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법
CN104574518B (zh) 具有丰富细节的大规模海洋场景半物理绘制方法
KR20050044147A (ko) 연속체 유체역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법
CN115906703A (zh) 一种用于实时交互应用的gpu流体仿真方法
CN104299262B (zh) 一种基于速度场流线的三维云模拟方法
CN105303601A (zh) 一种基于粒子系统的喷泉模拟实现方法
CN103886636B (zh) 基于光线投射步进补偿的实时烟雾渲染算法
CN102867325B (zh) 植物叶片病斑渲染方法
Chen et al. Real-time continuum grass
Hailong et al. Real-time Simulation of Dynamic Clouds Based On Cellular Automata
Ma et al. Real-time ocean wave motion simulation based on statistic model and GPU programming
Patrick et al. Extending space colonization tree modeling for artistic control and environmental interactions
Nishidate et al. Fast water animation using the wave equation with damping
Álvarez et al. Interactive cartoon rendering and sketching of clouds and smoke
Tian Ocean wave simulation by the mix of FFT and Perlin Noise
Backes et al. Real-Time Massive Terrain Generation using Procedural Erosion on the GPU
Luo et al. GPU-based real-time virtual reality modeling and simulation of seashore
Liu et al. scheme of dynamic clouds generation for 3d real time flight simulation
de Lima et al. A model for real time ocean breaking waves animation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130109