CN110706324B - 一种天气粒子渲染的方法及装置 - Google Patents

一种天气粒子渲染的方法及装置 Download PDF

Info

Publication number
CN110706324B
CN110706324B CN201910995675.7A CN201910995675A CN110706324B CN 110706324 B CN110706324 B CN 110706324B CN 201910995675 A CN201910995675 A CN 201910995675A CN 110706324 B CN110706324 B CN 110706324B
Authority
CN
China
Prior art keywords
height
weather
data
game scene
value
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.)
Active
Application number
CN201910995675.7A
Other languages
English (en)
Other versions
CN110706324A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910995675.7A priority Critical patent/CN110706324B/zh
Publication of CN110706324A publication Critical patent/CN110706324A/zh
Application granted granted Critical
Publication of CN110706324B publication Critical patent/CN110706324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本申请提供了一种天气粒子渲染的方法及装置,其中,该方法包括:获取构成游戏场景的各个多边形网格中,各个多边形网格的相应顶点的高度数据;基于各个多边形网格的相应顶点的高度数据,生成游戏场景的高度图;其中,高度图中每一个像素点的值,表示该像素点对应的位置在游戏场景中的高度值;对高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到游戏场景的高度二进制文件;响应于天气粒子的渲染信号,基于高度二进制文件渲染天气粒子,以在游戏场景中呈现天气粒子对应的天气情景。该方法能够在将天气粒子渲染至游戏场景中时,降低需要消耗的GPU计算资源。

Description

