当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于气象数据的体积云建模、渲染方法技术

技术编号:37802866 阅读:11 留言:0更新日期:2023-06-09 09:33
本发明专利技术提出了一种基于气象数据的体积云建模、渲染方法,其中包括云底高度、云顶高度、覆盖率、云底类型、云顶类型这五个数据字段,首先云的数据结构构建基本、体积云的深度值、采用光线步进算法、渲染场景进行混合和根据不同区域的云的疏密程度完全由噪声参数控制,叠加不同频率的Perlin噪声和Worley噪声保存为三维纹理,用来进行体积云的建模,形状噪声纹理使用分形Perlin

【技术实现步骤摘要】
一种基于气象数据的体积云建模、渲染方法


[0001]本专利技术涉及体积云建模和渲染
,具体为一种基于气象数据的体积云建模、渲染方法。

技术介绍

[0002]对体积云进行建模即是要构建体积云的密度场,计算出空间中任意一点的云的密度值。目前主流的做法一般是借助3D纹理来存储云的密度信息,3D纹理中可以直接存储云的密度值、可以存储距离场信息、也可以存储烘焙的光照信息等,具体做法多种多样,视需求而定。
[0003]本文主要介绍实时的天空体积云建模方法,目前PC/主机端比较主流的做法都是基于噪声纹理进行程序化建模,然后配合一些美术资源来做出更加丰富的形态和表现效果。使用何种形式的噪声纹理和美术资源也有很多种做法,像是地平线、荒野大镖客2、寒霜等分享的方法都很值得参考,UE4里面甚至直接使用了Material Graph,将建模方式完全开放给美术/TA来做,这种方法虽然很灵活,但是性能上不太易于进行控制和优化,纠结了很久还是暂时没有采用这种做法。
[0004]其中申请号为“CN202111589721.7”所公开的“一种基于地基云图的三维云场景建模与可视化方法”也是日益成熟的技术,其“由CPU从二维的地基云图中提取积云图像区域,计算云基高度和云团厚度作为三维积云建模的参数。根据上述两种参数确定构成积云模型的所有体素中心点的位置信息,作为顶点阵列传入GPU,在GPU的几何着色器阶段根据顶点阵列绘制所有积云体素,最后进入GPU的片段着色器阶段,根据每个体素与云团中心点的距离确定云的密度值,根据密度值计算体素的颜色从而实现三维云场景建模和可视化一体化。本专利技术以体素作为最小几何单位,基于GPU构建三维积云模型并在三维场景中实现可视化,提高了三维积云建模的效率,同时满足在三维地理场景中流畅漫游的需求”,但是该种农业生产溯源系统在实际使用过程中,还存在以下缺陷:
[0005]现有技术方式无法对体积云进行构建基础,从而无法进行构建出体积云的密度场,渲染的精准度有限,获取体积云的真实性效果较差。

技术实现思路

[0006]本专利技术的目的在于提供一种基于气象数据的体积云建模、渲染方法,以解决上述
技术介绍
提出的无法对体积云进行构建基础,从而无法进行构建出体积云的密度场,渲染的精准度有限,获取得体积云的真实性效果较差的问题。
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于气象数据的体积云建模、渲染方法,构造体积云数据结构,其中包括云底高度、云顶高度、覆盖率、云底类型、云顶类型这五个数据字段;首先云的数据结构构建基本、体积云的深度值、采用光线步进算法、渲染场景进行混合和根据不同区域的云的疏密程度完全由噪声参数控制;
[0008]所述叠加不同频率的Perlin噪声和Worley噪声保存为三维纹理,用来进行体积云
的建模;
[0009]所述形状噪声纹理使用分形Perlin

