星空模拟方法、星空模拟装置、计算机设备及介质制造方法及图纸

技术编号:33533242 阅读:17 留言:0更新日期:2022-05-19 02:08
本发明专利技术实施例公开了一种星空模拟方法、星空模拟装置、计算机设备及介质。方法包括:在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点;对预设球面模型上的每个预设球面点计算距离最近的星点,将距离最近的星点参数信息作为对应的像素点的像素信息,并根据每个球面点的第二位置参数及像素信息生成第一贴图,其中,预设球面模型上的预设球面点与第一贴图上的像素点一一对应;利用着色器读取第一贴图,得到第一目标星点的星点参数信息;根据第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据第一目标星点的位置信息和目标星圆的星圆参数信息进行渲染得到目标星圆,以实现星空模拟。本发明专利技术的方法增加了星空真实感。增加了星空真实感。增加了星空真实感。

【技术实现步骤摘要】
星空模拟方法、星空模拟装置、计算机设备及介质


[0001]本专利技术涉及场景模拟
,尤其涉及一种星空模拟方法、星空模拟装置、计算机设备及介质。

技术介绍

[0002]在目前的游戏中,通常会结合不同的天气和时间生成不同的场景。例如,晚上的场景中会有星空。
[0003]现有的星空场景通过着色器将预设贴图像贴瓷砖一样平铺显示到星空模型上得到,用户能看出来不同区域的星点具有一定的重复性。但由于真实的星空中,不同片区的星星布局都是不一样的,因此,现有的星空模型方法模拟的星空具有重复性,不真实。

技术实现思路