一种天气粒子渲染的方法及装置
技术领域
本申请涉及图像处理技术领域,具体而言,涉及一种天气粒子渲染的方法及装置。
背景技术
粒子渲染在三维渲染中常常用于实现虚拟场景中的一些大量不规则的物体,例如云、烟雾、灰尘、雨雪、飞沙走石、焰火等。以雨滴天气粒子为例,每一个雨滴都会被视作一个粒子,并在其位于虚拟摄像机的可视范围内时,被渲染在对应的显示画面中,以实现虚拟天气场景的显示。
当前在游戏中对天气粒子进行渲染时,首先根据天气粒子的发射方向、以及虚拟摄像机的当前位置,基于生成实时阴影的技术shadowmap方法实时生成游戏场景的深度图,然后基于该实时生成的深度图实现天气粒子的渲染。
这种天气粒子渲染的方法造成对GPU的计算资源消耗较大。
发明内容
有鉴于此,本申请实施例的目的在于提供一种天气粒子渲染的方法及装置,能够在将天气粒子渲染至游戏场景中时,降低需要消耗的GPU计算资源。
第一方面,本申请实施例提供了一种天气粒子渲染的方法,所述方法包括:
获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景。
一种可选的实施方式中,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还包括:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
一种可选的实施方式中,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
一种可选的实施方式中,所述对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,包括:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个所述颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
一种可选的实施方式中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的所述高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型上渲染与所述天气粒子对应的天气效果。
一种可选的实施方式中,所述角色位置信息包括:所述目标游戏角色的模型在所述游戏场景中的位置坐标值;
所述基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据,包括:
基于所述目标游戏角色的模型在所述游戏场景中的位置坐标值,从所述二进制文件中,确定对应的坐标值与所述位置坐标值最接近的采样点;
将确定的采样点对应的高度二进制数据确定为与所述角色位置信息对应的高度二进制数据。
一种可选的实施方式中,所述角色位置信息包括:目标游戏角色的模型的第一即时高度信息;
所述基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度值附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内,包括:
将所述第一即时高度值与所述第一高度附加值的和,与所述第一场景高度最大值进行比对;
若所述第一即时高度值与所述第一高度附加值的和,大于所述第一场景高度最大值,则确定所述目标游戏角色的模型未位于虚拟建筑模型内;
若所述第一即时高度值与所述第一高度附加值的和,小于所述第一场景高度最大值,则确定所述目标游戏角色的模型位于虚拟建筑模型内。
一种可选的实施方式中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
一种可选的实施方式中,所述对位于虚拟建筑模型内的天气粒子进行剔除处理,包括:
根据所述虚拟摄像机所在的所述虚拟建筑模型的类型,确定与所述类型对应的粒子剔除方式;
基于确定的所述粒子剔除方式对位于所述虚拟建筑模型内的天气粒子进行剔除处理。
一种可选的实施方式中,所述虚拟建筑模型的类型为全封闭型或半封闭型;
其中,当所述虚拟建筑模型的类型为全封闭型时,所述粒子剔除方式包括:包围盒剔除方式;
当所述虚拟建筑模型的类型为半封闭型时,所述粒子剔除方式包括:模版stencil绘制。
一种可选的实施方式中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在所述游戏场景中。
一种可选的实施方式中,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
第二方面,本申请实施例还提供一种天气粒子渲染的装置,所述装置包括:
获取模块,用于获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
生成模块,用于基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
转化模块,用于对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
渲染模块,用于响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景。
一种可选的实施方式中,所述生成模块,基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还用于:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述生成模块,在基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图时,具体用于:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
一种可选的实施方式中,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
一种可选的实施方式中,所述转化模块,在对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件时,具体用于:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个所述颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
一种可选的实施方式中,所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的所述高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型上渲染与所述天气粒子对应的天气效果。
一种可选的实施方式中,所述角色位置信息包括:所述目标游戏角色的模型在所述游戏场景中的位置坐标值;
所述转化模块,在基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据时,具体用于:
基于所述目标游戏角色的模型在所述游戏场景中的位置坐标值,从所述二进制文件中,确定对应的坐标值与所述位置坐标值最接近的采样点;
将确定的采样点对应的高度二进制数据确定为与所述角色位置信息对应的高度二进制数据。
一种可选的实施方式中,所述角色位置信息包括:目标游戏角色的模型的第一即时高度信息;
所述渲染模块,在基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度值附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内时,具体用于:
将所述第一即时高度值与所述第一高度附加值的和,与所述第一场景高度最大值进行比对;
若所述第一即时高度值与所述第一高度附加值的和,大于所述第一场景高度最大值,则确定所述目标游戏角色的模型未位于虚拟建筑模型内;
若所述第一即时高度值与所述第一高度附加值的和,小于所述第一场景高度最大值,则确定所述目标游戏角色的模型位于虚拟建筑模型内。
一种可选的实施方式中,所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
一种可选的实施方式中,所述渲染模块,在对位于虚拟建筑模型内的天气粒子进行剔除处理时,具体用于:
根据所述虚拟摄像机所在的所述虚拟建筑模型的类型,确定与所述类型对应的粒子剔除方式;
基于确定的所述粒子剔除方式对位于所述虚拟建筑模型内的天气粒子进行剔除处理。
一种可选的实施方式中,所述虚拟建筑模型的类型为全封闭型或半封闭型;
其中,当所述虚拟建筑模型的类型为全封闭型时,所述粒子剔除方式包括:包围盒剔除方式;
当所述虚拟建筑模型的类型为半封闭型时,所述粒子剔除方式包括:模版stencil绘制。
一种可选的实施方式中,所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在游戏场景中。
一种可选的实施方式中,所述生成模块,在基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图时,具体用于:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
第三方面,本申请实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
本申请实施例通过获取构成所述游戏场景的各个多边形网格中,各个多边形网格的相应顶点的高度数据,并基于获取的高度数据生成所述游戏场景的高度图,后对高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,响应于天气粒子的渲染信号,基于所述高度二进制文件渲染天气粒子,以在游戏场景中呈现天气粒子对应的天气情景。在该过程中,由于一个游戏场景只需要生成一个高度二进制文件即可,且高度二进制文件的生成过程决定了其大小会远小于即时深度图,进而基于游戏场景的高度二进制文件实现天气粒子在游戏场景中的渲染,能够降低需要消耗的GPU计算资源。
另外,与每个游戏场景对应的高度二进制文件可以离线绘制,在渲染时,只需要将高度二进制文件中的高度二进制数据读入到GPU中,其性能消耗远低于相关技术中对深度图进行采样。
同时,在基于高度二进制文件进行天气粒子渲染时,只需要对涉及到的位置的高度数据进行数组采样,较之相关技术中根据深度图进行采样,效率更高。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种天气粒子渲染的方法的流程图;
图2示出了本申请实施例所提供的天气粒子渲染的方法中,生成游戏场景的高度二进制文件的具体方法的流程图;
图3示出了本申请实施例所提供的天气粒子渲染的方法中,一种基于高度二进制文件渲染天气粒子具体方法的流程图;
图4示出了本申请实施例所提供的天气粒子渲染的方法中,另一种基于高度二进制文件渲染天气粒子具体方法的流程图;
图5示出了本申请实施例所提供的天气粒子渲染的方法中,另一种基于高度二进制文件渲染天气粒子具体方法的流程图;
图6示出了本申请实施例所提供的一种天气粒子渲染的装置的示意图;
图7示出了本申请实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
经研究发现,在游戏场景中渲染天气粒子的时候,需要满足下述要求:
(1)天气粒子在虚拟建筑模型内需要被剔除或隐藏,在虚拟建筑模型外部时正常显示。
(2)天气粒子需要根据周围环境被渲染至合适的高度,如在游戏场景中渲染雨滴粒子时,需要在地面上、虚拟建筑模型上方、植物上方等渲染雨滴碰撞溅起的水花粒子。
(3)天气粒子需在位于虚拟建筑模型内场景的游戏角色不造成影响,对位于室外场景的游戏角色造成影响,例如游戏角色积雪、积雨等。
为了满足上述要求,当前一般采用生成实时阴影的技术shadow map方法实时生成游戏场景的深度图,然后基于该实时生成的深度图实现天气粒子的渲染。但是这种天气粒子渲染的方法由于要实时生成深度图,并将实时生成的深度图读入到图形处理器(Graphics Processing Unit,GPU)中,以使GPU根据实时生成的深度图实现天气粒子的渲染;这种天气粒子渲染的方法由于需要实时生成深度图以及不断对深度图进行采样,因此GPU计算资源消耗较大。
同时,由于要将深度图的相关数据载入GPU中,为了将深度图中的相关数据转化为GPU能够处理的格式,需要智能终端设备支持depth textures、OpenGL es 3.0等图像渲染软件,造成基于深度图的天气粒子渲染方式存在兼容性差的问题。
基于上述研究,本申请提供了一种天气粒子渲染的方法及装置,通过生成游戏场景的高度二进制文件,并在需要将天气粒子渲染至游戏场景中时,基于该游戏场景对应的高度二进制文件,实现天气粒子的渲染。由于一个游戏场景只需要生成一个高度二进制文件即可,且高度二进制文件的生成过程决定了其大小会远小于即时深度图,进而基于游戏场景的高度二进制文件实现天气粒子在游戏场景中的渲染,能够降低需要消耗的GPU计算资源。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。
下面将结合本申请中附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种天气粒子渲染的方法进行详细介绍。该天气粒子渲染的方法用于在游戏场景中呈现天气情景。
实施例一
参见图1所示,为本申请实施例一提供的天气粒子渲染的方法的流程图,方法包括步骤S101~S104,其中:
S101:获取构成游戏场景的各个多边形网格中,各个多边形网格的相应顶点的高度数据。
S102:基于各个多边形网格的相应顶点的高度数据,生成游戏场景的高度图;其中,高度图中每一个像素点的值,表示该像素点对应的位置在游戏场景中的高度值。
S103:对高度图进行采样,并将各个采样点的高度值转化为二进制数据,得到游戏场景的高度二进制文件。
S104:响应于天气粒子的渲染信号,基于高度二进制文件渲染天气粒子,以在游戏场景中呈现天气粒子对应的天气情景。
下面分别对上述S101~S104加以说明。
I:在上述S101中,多边形又被称为“Mesh”,是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。现实世界中的物体表面直观上看都是由曲面构成的;而在计算机世界中,由于只能用离散的结构去模拟现实中连续的事物;所以现实世界中的曲面实际上在计算机里是由无数个小的多边形面片去组成的。在对游戏场景进行建模的时候,通常会生成与游戏场景对应的多边形网格。
与游戏场景对应的多边形网格被表示为一个多边形列表,其中包括了构成游戏场景的各个多边形所需要用到的数据;其中,每个多边形包括至少三个顶点;每个顶点通过在三维坐标系的三维坐标值表示;其中,该三维坐标系是基于游戏场景建立的三维坐标系;每个顶点的三维坐标值中,包括了该顶点在游戏场景中的位置坐标值以及高度坐标值。
示例性的,假设游戏场景的地图是矩形地图,可以将游戏场景任意相邻的两个边界线分别作为三维坐标系的x轴和y轴,将两个边界线的交点作为三维坐标系的原点,将垂直于原点的线作为三维坐标系的z轴,顶点的位置坐标值,即为其在x轴和y轴上的值,顶点的高度坐标值,即为其在z轴上的值。
针对地图不规则的游戏场景,可以根据实际的需要,针对游戏场景建立三维坐标系。
一般地,由于游戏场景在不同设备中进行显示的时候,分辨率会有所不同,因此,可以将三维坐标系的每一维度的坐标值表示为相对于原点的百分比。
各个多边形网格的顶点的高度数据,即为多边形网格的顶点的高度坐标值。
示例性的,可以从游戏场景编辑器导出并记录每个多边形网格的顶点的高度数据。
Ⅱ:在上述S102中,基于各个多边形网格的相应顶点的高度数据,生成游戏场景的高度图的过程,实际上是基于各个多边形网格的响应顶点的高度,确定游戏场景内每一个位置的高度的过程。
例如,可以采用对各个多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成高度图。
具体地,光栅化(Rasterization)是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图像的作用。
软光栅化,是指在CPU中通过软件对高度数据进行光栅化;硬光栅化是指在GPU中通过硬件渲染的方式对高度数据进行光栅化。
在另一种实施例中,在基于各个多边形网格的相应顶点的高度数据,生成游戏场景的高度图之前,还包括:基于高度数据,确定游戏场景中多边形网格的顶点的最大高度和最小高度;基于最大高度、以及最小高度,对各个多边形网格的顶点的高度数据进行归一化。此时,得到的各个多边形网格的顶点的高度数据被归一化至0-1的范围内,进而能够更好的表征各个多边形网格的顶点的高度。
示例性的,在对高度数据进行光栅化的时候,也即对归一化后的高度数据进行软光栅化或硬光栅化,以生成游戏场景的高度图。
具体地,所生成的高度图包括多个颜色通道。其中,每个颜色通道保存归一化后的高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
例如,若高度图包括红(Red,R)、绿(Green,G)、蓝(Blue,B)、透明度(Alpha,A)四个颜色通道,其中R通道保存归一化后的高度数据中小数点后1、2位的数值,G通道保存归一化后的高度数据中小数点后3、4位的数值,B通道保存归一化后的高度数据中小数点后5、6位的数值,A通道保存归一化后的高度数据中小数点后7、8位的数值。
高度图所包括的颜色通道越多,越能够更有效的保证高度数据的精度。
另外,高度图还可以包括R、G、B三个颜色通道;C、M、Y、K个颜色通道等;此处,C、M、Y、K分别表示青色、洋红、黄色以及黑色。
Ⅲ:在上述S103中,参见图2所示,可以采用下述方式生成游戏场景的高度二进制文件:
S201:按照预设的间隔像素点数量,对高度图进行采样,得到多个采样点。
此处,预设的间隔像素点数量可以根据实际的需要进行具体的设定。例如可以为1~5中任一种。示例性的,间隔像素点数量为二维数据,包括横轴间隔数量和纵轴间隔数量。例如将间隔像素点数量对应的横轴间隔数量和纵轴间隔数量均设置为3,则在进行采样的时候,每个采样在横轴与另一采样点之间间隔的像素点的数量为3个;在纵轴上与另一采样点之间间隔的像素点的数量也为3。例如将间隔像素点数量对应的横轴间隔数量设置为3,纵轴间隔数量设置为4,则在进行采样的时候,每个采样点在横轴与另一采样点之间间隔的像素点的数量为3个;在纵轴上与另一采样点之间间隔的像素点的数量为4。
S202:根据每个采样点在各个颜色通道下的值,确定该采样点对应的归一化后的高度数据。
此时,采样点可以是多边形网格的顶点对应的位置,也可以并非是多边形网格的顶点对应的位置。在对高度数据进行软光栅化所生成的高度图中,像素点与游戏场景中x轴和y轴所构成的平面中的各个位置一一对应。因此在从高度图中确定采样点后,读取该采样点在多个颜色通道下的像素值,并将其还原成通过小数表示的与该采样点对应的归一化后的高度数据。
例如,若某采样点A在高度图的R、G、B、A下的像素值分别为:13、32、14、45,则将其还原成通过小数表示的与采样点A对应的归一化后的高度数据的数值为:0.13321445。
S203:将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据。
此处,例如将归一化后的高度数据转化成半浮点型half float数据,其中,halffloat即为二进制数据。
S204:基于各个采样点对应的高度二进制数据,生成游戏场景的高度二进制文件。
此处,可以将各个采样点分别对应的高度二进制数据依次写入高度二进制文件中,进而生成与游戏场景对应的高度二进制文件。
此处,通过对高度图进行进一步的采样,得到高度二进制文件,能够进一步的缩小需要载入到GPU中的文件的大小,进而进一步减少高度二进制文件载入GPU时需要耗费的内存。
同时,由于是将二进制文件中的所携带的高度二进制数据载入GPU中,而GPU可以直接对高度二进制数据进行处理,不需要如现有技术中一般,将深度图转化为GPU能够处理的数据格式,进而不存在兼容性差的问题。
另外,在另一种实施例中,也可以不对S102生成的高度图数据进行采样,而是直接将其中的每一个像素点的高度数据转化为二进制数据,得到游戏场景的高度二进制文件。
Ⅳ:在上述S104中,在需要将天气粒子渲染至游戏场景中时,存在下述三种情况:
A:在目标游戏角色身上渲染与天气粒子对应的天气效果。例如,若天气粒子为雪花粒子,则要在目标游戏角色的模型身上渲染雪花堆积的天气效果;若天气粒子为雨滴粒子,则要在目标游戏角色的模型身上渲染雨水流动的天气效果。
此种情况下,参见图3所示,可以采用下述方式基于高度二进制文件渲染天气粒子:
S301:实时获取目标游戏角色的模型的角色位置信息,并基于目标游戏角色的模型的角色位置信息,从高度二进制文件中,读取与角色位置信息对应的高度二进制数据。
这里,需要注意的是,目标游戏角色的模型的位置信息包括目标游戏角色的模型在游戏场景中的位置坐标值,其包括目标游戏角色的模型在与游戏场景对应的三维坐标系中,分别在x轴、y轴和z轴上的位置坐标值。
当确定了目标游戏角色的模型的位置信息后,就能够从高度二进制文件中,确定与目标游戏角色的模型的角色位置信息对应的采样点,然后将该采样点对应的高度二进制数据从高度二进制文件中读取出来。
具体地,可以采用下述方式:
基于目标游戏角色的模型在游戏场景中的位置坐标值,从二进制文件中,确定对应的坐标值与位置坐标值距离最近的采样点;
将确定的采样点对应的高度二进制数据确定为与角色位置信息对应的高度二进制数据。
这里需要注意的是,坐标值与位置坐标值距离最近的采样点,是指采样点在高度图所在直角坐标系中x轴和y轴中的坐标值,与目标游戏角色的模型在游戏场景对应的三维坐标系中x轴和y轴的坐标值距离最近。
S302:基于读取的高度二进制数据确定角色位置信息对应的第一场景高度最大值。
此处,第一场景高度最大值,是指目标游戏角色的模型当前所处位置对应的采样点的高度值。
S303:基于角色位置信息、第一场景高度最大值、以及预设的第一高度附加值,确定目标游戏角色的模型是否位于虚拟建筑模型内。
此处,在基于角色位置信息确定目标游戏角色的模型是否位于虚拟建筑模型内时,是要基于目标游戏角色的模型在与游戏场景中对应的三维坐标系中,在z轴上的位置坐标值,确定目标游戏角色的模型是否位于虚拟建筑模型内。此处,目标游戏角色的模型在与游戏场景中对应的三维坐标系中,在z轴上的位置坐标值,表征目标游戏角色的模型在游戏场景中的所处高度,称为第一即时高度信息。
则可以采用下述方式确定目标游戏角色的模型是否位于虚拟建筑模型内:
将第一即时高度值与第一高度附加值的和,与第一场景高度最大值进行比对;
若第一即时高度值与第一高度附加值的和,大于第一场景高度最大值,则确定目标游戏角色的模型未位于虚拟建筑模型内;
若第一即时高度值与第一高度附加值的和,小于第一场景高度最大值,则确定目标游戏角色的模型位于虚拟建筑模型内。
S304:如果确定目标游戏角色的模型未位于虚拟建筑模型内,则在目标游戏角色的模型身上渲染与天气粒子对应的天气效果。
S305:如果确定目标角色位于虚拟建筑模型内,则不在目标游戏角色的模型身上渲染与天气粒子对应的天气效果。
B:天气粒子在虚拟建筑模型内需要被剔除或隐藏,在虚拟建筑模型外部时正常显示。例如,若虚拟摄像机位于虚拟建筑模型内时,需要在有虚拟建筑模型遮蔽的位置剔除天气粒子;在并未被虚拟建筑模型遮蔽的位置正常渲染天气粒子。
在该种情况下,参见图4所示,可以采用下述方式基于高度二进制文件渲染天气粒子:
S401:实时获取虚拟摄像机的相机位置信息,并基于相机位置信息,从高度二进制文件中,读取与相机位置信息对应的高度二进制数据。
此处,与目标游戏角色的模型的角色位置信息类似,虚拟摄像机的相机位置信息也包括虚拟摄像机在游戏场景中的位置坐标值,其包括虚拟摄像机在与游戏场景对应的三维坐标系中,在分别在x轴、y轴和z轴上的位置坐标值。
与相机位置信息对应的高度二进制数据的具体获取方式,和上述A中与角色位置信息对应的高度二进制数据的获取方式类似,在此不再赘述。
S402:基于读取的高度二进制数据确定相机位置信息对应的第二场景高度最大值。
此处,第二场景高度最大值与上述A中第一场景高度最大值的获取方式也类似,因此不再赘述。
S403:基于相机位置信息、第二场景高度最大值、以及预设的第二高度附加值,确定虚拟摄像机是否位于虚拟建筑模型内。
此处,确定虚拟摄像机是否位于虚拟建筑模型内的具体方式也与确定目标游戏角色的模型是否位于虚拟建筑模型内的方式类似,在此不再赘述。
S404:若确定虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
S405:若确定虚拟摄像机并未位于虚拟建筑模型内,则不对位于虚拟建筑模型内的天气粒子进行剔除处理。
此处,在对位于虚拟建筑模型内的天气粒子进行剔除处理时,首先要根据摄像机所在虚拟建筑模型的类型,确定该类型对应的粒子剔除方式,然后基于确定的粒子剔除方式对位于虚拟建筑模型内的天气粒子进行剔除处理。
具体地的,虚拟建筑模型类型包括:全封闭型或半封闭型。在对虚拟建筑模型进行建模时,可以为其标注所属虚拟建筑模型类型的标识,用以识别虚拟建筑模型类型。
针对全封闭型的建筑物,其对应的粒子剔除方式包括:包围盒剔除方式。针对半封闭型的虚拟建筑模型,其对应的粒子剔除方式包括:模版stencil绘制方式。
其中,包围盒剔除方式中,将虚拟建筑模型视为一个封闭的包围盒;基于各个待渲染的天气粒子的即时位置信息,确定各个带渲染的天气粒子是否位于包围盒内部;若某个天气粒子的即时位置在包围盒内部,则对该天气粒子进行剔除处理。在对天气粒子进行剔除处理时,可以采用将位于包围盒内部的天气粒子进行透明化的方式来实现;例如在对天气粒子进行渲染之前,从各个天气粒子中筛选出位于包围盒内部的天气粒子作为目标天气粒子,并将目标天气粒子的透明度设置为0,进而实现天气粒子的剔除。另外,在对天气粒子进行粒子剔除处理时,也可以将位于包围盒内部的天气粒子移动至其他位置来实现;例如在对天气粒子进行渲染之前,从各个天气粒子中筛选出位于包围盒内部的天气粒子作为目标天气粒子,并对目标天气粒子的即时位置信息进行调整,将其移动至包围盒之外,进而实现对位于虚拟建筑模型内的天气粒子的剔除处理。
stencil绘制方式中,首先绘制虚拟建筑模型,并基于对虚拟建筑模型的绘制结果,生成对应的stencil值,将虚拟建筑模型的stencil值存入stencil缓冲区内;然后绘制各个天气粒子,并基于各个天气粒子的位置信息,生成天气粒子的stencil值。若某天气粒子的stencil值与stencil缓冲区内所存储的虚拟建筑模型的某个stencil值一样,也即虚拟建筑模型的stencil值和天气粒子的stencil值发生冲突,则对该天气粒子进行剔除。若某天气粒子的stencil值未与stencil缓冲区内任一stencil发生冲突,则不对该天气粒子进行剔除。
这里需要注意的是,所绘制虚拟建筑模型,是以蒙版的形式显示在图形用户界面上。stencil缓冲区包括了与图形用户界面上的各个像素点分别对应的子缓冲区;若某个子缓冲区内写入了与虚拟建筑模型对应的stencil值,则表示在与该子缓冲区对应的像素点绘制虚拟建筑模型的蒙版,不能在该像素点再绘制天气粒子;若某个子缓冲区未写入与虚拟建筑模型对应的stencil值,则表示没有在与该子缓冲区对应的像素点绘制虚拟建筑模型的蒙版,因而能够在该像素点绘制天气粒子。
C:天气粒子需要根据周围环境被渲染至合适的高度。例如在游戏场景中渲染雨天时,需要同时在地面上、虚拟建筑模型顶部、植物上边渲染表示雨滴溅起的水花粒子。因此需要确定各个水花粒子需要渲染的高度,进而实现水花粒子的渲染。
在该种情况下,参见图5所示,可以采用下述方式基于高度二进制文件渲染天气粒子:
S501:实时获取目标游戏角色的模型的角色位置信息,并基于角色位置信息,确定目标位置区域。
此处,目标游戏角色的模型的角色位置信息与上述其一中类似,包括:其包括目标游戏角色的模型在与游戏场景对应的三维坐标系中,分别在x轴、y轴和z轴上的位置坐标值。
基于该角色位置信息,确定的目标区域位置,例如是以目标游戏角色的模型所在位置为圆心,以预设距离为半径的圆形区域。
该区域通常是根据目标游戏角色的模型在与游戏场景对应的三维坐标系中,在x轴和y轴上的坐标值确定的。
S502:从目标位置区域中确定多个目标位置,并从高度二进制文件中,读取与各个目标位置对应的高度二进制数据。
此处,目标位置为随机确定的;目标位置通常基于在x轴和y轴上的二维坐标来表示。基于各个目标位置在x轴和y轴上的二维坐标,可以从高度二进制文件中,确定与各个目标位置对应的高度二进制数据。
此处,可以根据各个目标位置的二维坐标,从二进制文件中,确定与各个目标位置距离最近的此案样点,并将采样点对应的高度二进制数据确定为与目标位置对应的高度二进制数据。
S503:基于读取的与各个目标位置对应的高度二进制数据,确定各个目标位置的第三即时高度值。
S504:基于第三即时高度值,将天气粒子渲染至对应的目标位置,以实现将天气粒子对应的天气情景呈现在游戏场景中。
此处,在基于第三及时高度值,将天气粒子数据渲染至对应的目标位置时,首先根据目标位置的二维坐标,以及目标位置对应的第三及时高度值,生成天气粒子的渲染位置信息,该渲染位置信息包括:天气粒子在与游戏场景对应的三维坐标系中,分别在x轴、y轴和z轴上的位置坐标。
然后将该渲染位置信息存入uniform数组中,传入GPU;GPU基于uniform数组中所保存的各个目标位置对应的渲染位置信息,对天气粒子的位置信息进行设置,然后对进行了位置信息设置的天气粒子进行渲染,以实现将天气粒子渲染至各个目标位置,进而实现了将天气粒子对应的天气情景呈现在游戏场景中。
本申请实施例通过获取构成游戏场景的各个多边形网格中,各个多边形网格的相应顶点的高度数据,并基于获取的高度数据生成游戏场景的高度图,后对高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到游戏场景的高度二进制文件,响应于天气粒子的渲染信号,基于高度二进制文件渲染天气粒子,以在游戏场景中呈现天气粒子对应的天气情景。在该过程中,由于一个游戏场景只需要生成一个高度二进制文件即可,且高度二进制文件的生成过程决定了其大小会远小于即时深度图,进而基于游戏场景的高度二进制文件实现天气粒子在游戏场景中的渲染,能够降低需要消耗的GPU计算资源。
另外,与每个游戏场景对应的高度二进制文件可以离线绘制,在渲染时,只需要将高度二进制文件中的高度二进制数据读入到GPU中,其性能消耗远低于相关技术中对深度图进行采样。
同时,在基于高度二进制文件进行天气粒子渲染时,只需要对涉及到的位置的高度数据进行数组采样,较之相关技术中根据贴图进行采样,效率更高。
基于同一发明构思,本申请实施例中还提供了与天气粒子渲染的方法对应的天气粒子渲染的装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述天气粒子渲染的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
实施例二
本申请实施例还提供了一种天气粒子渲染的装置,参见图6所示,为本申请实施例所提供的一种天气粒子渲染的装置的架构示意图,包括:获取模块601、生成模块602、转化模块603、渲染模块604,具体的:
获取模块601,用于获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
生成模块602,用于基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
转化模块603,用于对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
渲染模块604,用于响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景。
一种可能的设计中,所述生成模块602,在对所述高度数据进行软光栅化,生成所述游戏场景的高度图之前,还用于:
基于所述高度数据,确定所述游戏场景中的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述生成模块602,在基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图时,具体用于:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
一种可能的设计中,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
一种可能的设计中,所述转化模块603,在对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件时,具体用于:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个所述颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
一种可能的设计中,所述渲染模块604,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的所述高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型上渲染与所述天气粒子对应的天气效果。
一种可能的设计中,所述角色位置信息包括:所述目标游戏角色的模型在所述游戏场景中的位置坐标值;
所述转化模块603,在基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据时,具体用于:
基于所述目标游戏角色的模型在所述游戏场景中的位置坐标值,从所述二进制文件中,确定对应的坐标值与所述位置坐标值最接近的采样点;
将确定的采样点对应的高度二进制数据确定为与所述角色位置信息对应的高度二进制数据。
一种可能的设计中,所述角色位置信息包括:目标游戏角色的模型的第一即时高度信息;
所述渲染模块604,在基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度值附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内时,具体用于:
将所述第一即时高度值与所述第一高度附加值的和,与所述第一场景高度最大值进行比对;
若所述第一即时高度值与所述第一高度附加值的和,大于所述第一场景高度最大值,则确定所述目标游戏角色的模型未位于虚拟建筑模型内;
若所述第一即时高度值与所述第一高度附加值的和,小于所述第一场景高度最大值,则确定所述目标游戏角色的模型位于虚拟建筑模型内。
一种可能的设计中,所述渲染模块604,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
一种可能的设计中,所述渲染模块604,在对位于虚拟建筑模型内的天气粒子进行剔除处理时,具体用于:
根据所述虚拟摄像机所在的所述虚拟建筑模型的类型,确定与所述类型对应的粒子剔除方式;
基于确定的所述粒子剔除方式对位于所述虚拟建筑模型内的天气粒子进行剔除处理。
一种可能的设计中,所述虚拟建筑模型的类型为全封闭型或半封闭型;
其中,当所述虚拟建筑模型的类型为全封闭型时,所述粒子剔除方式包括:包围盒剔除方式;
当所述虚拟建筑模型的类型为半封闭型时,所述粒子剔除方式包括:模版stencil绘制。
一种可能的设计中,所述渲染模块604,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在游戏场景中。
一种可能的设计中,所述生成模块602,在基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图时,具体用于:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
实施例三
本申请实施例还提供了一种计算机设备700,如图7所示,为本申请实施例提供的计算机设备700结构示意图,包括:
处理器71、存储器72、和总线73;存储器72用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器71中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器71通过内存721与外部存储器722进行数据交换,当所述计算机设备700运行时,所述处理器71与所述存储器72之间通过总线73通信,使得所述处理器71在用户态执行以下指令:
获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景。
一种可能的设计中,处理器71处理的指令中,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还包括:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
一种可能的设计中,处理器71处理的指令中,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
一种可能的设计中,处理器71处理的指令中,所述对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,包括:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个所述颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
一种可能的设计中,处理器71处理的指令中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型身上渲染与所述天气粒子对应的天气效果。
一种可能的设计中,处理器71处理的指令中,所述角色位置信息包括:所述目标游戏角色的模型在所述游戏场景中的位置坐标值;
所述基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据,包括:
基于所述目标游戏角色的模型在所述游戏场景中的位置坐标值,从所述二进制文件中,确定对应的坐标值与所述位置坐标值最接近的采样点;
将确定的采样点对应的高度二进制数据确定为与所述角色位置信息对应的高度二进制数据。
一种可能的设计中,处理器71处理的指令中,所述角色位置信息包括:目标游戏角色的模型的第一即时高度信息;
所述基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度值附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内,包括:
将所述第一即时高度值与所述第一高度附加值的和,与所述第一场景高度最大值进行比对;
若所述第一即时高度值与所述第一高度附加值的和,大于所述第一场景高度最大值,则确定所述目标游戏角色的模型未位于虚拟建筑模型内;
若所述第一即时高度值与所述第一高度附加值的和,小于所述第一场景高度最大值,则确定所述目标游戏角色的模型位于虚拟建筑模型内。
一种可能的设计中,处理器71处理的指令中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
一种可能的设计中,处理器71处理的指令中,所述对位于虚拟建筑模型内的天气粒子进行剔除处理,包括:
根据所述虚拟摄像机所在的所述虚拟建筑模型的类型,确定与所述类型对应的粒子剔除方式;
基于确定的所述粒子剔除方式对位于所述虚拟建筑模型内的天气粒子进行剔除处理。
一种可能的设计中,处理器71处理的指令中,所述虚拟建筑模型的类型为全封闭型或半封闭型;
其中,当所述虚拟建筑模型的类型为全封闭型时,所述粒子剔除方式包括:包围盒剔除方式;
当所述虚拟建筑模型的类型为半封闭型时,所述粒子剔除方式包括:模版stencil绘制。
一种可能的设计中,处理器71处理的指令中,所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在游戏场景中。
一种可能的设计中,处理器71处理的指令中,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的天气粒子渲染的方法的步骤。
本申请实施例所提供的天气粒子渲染的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的天气粒子渲染的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (24)