Worley噪声,用于生成云的基本形状;细节噪声纹理使用分形Perlin噪声,用于对云的形状边缘进行侵蚀以添加细节;
[0010]所述体积云自阴影的分析制作。
[0011]优选的,所述根据体积云的数据结构构建基本的云层轮廓,再使用三维噪声来侵蚀以上的云层轮廓,给云层增加细节,得到体积云的密度场。
[0012]优选的,所述获取待显示场景各个像素的深度值以及体积云的深度值,对比决定每个像素是否被云层遮挡,若该像素未被云层遮挡,则直接显示该像素本来的颜色。
[0013]优选的,所述采用光线步进算法,获得虚拟摄像机发出射线与云层表面的交点作为起始点,若视点位于云中,则采用结构化采样法,将视点位置作为起始点,由起始点开始沿着射线方向步进,在密度场中获取采样点的浓度。
[0014]优选的,所述根据自遮挡阴影和采样点的云浓度求解光照模型,得到体积云的最终透明度和颜色,并与待渲染场景进行混合。
[0015]优选的,所述根据不同区域的云的疏密程度完全由噪声参数控制,如果美术需要场景中同时有不同类型的云,或者需要能够自由控制云的疏密程度。
[0016]优选的,所述对于形状比较复杂的积雨云,需要结合Cloud Lut在Cloud Type的0.5~1.0之间进行过渡(这样当然也能做),即根据高度给噪声不同的覆盖率和侵蚀度,高处的云覆盖率低且噪声侵蚀度高,低处的云覆盖率高且噪声侵蚀度低。
[0017]优选的,所述体积云自阴影的做法主要有两种:
[0018]第一种方法比较常见,所述做法是每个采样点向光源方向再做一次RayMarching(PC/主机端)来计算transmittance,在采样步数够多的情况下效果也较好,但显然开销会比较大;
[0019]第二种方法是体积阴影映射,所述使用UE4的Beer's Shadow Map,以及更复杂一点的Transmittance Fucntion Mapping方法(目前只看到最终幻想中用过类似方法),Transmittance Fucntion Mapping方法的原理是使用一系列正交基函数来近似透射率函数。
[0020]与现有技术相比,本专利技术的有益效果是:
[0021]在进行体积云建模时,根据云层覆盖率数据和云层类型数据构建云层的基本形状,并叠加使用多种不同频率的噪声来添加细节,由此构建出体积云的密度场,在进行体积云渲染时,使用光线步进方法来计算单个像素的累计浓度和光照遮蔽,求解光照模型得到体积云最终的颜色和透明度,再与场景进行混合,针对不同的使用场景采用了不同的采样方法,实现了视点静止时的极具真实感的体积云,以及运动状态下与体积云的穿云交互,该技术方案不仅能体现由真实数据驱动的云层姿态,还使用了较低的渲染成本获得了真实性较高的体积云效果。
附图说明
[0022]图1是本专利技术的体积云构建渲染方法流程图。
[0023]图2是本专利技术的高度分布图。
[0024]图3是本专利技术的低频PerlinWorley噪声和频率依次提高的Worley噪声图。
[0025]图4是本专利技术的使用三维噪声增加了体积云细节图。
[0026]图5是本专利技术的结构化采样示意图流程图。
具体实施方式
[0027]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。
[0028]通常在此处附图中描述和显示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。
[0029]基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于气象数据的体积云建模、渲染方法,构造体积云数据结构,其中包括云底高度、云顶高度、覆盖率、云底类型、云顶类型这五个数据字段;首先云的数据结构构建基本、体积云的深度值、采用光线步进算法、渲染场景进行混合和根据不同区域的云的疏密程度完全由噪声参数控制;所述叠加不同频率的Perlin噪声和Worley噪声保存为三维纹理,用来进行体积云的建模;所述形状噪声纹理使用分形Perlin

Worley噪声,用于生成云的基本形状;细节噪声纹理使用分形Perlin噪声,用于对云的形状边缘进行侵蚀以添加细节;所述体积云自阴影的分析制作。2.根据权利要求1所述的一种基于气象数据的体积云建模、渲染方法,其特征在于:所述根据体积云的数据结构构建基本的云层轮廓,再使用三维噪声来侵蚀以上的云层轮廓,给云层增加细节,得到体积云的密度场。3.根据权利要求1所述的一种基于气象数据的体积云建模、渲染方法,其特征在于:所述获取待显示场景各个像素的深度值以及体积云的深度值,对比决定每个像素是否被云层遮挡,若该像素未被云层遮挡,则直接显示该像素本来的颜色。4.根据权利要求1所述的一种基于气象数据的体积云建模、渲染方法,其特征在于:所述采用光线步进算法,获得虚拟摄像机发出射线与云层表面的交点作为起始点,若视点位于云中,则采用结构化采样法,将视点位置作为起始点,由起始点开始沿着射线方向步进,在密度场中获取采样点的浓度。对于每个浓度大于0的采样点,向光照方向再进行一次光线步进算法,计算体积云自遮挡阴影。5.根据权利要求1所述的一种基于气象数据的体积云建模、渲染方法,其特征在于:所述根据自遮挡阴影和采样点的云浓度求解光照模型,得到体积云的最终透明度和颜色,并与待渲染场景进行混合。6.根据权利要求1所述的一种基于气象数据的体积云建模、渲染方法,其特征在于:所述根据不同区...

【专利技术属性】
技术研发人员:林晓颖李辉
申请(专利权)人:四川大学
类型:发明
国别省市:

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

1