[0004]有鉴于此,本申请实施例的目的是提供一种星空模拟方法、星空模拟装置、计算机设备及介质,能够解决现有星空模型方法模拟的星空不真实的问题。
[0005]为了解决上述技术问题,本申请是这样实现的:
[0006]第一方面,本申请实施例提供了一种星空模拟方法,包括:
[0007]在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,其中,每个所述星点通过星点参数信息表示,所述星点参数信息包括第一位置参数和噪声值;
[0008]对所述预设球面模型上的每个预设球面点计算距离最近的星点,将所述距离最近的星点参数信息作为对应的像素点的像素信息,并根据每个球面点的第二位置参数及所述像素信息生成第一贴图,其中,所述预设球面模型上的预设球面点与所述第一贴图上的像素点一一对应;
[0009]利用着色器读取所述第一贴图,得到第一目标星点的星点参数信息;
>[0010]根据所述第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据所述第一目标星点的位置信息和所述目标星圆的星圆参数信息进行渲染得到目标星圆,以实现星空模拟,其中,所述目标星圆的星圆参数信息包括星圆半径及目标星圆中每个目标球面点的颜色信息。
[0011]根据本申请公开的一种具体实施方式,所述在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,包括:
[0012]在预设球面模型上,根据预设星点密度值以及第一贴图的预设大小随机生成预设数量的星点。
[0013]根据本申请公开的一种具体实施方式,所述方法还包括:
[0014]每生成一个新的星点,判断所述新的星点与已生成的星点的距离是否小于等于预设距离阈值;
[0015]若是,则删除所述新的星点。
[0016]根据本申请公开的一种具体实施方式,所述在预设球面模型上,基于预设规则随
机生成预设数量的球面点对应的星点,包括:
[0017]对预设恒星数据进行抽样,得到预设数量的恒星数据;
[0018]在预设球面模型上,根据所述恒星数据随机生成预设数量的星点。
[0019]根据本申请公开的一种具体实施方式,所述利用着色器读取所述第一贴图,得到第一目标星点的星点参数信息,包括:
[0020]在所述预设球面模型上,确定目标区域,其中,所述目标区域包括第一目标星点;
[0021]利用着色器读取所述第一贴图中所述目标区域对应的部分,得到第一目标星点的星点参数信息。
[0022]根据本申请公开的一种具体实施方式,所述根据所述第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据所述第一目标星点的位置信息和所述目标星圆的星圆参数信息进行渲染得到目标星圆,实现星空模拟,包括:
[0023]根据每个目标球面点的位置信息,确定所述目标球面点在第一贴图中对应的目标像素点;
[0024]根据每个所述目标像素点的像素信息,计算每个目标球面点与对应的最近的星点之间的距离;
[0025]若所述距离大于预设星圆半径阈值,则将所述目标球面点的颜色信息设置为第一预设颜色信息;
[0026]若所述距离小于等于预设星圆半径阈值,计算所述第一目标星点对应的目标星圆的星圆半径;
[0027]若所述距离大于所述星圆半径,则将所述目标球面点的颜色信息设置为第一预设颜色信息;
[0028]若所述距离小于等于所述星圆半径,则将所述目标球面点的颜色信息设置为初始颜色,其中,所述初始颜色为第二预设颜色信息乘以所述噪声值;
[0029]根据所述噪声值及预设公式得到变化值,并乘以所述初始颜色,得到所述目标球面点的颜色信息,并根据所述颜色信息渲染所述目标球面点,以得到目标星圆并实现星空模拟。
[0030]根据本申请公开的一种具体实施方式,所述方法还包括:
[0031]对于所述距离小于等于所述星圆半径的每个目标球面点,若所述目标球面点的颜色信息小于预设颜色信息阈值,则将所述目标球面点的颜色信息更改为所述预设颜色信息阈值。
[0032]根据本申请公开的一种具体实施方式,所述方法还包括:
[0033]根据smoothstep函数及所述距离,对所述目标星圆中每个目标球面点的颜色信息进行处理。
[0034]根据本申请公开的一种具体实施方式,所述方法还包括:
[0035]在预设星座图像中,提取预设星座中每个星点的坐标,生成第二贴图;
[0036]利用着色器读取所述第二贴图,得到第二目标星点的位置信息;
[0037]将与所述第二目标星点的距离小于预设距离阈值的所述第一目标星点替换为所述第二目标星点。
[0038]第二方面,本申请实施例提供了一种星空模拟装置,包括:
[0039]星点生成模块,用于在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,其中,每个所述星点通过星点参数信息表示,所述星点参数信息包括第一位置参数和噪声值;
[0040]贴图生成模块,用于对所述预设球面模型上的每个预设球面点计算距离最近的星点,将所述距离最近的星点参数信息作为对应的像素点的像素信息,并根据每个球面点的第二位置参数及所述像素信息生成第一贴图,其中,所述预设球面模型上的预设球面点与所述第一贴图上的像素点一一对应;
[0041]读取模块,用于利用着色器读取所述第一贴图,得到第一目标星点的星点参数信息;
[0042]渲染模块,用于根据所述第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据所述第一目标星点的位置信息和所述目标星圆的星圆参数信息进行渲染得到目标星圆,以实现星空模拟,其中,所述目标星圆的星圆参数信息包括星圆半径及目标星圆中每个目标球面点的颜色信息。
[0043]第三方面,本申请实施例提供了一种计算机设备,包括处理器和存储器,所述存储器上存储有程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0044]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0045]本申请的上述实施例提供的星空模拟方法、星空模拟装置、计算机设备及介质,每个星点的星点参数信息都是随机生成的,从而使得星圆的星圆参数信息同样是随机的。这样,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种星空模拟方法,其特征在于,包括:在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,其中,每个所述星点通过星点参数信息表示,所述星点参数信息包括第一位置参数和噪声值;对所述预设球面模型上的每个预设球面点计算距离最近的星点,将所述距离最近的星点参数信息作为对应的像素点的像素信息,并根据每个球面点的第二位置参数及所述像素信息生成第一贴图,其中,所述预设球面模型上的预设球面点与所述第一贴图上的像素点一一对应;利用着色器读取所述第一贴图,得到第一目标星点的星点参数信息;根据所述第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据所述第一目标星点的位置信息和所述目标星圆的星圆参数信息进行渲染得到目标星圆,以实现星空模拟,其中,所述目标星圆的星圆参数信息包括星圆半径及目标星圆中每个目标球面点的颜色信息。2.根据权利要求1所述的星空模拟方法,其特征在于,所述在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,包括:在预设球面模型上,根据预设星点密度值以及第一贴图的预设大小随机生成预设数量的星点。3.根据权利要求2所述的星空模拟方法,其特征在于,所述方法还包括:每生成一个新的星点,判断所述新的星点与已生成的星点的距离是否小于等于预设距离阈值;若是,则删除所述新的星点。4.根据权利要求1所述的星空模拟方法,其特征在于,所述在预设球面模型上,基于预设规则随机生成预设数量的球面点对应的星点,包括:对预设恒星数据进行抽样,得到预设数量的恒星数据;在预设球面模型上,根据所述恒星数据随机生成预设数量的星点。5.根据权利要求1所述的星空模拟方法,其特征在于,所述利用着色器读取所述第一贴图,得到第一目标星点的星点参数信息,包括:在所述预设球面模型上,确定目标区域,其中,所述目标区域包括第一目标星点;利用着色器读取所述第一贴图中所述目标区域对应的部分,得到第一目标星点的星点参数信息。6.根据权利要求1所述的星空模拟方法,其特征在于,所述根据所述第一目标星点的星点参数信息,生成目标星圆的星圆参数信息,并根据所述第一目标星点的位置信息和所述目标星圆的星圆参数信息进行渲染得到目标星圆,以实现星空模拟,包括:根据每个目标球面点的位置信息,确定所述目标球面点在第一贴图中对应的目标像素点;根据每个所述目标像素点的像素信息,计算每个目标球面点与对应的最近的星点之间的距离;若所述距离大于预设星圆半径阈值,则将所述目标球面点的颜色信息设置为第一预设颜色信息;若所述距离小于等于预设星圆半径阈值,计算所述第一目标星点对应的目标星圆的星
圆半径;若所述距离大...

【专利技术属性】
技术研发人员:武佳浩
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

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

1