1.一种天气粒子渲染的方法,其特征在于,所述方法包括:
获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的所述高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型上渲染与所述天气粒子对应的天气效果。
2.根据权利要求1所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还包括:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
3.根据权利要求2所述的方法,其特征在于,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
4.根据权利要求1所述的方法,其特征在于,所述对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,包括:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
5.根据权利要求1所述的方法,其特征在于,所述角色位置信息包括:所述目标游戏角色的模型在所述游戏场景中的位置坐标值;
所述基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据,包括:
基于所述目标游戏角色的模型在所述游戏场景中的位置坐标值,从所述二进制文件中,确定对应的坐标值与所述位置坐标值距离最近的采样点;
将确定的采样点对应的高度二进制数据确定为与所述角色位置信息对应的高度二进制数据。
6.根据权利要求1所述的方法,其特征在于,所述角色位置信息包括:目标游戏角色的模型的第一即时高度信息;
所述基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度值附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内,包括:
将所述第一即时高度值与所述第一高度附加值的和,与所述第一场景高度最大值进行比对;
若所述第一即时高度值与所述第一高度附加值的和,大于所述第一场景高度最大值,则确定所述目标游戏角色的模型未位于虚拟建筑模型内;
若所述第一即时高度值与所述第一高度附加值的和,小于所述第一场景高度最大值,则确定所述目标游戏角色的模型位于虚拟建筑模型内。
7.根据权利要求1所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
8.一种天气粒子渲染的方法,其特征在于,所述方法包括:
获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
9.根据权利要求8所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还包括:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
10.根据权利要求9所述的方法,其特征在于,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
11.根据权利要求8所述的方法,其特征在于,所述对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,包括:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
12.根据权利要求8所述的方法,其特征在于,所述对位于虚拟建筑模型内的天气粒子进行剔除处理,包括:
根据所述虚拟摄像机所在的所述虚拟建筑模型的类型,确定与所述类型对应的粒子剔除方式;
基于确定的所述粒子剔除方式对位于所述虚拟建筑模型内的天气粒子进行剔除处理。
13.根据权利要求12所述的方法,其特征在于,所述虚拟建筑模型的类型为全封闭型或半封闭型;
其中,当所述虚拟建筑模型的类型为全封闭型时,所述粒子剔除方式包括:包围盒剔除方式;
当所述虚拟建筑模型的类型为半封闭型时,所述粒子剔除方式包括:模版stencil绘制。
14.根据权利要求8所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
15.一种天气粒子渲染的方法,其特征在于,所述方法包括:
获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述基于所述高度二进制文件渲染所述天气粒子,包括:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在所述游戏场景中。
16.根据权利要求15所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图之前,还包括:
基于所述高度数据,确定所述游戏场景中所述多边形网格的顶点的最大高度和最小高度;
基于所述最大高度、以及所述最小高度,对各个所述多边形网格的顶点的所述高度数据进行归一化;
所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
基于归一化后的所述高度数据,生成所述游戏场景的高度图。
17.根据权利要求16所述的方法,其特征在于,所述高度图包括多个颜色通道;
每个所述颜色通道保存归一化后的所述高度数据中小数点后预设位置的数值,且不同的颜色通道对应的预设位置不同。
18.根据权利要求15所述的方法,其特征在于,所述对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件,包括:
按照预设的间隔像素点数量,对所述高度图进行采样,得到多个所述采样点;
根据每个采样点在各个颜色通道下的值,确定该采样点对应的归一化后的高度数据;
将该采样点对应的归一化后的高度数据转化为与该采样点对应的高度二进制数据;
基于各个所述采样点对应的高度二进制数据,生成所述游戏场景的所述高度二进制文件。
19.根据权利要求15所述的方法,其特征在于,所述基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图,包括:
对各个所述多边形网格的相应顶点的高度数据进行软光栅化或硬光栅化,生成所述高度图。
20.一种天气粒子渲染的装置,其特征在于,用于在游戏场景中呈现天气情景;所述装置包括:
获取模块,用于获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
生成模块,用于基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
转化模块,用于对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
渲染模块,用于响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述目标游戏角色的模型的角色位置信息,从所述高度二进制文件中,读取与所述角色位置信息对应的高度二进制数据;
基于读取的所述高度二进制数据确定所述角色位置信息对应的第一场景高度最大值;
基于所述角色位置信息、所述第一场景高度最大值、以及预设的第一高度附加值,确定所述目标游戏角色的模型是否位于虚拟建筑模型内;
如果确定所述目标游戏角色的模型未位于虚拟建筑模型内,则在所述目标游戏角色的模型上渲染与所述天气粒子对应的天气效果。
21.一种天气粒子渲染的装置,其特征在于,用于在游戏场景中呈现天气情景;所述装置包括:
获取模块,用于获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
生成模块,用于基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
转化模块,用于对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
渲染模块,用于响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取虚拟摄像机的相机位置信息,并基于所述相机位置信息,从所述高度二进制文件中,读取与所述相机位置信息对应的高度二进制数据;
基于读取的高度二进制数据确定所述相机位置信息对应的第二场景高度最大值;
基于所述相机位置信息、所述第二场景高度最大值、以及预设的第二高度附加值,确定所述虚拟摄像机是否位于虚拟建筑模型内;
若确定所述虚拟摄像机位于虚拟建筑模型内,则对位于虚拟建筑模型内的天气粒子进行剔除处理。
22.一种天气粒子渲染的装置,其特征在于,用于在游戏场景中呈现天气情景;所述装置包括:
获取模块,用于获取构成游戏场景的各个多边形网格中,各个所述多边形网格的相应顶点的高度数据;
生成模块,用于基于各个所述多边形网格的相应顶点的高度数据,生成所述游戏场景的高度图;其中,所述高度图中每一个像素点的值,表示该像素点对应的位置在所述游戏场景中的高度值;
转化模块,用于对所述高度图进行采样,并将各个采样点的高度数据转化为二进制数据,得到所述游戏场景的高度二进制文件;
渲染模块,用于响应于天气粒子的渲染信号,基于所述高度二进制文件渲染所述天气粒子,以在所述游戏场景中呈现所述天气粒子对应的天气情景;
所述渲染模块,在基于所述高度二进制文件渲染所述天气粒子时,具体用于:
实时获取目标游戏角色的模型的角色位置信息,并基于所述角色位置信息,确定目标位置区域;
从所述目标位置区域中确定多个目标位置,并从所述高度二进制文件中,读取与各个所述目标位置对应的高度二进制数据;
基于读取的与各个所述目标位置对应的高度二进制数据,确定各个所述目标位置的第三即时高度值;
基于所述第三即时高度值,将所述天气粒子渲染至对应的目标位置,以实现将所述天气粒子对应的天气情景呈现在游戏场景中。
23.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7、8至14、15至19任一所述的天气粒子渲染的方法的步骤。
24.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7、8至14、15至19任意一项所述的天气粒子渲染的方法的步骤。
CN201910995675.7A 2019-10-18 2019-10-18 一种天气粒子渲染的方法及装置 Active CN110706324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910995675.7A CN110706324B (zh) 2019-10-18 2019-10-18 一种天气粒子渲染的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910995675.7A CN110706324B (zh) 2019-10-18 2019-10-18 一种天气粒子渲染的方法及装置

Publications (2)

Publication Number Publication Date
CN110706324A CN110706324A (zh) 2020-01-17
CN110706324B true CN110706324B (zh) 2023-03-31

Family

ID=69201747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910995675.7A Active CN110706324B (zh) 2019-10-18 2019-10-18 一种天气粒子渲染的方法及装置

Country Status (1)

Country Link
CN (1) CN110706324B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367605A (zh) * 2020-02-28 2020-07-03 珠海豹趣科技有限公司 一种雨滴特效的显示方法、装置及计算机可读存储介质
CN111870954B (zh) * 2020-07-24 2024-02-13 上海米哈游天命科技有限公司 一种高度图生成方法、装置、设备及存储介质
CN111882634B (zh) * 2020-07-24 2024-02-06 上海米哈游天命科技有限公司 一种图像渲染方法、装置、设备及存储介质
CN112037308A (zh) * 2020-09-01 2020-12-04 完美世界(北京)软件科技发展有限公司 天气系统编辑方法以及装置、系统、设备
CN112233241B (zh) * 2020-11-02 2024-03-22 网易(杭州)网络有限公司 虚拟场景地形的高度图的生成方法、装置和存储介质
CN112090084B (zh) * 2020-11-23 2021-02-09 成都完美时空网络技术有限公司 对象的渲染方法和装置、存储介质和电子设备
CN112402974A (zh) * 2020-11-23 2021-02-26 成都完美时空网络技术有限公司 游戏场景的显示方法和装置、存储介质和电子设备
CN112802165A (zh) * 2020-12-31 2021-05-14 珠海剑心互动娱乐有限公司 游戏场景积雪渲染方法、装置及介质
CN113470169B (zh) * 2021-06-30 2022-04-29 完美世界(北京)软件科技发展有限公司 游戏场景生成方法、装置、计算机设备及可读存储介质
CN117093117A (zh) * 2022-05-13 2023-11-21 腾讯科技(上海)有限公司 虚拟天气交互方法、装置、设备、存储介质及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254340A (zh) * 2011-07-29 2011-11-23 北京麒麟网信息科技有限公司 一种基于gpu加速的环境光遮挡图像绘制方法及系统
CN107895400A (zh) * 2017-11-09 2018-04-10 深圳赛隆文化科技有限公司 一种虚拟现实的三维小区域物体渲染模拟方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3337585B1 (en) * 2015-08-17 2022-08-10 Lego A/S Method of creating a virtual game environment and interactive game system employing the method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102254340A (zh) * 2011-07-29 2011-11-23 北京麒麟网信息科技有限公司 一种基于gpu加速的环境光遮挡图像绘制方法及系统
CN107895400A (zh) * 2017-11-09 2018-04-10 深圳赛隆文化科技有限公司 一种虚拟现实的三维小区域物体渲染模拟方法及装置

Also Published As

Publication number Publication date
CN110706324A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110706324B (zh) 一种天气粒子渲染的方法及装置
US11551418B2 (en) Image rendering of laser scan data
US11024077B2 (en) Global illumination calculation method and apparatus
US10957082B2 (en) Method of and apparatus for processing graphics
EP3080781B1 (en) Image rendering of laser scan data
US9041711B1 (en) Generating reduced resolution textured model from higher resolution model
WO2017198104A1 (zh) 一种粒子系统的处理方法及装置
Feng et al. A parallel algorithm for viewshed analysis in three-dimensional Digital Earth
US20230230311A1 (en) Rendering Method and Apparatus, and Device
KR100959349B1 (ko) 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법
US20230033319A1 (en) Method, apparatus and device for processing shadow texture, computer-readable storage medium, and program product
CN114387386A (zh) 一种基于三维点阵渲染的快速建模方法及系统
CN114092575B (zh) 数字地球实时着色方法和装置
CN115512025A (zh) 模型渲染性能的检测方法、装置、电子设备及存储介质
CN114375464A (zh) 使用边界体积表示对虚拟空间中的动态单元进行光线追踪
CN112017286A (zh) 一种数字地球无裙边地形瓦块无缝拼接显示仿真方法
CN116433862A (zh) 一种3d全球地形的模型架构方法及装置
US20220392121A1 (en) Method for Improved Handling of Texture Data For Texturing and Other Image Processing Tasks
CN116958457A (zh) 一种基于OSGEarth的战争迷雾效果绘制方法
CN114399421A (zh) 三维模型可见度数据的存储方法、装置、设备及存储介质
CN113436307A (zh) 基于osgEarth影像数据到UE4场景的映射算法
CN102074004A (zh) 空间实体遮挡类型的判定方法及装置
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
CN112730743A (zh) 空气质量模式预报数据的交互方法及装置
Masood et al. A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant