CN106780642A - 迷雾遮罩贴图的生成方法及装置 - Google Patents
迷雾遮罩贴图的生成方法及装置 Download PDFInfo
- Publication number
- CN106780642A CN106780642A CN201611005445.4A CN201611005445A CN106780642A CN 106780642 A CN106780642 A CN 106780642A CN 201611005445 A CN201611005445 A CN 201611005445A CN 106780642 A CN106780642 A CN 106780642A
- Authority
- CN
- China
- Prior art keywords
- visual field
- textures
- game role
- dense fog
- border
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种迷雾遮罩贴图的生成方法及装置。其中,该方法包括:获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。本发明解决了相关技术中所提供的战争迷雾生成方案的计算复杂度较高,需要消耗较多的硬件资源的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种迷雾遮罩贴图的生成方法及装置。
背景技术
战争迷雾是指在战争类游戏中制造双方战术不可预测性的机制,多见于即时战略游戏(RTS)、多人在线战术竞技游戏(MOBA)等。在已上市的游戏(例如:DOTA、LOL、StarCraft等)中,战争迷雾已经成为游戏不可或缺的关键部分,其能够极大地增强游戏的探索性和策略性。
按照类型划分,战争迷雾实际上可以分为三维(3D)迷雾和二维(2D)迷雾。战争迷雾属于逻辑与渲染强相关的系统,其实现需要较为复杂的算法,但3D和2D两种类型的战争在本质上是相同的,其核心均需要生成一张遮罩(mask)贴图,然后再与原始地表、模型或用户界面(UI)贴图等进行融合处理,即:
dst_color=texture_color*coef0+mask_color*(1-coef0)
dst_alpha=texture_alpha*coef1+mask_alpha*(1-coef1)
其中,texture_color表示原始贴图的颜色,texture_alpha表示原始贴图的透明度值,mask_color表示遮罩贴图的颜色,mask_alpha表示遮罩贴图透明度值,dst_color表示融合后的最终贴图的颜色,dst_alpha表示融合后的最终贴图的透明度值,以及coef_color和coef_alpha分别表示颜色和透明度混合因子。
假设coef0的取值为1,coef1的取值为0,那么融合后显示的图像的透明度将完全由mask贴图的alpha来控制。类似这种方法,便可以利用生成的遮罩贴图来控制其他贴图的颜色与透明度以达到迷雾的效果。
目前,由于移动设备自身具备的计算和渲染能力较低,其极大地限制了迷雾系统在手游上的具体实现。为此,相关技术中提出以下两种解决方案:
方案一、采用类似于DOTA中的地形连续分布算法,利用特定模板贴图,从上到下、从左到右,依次编号为0-15,同时整个地图按照一个二维数组加以存储,每个数字代表当前贴图所在的模板贴图的序号(即0-15),在渲染过程中,对应处将渲染迷雾底图对应的子贴图,并最终生成一张边缘平滑连续的迷雾遮罩贴图。
然而,该方案的缺陷在于:该方案虽然能够生成较为平滑的遮罩贴图,性能开销也较小,但是在游戏角色移动并采用该方案渲染迷雾时,由于易发生数据突变,因此无法实现游戏角色连续平滑地消失和出现。
方案二、采用类似于《王者荣耀》中利用中央处理器(CPU)计算出迷雾的网格数据,然后再通过高斯模糊等手段渲染出迷雾遮罩贴图。
然而,该方案的缺陷在于:采用高斯模糊处理仅适用于规模较小的地图。然而,当地图规模较大时,方格的数量将会呈平方级别增加,计算量也会急剧增大。此时,不仅需要消耗较多的硬件资源(例如:CPU占有率),而且对图形处理器(GPU)的渲染能力也存在较高的要求,部分硬件性能较差的移动设备将面临严峻挑战。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种迷雾遮罩贴图的生成方法及装置,以至少解决相关技术中所提供的战争迷雾生成方案的计算复杂度较高,需要消耗较多的硬件资源的技术问题。
根据本发明实施例的一个方面,提供了一种迷雾遮罩贴图的生成方法,该方法应用于图形处理器,包括:
获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
可选地,获取视野动态纹理贴图包括:获取待显示在视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,多个游戏角色属于同一阵营,视野参数集合包括:第一边界和第二边界,第一边界围成的封闭区域为每个游戏角色的完全可见区域,第一边界与第二边界之间围成的封闭区域为视野过渡渐变区域,第二边界之外的开放区域为视野外区域;将多个游戏角色中每个游戏角色在视野动态纹理贴图对应的世界场景中的世界坐标转换为在视野动态纹理贴图的位置坐标;分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;对每个游戏角色的视野贴图进行合并,得到视野动态纹理贴图。
可选地,分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图包括:根据第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
可选地,根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野包括:采用第一距离、第二距离和视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,其中,第一距离为每个游戏角色的位置坐标与第一边界之间的距离,第二距离为每个游戏角色的位置坐标与第二边界之间的距离;根据第一边界的可见度值、第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值;通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野。
可选地,对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图包括:将视野动态纹理贴图中每个像素的颜色通道的颜色值与上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;根据比对结果确定待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
可选地,在对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图之后,还包括:将待使用的迷雾遮罩贴图存储至预设存储区域;在发生异常时,从预设存储区域内读取待使用的迷雾遮罩贴图并使用待使用的迷雾遮罩贴图。
根据本发明实施例的另一方面,还提供了一种迷雾遮罩贴图的生成装置,该装置应用于图形处理器,包括:
获取模块,用于获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;生成模块,用于对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
可选地,获取模块包括:获取单元,用于获取待显示在视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,多个游戏角色属于同一阵营,视野参数集合包括:第一边界和第二边界,第一边界围成的封闭区域为每个游戏角色的完全可见区域,第一边界与第二边界之间围成的封闭区域为视野过渡渐变区域,第二边界之外的开放区域为视野外区域;转换单元,用于将多个游戏角色中每个游戏角色在视野动态纹理贴图对应的世界场景中的世界坐标转换为在视野动态纹理贴图的位置坐标;计算单元,用于分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;合并单元,用于对每个游戏角色的视野贴图进行合并,得到视野动态纹理贴图。
可选地,计算单元包括:第一确定子单元,用于根据第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;第二确定子单元,用于根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
可选地,第二确定子单元,用于采用第一距离、第二距离和视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,根据第一边界的可见度值、第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值,以及通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野,其中,第一距离为每个游戏角色的位置坐标与第一边界之间的距离,第二距离为每个游戏角色的位置坐标与第二边界之间的距离。
可选地,生成模块包括:比对单元,用于将视野动态纹理贴图中每个像素的颜色通道的颜色值与上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;确定单元,用于根据比对结果确定待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
可选地,上述装置还包括:存储模块,用于将待使用的迷雾遮罩贴图存储至预设存储区域;恢复模块,用于在发生异常时,从预设存储区域内读取待使用的迷雾遮罩贴图并使用待使用的迷雾遮罩贴图。
在本发明实施例中,采用获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图的方式,通过对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图,达到了采用在图形处理器中计算游戏角色视野的方法结合动态纹理渲染技术将角色视野渲染至纹理贴图中,最后在图形处理器中对纹理贴图进行混合得到迷雾遮罩贴图的目的,从而实现了降低视野计算复杂度和硬件资源利用率的技术效果,进而解决了相关技术中所提供的战争迷雾生成方案的计算复杂度较高,需要消耗较多的硬件资源的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的迷雾遮罩贴图的生成方法的流程图;
图2是根据本发明优选实施例的边缘平滑过渡的圆形视野的shader实现过程示意图;
图3是根据本发明实施例的迷雾遮罩贴图的生成装置的结构框图;
图4是根据本发明优选实施例的迷雾遮罩贴图的生成装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种迷雾遮罩贴图的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的迷雾遮罩贴图的生成方法的流程图,如图1所示,该方法应用于图形处理器(GPU),该方法包括如下步骤:
步骤S12,获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;
步骤S14,对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
目前,市场上大多数移动平台的GPU均支持OPENGL标准,支持可编程渲染管线来进行3D对象的渲染。对可编程部分操作编写的代码被称为着色程序(shader),其完全在GPU上运行,几乎不会消耗CPU资源。常用的shader可以分为顶点(vertex)shader和片元(fragment)shader。对于发送给GPU的每一个顶点,都需要执行相应的顶点shader,将空间中的三维坐标变换到屏幕上显示的二维坐标;而片元shader,亦称为像素着色器(pixelshader),其负责计算每个像素的颜色等属性。
动态纹理渲染(render to texture)技术是一种可以将场景或者模型渲染到纹理的技术,其通过GPU进行渲染,最终可以生成一张纹理贴图。为此,本发明实施例所提供的技术方案可以采用在shader中计算角色视野的方法结合动态纹理渲染技术将角色视野渲染至纹理贴图中,最后在shader中对纹理贴图进行混合得到迷雾遮罩贴图。
由于shader仅需要在GPU进行运算,对CPU资源消耗较小,而且通过使用动态纹理渲染技术可以将渲染结果渲染到纹理贴图中,因此,本发明实施例所提供的技术方案可以采用一个shader来计算角色的视野mask贴图,然后再利用一个迷雾shader来渲染迷雾mask贴图。类似于采用画刷在图纸上作图,其中,画刷相当于角色视野,视野mask贴图为用视野shader渲染生成的动态纹理,迷雾mask贴图为采用迷雾shader渲染生成的动态纹理。由于视野计算过程设置在GPU端,因此降低了CPU的计算量;同时,由于不需要进行高斯模糊,因此,极大地降低了GPU的采样带宽消耗。
通过上述步骤,可以采用获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图的方式,通过对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图,达到了采用在图形处理器中计算游戏角色视野的方法结合动态纹理渲染技术将角色视野渲染至纹理贴图中,最后在图形处理器中对纹理贴图进行混合得到迷雾遮罩贴图的目的,从而实现了降低视野计算复杂度和硬件资源利用率的技术效果,进而解决了相关技术中所提供的战争迷雾生成方案的计算复杂度较高,需要消耗较多的硬件资源的技术问题。
可选地,在步骤S12中,获取视野动态纹理贴图可以包括以下执行步骤:
步骤S121,获取待显示在视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,多个游戏角色属于同一阵营,视野参数集合包括:第一边界和第二边界,第一边界围成的封闭区域为每个游戏角色的完全可见区域,第一边界与第二边界之间围成的封闭区域为视野过渡渐变区域,第二边界之外的开放区域为视野外区域;
步骤S122,将多个游戏角色中每个游戏角色在视野动态纹理贴图对应的世界场景中的世界坐标转换为在视野动态纹理贴图的位置坐标;
步骤S123,分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;
步骤S124,对每个游戏角色的视野贴图进行合并,得到视野动态纹理贴图。
上述第一边界与第二边界均是由世界坐标下的点坐标围成的,然后再通过世界坐标下的点坐标与视野动态纹理贴图下的点坐标的映射关系,在视野动态纹理贴图中形成对应的第一边界与第二边界。
当动态纹理贴图创建时可以指定颜色通道的数量,在通常情况下,可以使用贴图中的一个颜色通道来表征视野的可见度。当动态纹理颜色通道的数量为4时,可以将各个通道分别用于渲染记录不同层的迷雾数据。假设迷雾全开状态的颜色值为v_open,迷雾未开放状态的颜色值为v_close,则可以通过对两者进行插值处理,得到迷雾中间状态的颜色值v_current。在初始情况下,迷雾被设置为未开放状态,进而得到初始化的迷雾mask图。
在通常情况下,游戏角色的视野为圆形的探测区域。边缘平滑过渡的圆形视野的shader计算过程如下:
视野可以采用数值表示,例如:0.0表示完全不可见,1.0表示完全可见,0.0-1.0之间的数值则表示介于不可见与可见之间的中间状态,其中,0.0-1.0之间的数值通常被称为可见度。在shader计算过程中,可以采用纹理的一个颜色通道来存储可见度的计算结果。另外,需要计算视野的地图最终会生成一张贴图,在shader计算时,可以将游戏角色在实际3D世界坐标中的位置转换到贴图中的对应位置,这个转换过程被称为uv坐标转换,转换后的位置亦称为贴图中的uv坐标。
具体地,假设迷雾动态纹理对应世界场景大小为W,H,场景中心位置为pos_center,中心点uv为pos_center_uv。如图所示,当角色世界坐标为pos时,对应的uv坐标可以表示为:
pos_uv.x=pos_center_uv.x+(pos.x-pos_center.x)/W
pos_uv.y=pos_center_uv.y+(pos.y-pos_center.y)/H
很显然,由于在世界坐标中,角色坐标pos是连续的,所以pos_uv也是连续的,故最终生成的视野纹理也是连续的。
当同时存在多个游戏角色时,分别计算各个游戏角色的视野贴图,然后再将计算得到的全部视野贴图进行合并。在合并过程中,采用视野可见性最大的原则,即只要能够确定在视野重合时存在一个视野贴图显示可见,那么其合并结果便应该显示为可见。
需要说明的是,每张迷雾动态纹理贴图的一个颜色通道,能够记录一层相关的迷雾数据,理论上为当遮罩贴图有4个通道时将支持记录多达4层互不相关的迷雾。在一些类moba或者探索类游戏中,这点特性可以用来处理不同阵营,即迷雾图每个颜色通道存储渲染一个阵营。若需要支持更多阵营,可以通过增加多张迷雾图加以支持。当地图较大时,也可通过此方法解决。
可选地,在步骤S123中,分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图可以包括以下执行步骤:
步骤S1231,根据第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;
步骤S1232,根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
图2是根据本发明优选实施例的边缘平滑过渡的圆形视野的shader实现过程示意图。如图2所示,中心处A点为游戏角色当前所在位置,边界1为视野过渡区的起始位置,边界2为视野边缘位置,由边界1围成的封闭区域内为游戏角色的全亮视野,边界2外部为视野不可见区域,而在边界1与边界2之间的区域则为视野过渡渐变区域。
可选地,在步骤S1232中,根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野可以包括以下执行步骤:
步骤S12321,采用第一距离、第二距离和视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,其中,第一距离为每个游戏角色的位置坐标与第一边界之间的距离,第二距离为每个游戏角色的位置坐标与第二边界之间的距离;
步骤S12322,根据第一边界的可见度值、第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值;
步骤S12323,通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野。
如上述图2所示,为确保视野过渡渐变区域的平滑过渡,需要在边界1与边界2之间的区域根据点到中心点A处的距离计算出一个合适的系数(factor),然后再利用视野开始位置(边界1)和视野边缘位置(边界2)的可见度值进行插值。若不进行插值或者插值算法不连续造成视野突变,将会导致视野不平滑;其中,factor可以采用下式计算得到:
factor=(r_start-r_begin)/(r_end-r_begin);
其中,r_start为贴图中任意uv坐标到目标所在uv坐标的距离,其计算公式如下:
r_start=sqrt((u-u_a)*(u-u_a)+(v-v_a)*(v-v_a));
其中,r_begin表示shader传入的视野过渡渐变区域的起始uv距离,即上述图2中边界1所围成的封闭圆形区域的半径;r_end表示shader传入的视野过渡渐变区域的边缘uv距离,即上述图2中边界2所围成的封闭圆形区域的半径;r_begin还相当于游戏角色的视野半径,sqrt表示开平方运算。
因此,当计算结果为factor小于0时,可以将factor设置为0;当计算结果为factor大于1.0时,可以将factor设置为1.0。
常见的插值算法可以包括但不限于以下之一:线性插值、二次插值、三次插值、样条曲线插值;当采用线性插值时,视野过渡渐变区域的视野可见度可以采用以下公式计算得到:
v_mid=v_start*factor+v_end*(1-factor)
其中,v_start表示起始区域的可见度值,v_end表示结束区域的可见度值,视野过渡渐变区域的每个像素均可以利用该公式进行插值计算得到对应的可见度值,最终得到边缘平滑且连续渐变的视野,显然由于边缘连续渐变,因此可以省去常规算法中高斯模糊的处理步骤,以减小计算开销。
需要说明的是,当采用二次插值、三次插值、样条曲线插值等插值算法时,可以直接对上述的线性插值得到factor参数进行相应插值,重新得到一个factor参数,最后运用上述视野过渡渐变区域的视野可见度公式进行计算即可。由于游戏角色视野是shader实时生成的,其边缘过渡起始点、过渡区域宽度及视野半径均可通过shader参数来设置,游戏角色坐标能够做到实时、连续改变,因此,生成的迷雾遮罩贴图能够实时、连续改变,且边缘过渡平滑。
可选地,在步骤S14中,对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图可以包括以下执行步骤:
步骤S141,将视野动态纹理贴图中每个像素的颜色通道的颜色值与上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;
步骤S142,根据比对结果确定待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
在迷雾shader中,对计算得出的视野动态纹理与上次的迷雾动态纹理做融合处理,得到此时的迷雾动态纹理。在混合过程中,依然以视野最大化为原则,即在两次视野中只要有一次可见,便可认为混合结果可见。具体地,当视野全开的颜色值v_open小于视野未开放的颜色值v_close时,在shader中选取视野动态纹理与上次的迷雾动态纹理各像素颜色通道最小值作为最终迷雾颜色值。具体地,假设v_dst表示当前计算得到的纹理坐标处迷雾动态纹理的对应通道颜色值,v_last表示上次对应纹理坐标处迷雾动态纹理的对应通道颜色值,v_cur_view表示本次视野动态纹理采样得到的对应通道相应坐标处颜色值,那么,v_dst=min(v_last,v_cur_view);反之,应当选取像素色值的最大值作为最终迷雾颜色值,即v_dst=max(v_last,v_cur_view)。
例如:当v_open=0.0,v_close=1.0时,可见度值越小表示可见度越高,因此,选取两者最小值才能够表示可见区域;当v_open=1.0,v_close=0.0时,可见度值越大表示可见度越高,因此,选取两者最大值才能够表示可见区域。
可选地,在步骤S14,对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图之后,还可以包括执行步骤:
步骤S15,将待使用的迷雾遮罩贴图存储至预设存储区域;
步骤S16,在发生异常时,从预设存储区域内读取待使用的迷雾遮罩贴图并使用待使用的迷雾遮罩贴图。
在每帧更新游戏角色的视野贴图时,不需要清除当前计算得到的视野动态纹理贴图。而且,在需要存储时,直接存储此次迷雾动态纹理得到迷雾mask贴图,其作用在于:当游戏过程中发生游戏角色主动下线或因为网络不稳定发生被动掉线后,当重新连接后,可以通过上次存档的迷雾遮罩贴图来恢复游戏角色的视野。通过迷雾遮罩贴图来直接存储迷雾和恢复迷雾,十分简单、便捷。
根据本发明实施例,还提供了一种迷雾遮罩贴图的生成装置的实施例,图3是根据本发明实施例的迷雾遮罩贴图的生成装置的结构框图,如图3所示,该装置应用于图形处理器,包括:获取模块10,用于获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;生成模块20,用于对视野动态纹理贴图和上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
可选地,图4是根据本发明优选实施例的迷雾遮罩贴图的生成装置的结构框图,如图4所示,获取模块10可以包括:获取单元100,用于获取待显示在视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,多个游戏角色属于同一阵营,视野参数集合包括:第一边界和第二边界,第一边界围成的封闭区域为每个游戏角色的完全可见区域,第一边界与第二边界之间围成的封闭区域为视野过渡渐变区域,第二边界之外的开放区域为视野外区域;转换单元102,用于将多个游戏角色中每个游戏角色在视野动态纹理贴图对应的世界场景中的世界坐标转换为在视野动态纹理贴图的位置坐标;计算单元104,用于分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;合并单元106,用于对每个游戏角色的视野贴图进行合并,得到视野动态纹理贴图。
可选地,计算单元104可以包括:第一确定子单元(图中未示出),用于根据第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;第二确定子单元(图中未示出),用于根据第一边界和第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
可选地,第二确定子单元(图中未示出),用于采用第一距离、第二距离和视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,根据第一边界的可见度值、第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值,以及通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野,其中,第一距离为每个游戏角色的位置坐标与第一边界之间的距离,第二距离为每个游戏角色的位置坐标与第二边界之间的距离。
可选地,如图4所示,生成模块20可以包括:比对单元200,用于将视野动态纹理贴图中每个像素的颜色通道的颜色值与上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;确定单元202,用于根据比对结果确定待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
可选地,如图4所示,上述装置还可以包括:存储模块30,用于将待使用的迷雾遮罩贴图存储至预设存储区域;恢复模块40,用于在发生异常时,从预设存储区域内读取待使用的迷雾遮罩贴图并使用待使用的迷雾遮罩贴图。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种迷雾遮罩贴图的生成方法,其特征在于,该方法应用于图形处理器,包括:
获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;
对所述视野动态纹理贴图和所述上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
2.根据权利要求1所述的方法,其特征在于,获取所述视野动态纹理贴图包括:
获取待显示在所述视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,所述多个游戏角色属于同一阵营,所述视野参数集合包括:第一边界和第二边界,所述第一边界围成的封闭区域为每个游戏角色的完全可见区域,所述第一边界与所述第二边界之间围成的封闭区域为视野过渡渐变区域,所述第二边界之外的开放区域为视野外区域;
将所述多个游戏角色中每个游戏角色在所述视野动态纹理贴图对应的世界场景中的世界坐标转换为在所述视野动态纹理贴图的位置坐标;
分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;
对每个游戏角色的视野贴图进行合并,得到所述视野动态纹理贴图。
3.根据权利要求2所述的方法,其特征在于,分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图包括:
根据所述第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;
根据所述第一边界和所述第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
4.根据权利要求3所述的方法,其特征在于,根据所述第一边界和所述第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野包括:
采用第一距离、第二距离和所述视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,其中,所述第一距离为每个游戏角色的位置坐标与第一边界之间的距离,所述第二距离为每个游戏角色的位置坐标与第二边界之间的距离;
根据所述第一边界的可见度值、所述第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值;
通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野。
5.根据权利要求1所述的方法,其特征在于,对所述视野动态纹理贴图和所述上次计算得到的迷雾遮罩贴图进行融合处理,生成所述待使用的迷雾遮罩贴图包括:
将所述视野动态纹理贴图中每个像素的颜色通道的颜色值与所述上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;
根据比对结果确定所述待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在对所述视野动态纹理贴图和所述上次计算得到的迷雾遮罩贴图进行融合处理,生成所述待使用的迷雾遮罩贴图之后,还包括:
将所述待使用的迷雾遮罩贴图存储至预设存储区域;
在发生异常时,从所述预设存储区域内读取所述待使用的迷雾遮罩贴图并使用所述待使用的迷雾遮罩贴图。
7.一种迷雾遮罩贴图的生成装置,其特征在于,该装置应用于图形处理器,包括:
获取模块,用于获取当前计算得到的视野动态纹理贴图和上次计算得到的迷雾遮罩贴图;
生成模块,用于对所述视野动态纹理贴图和所述上次计算得到的迷雾遮罩贴图进行融合处理,生成待使用的迷雾遮罩贴图。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取待显示在所述视野动态纹理贴图中多个游戏角色中每个游戏角色对应的视野参数集合,其中,所述多个游戏角色属于同一阵营,所述视野参数集合包括:第一边界和第二边界,所述第一边界围成的封闭区域为每个游戏角色的完全可见区域,所述第一边界与所述第二边界之间围成的封闭区域为视野过渡渐变区域,所述第二边界之外的开放区域为视野外区域;
转换单元,用于将所述多个游戏角色中每个游戏角色在所述视野动态纹理贴图对应的世界场景中的世界坐标转换为在所述视野动态纹理贴图的位置坐标;
计算单元,用于分别根据每个游戏角色对应的视野参数集合计算每个游戏角色在对应位置坐标上的视野贴图;
合并单元,用于对每个游戏角色的视野贴图进行合并,得到所述视野动态纹理贴图。
9.根据权利要求8所述的装置,其特征在于,所述计算单元包括:
第一确定子单元,用于根据所述第一边界确定每个游戏角色在对应位置坐标上的完全可见视野;
第二确定子单元,用于根据所述第一边界和所述第二边界确定每个游戏角色在对应位置坐标上的过渡渐变视野。
10.根据权利要求9所述的装置,其特征在于,所述第二确定子单元,用于采用第一距离、第二距离和所述视野过渡渐变区域内每个像素的坐标计算得到每个像素对应的渐变系数,根据所述第一边界的可见度值、所述第二边界的可见度值以及每个像素对应的渐变系数确定每个像素的可见度值,以及通过确定的每个像素的可见度值得到每个游戏角色的过渡渐变视野,其中,所述第一距离为每个游戏角色的位置坐标与第一边界之间的距离,所述第二距离为每个游戏角色的位置坐标与第二边界之间的距离。
11.根据权利要求7所述的装置,其特征在于,所述生成模块包括:
比对单元,用于将所述视野动态纹理贴图中每个像素的颜色通道的颜色值与所述上次计算得到的迷雾遮罩贴图中对应像素的颜色通道的颜色值进行比对;
确定单元,用于根据比对结果确定所述待使用的迷雾遮罩贴图中每个像素的颜色通道的颜色值。
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述装置还包括:
存储模块,用于将所述待使用的迷雾遮罩贴图存储至预设存储区域;
恢复模块,用于在发生异常时,从所述预设存储区域内读取所述待使用的迷雾遮罩贴图并使用所述待使用的迷雾遮罩贴图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611005445.4A CN106780642B (zh) | 2016-11-15 | 2016-11-15 | 迷雾遮罩贴图的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611005445.4A CN106780642B (zh) | 2016-11-15 | 2016-11-15 | 迷雾遮罩贴图的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106780642A true CN106780642A (zh) | 2017-05-31 |
CN106780642B CN106780642B (zh) | 2020-07-10 |
Family
ID=58968263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611005445.4A Active CN106780642B (zh) | 2016-11-15 | 2016-11-15 | 迷雾遮罩贴图的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780642B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358643A (zh) * | 2017-07-04 | 2017-11-17 | 网易(杭州)网络有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN107358579A (zh) * | 2017-06-05 | 2017-11-17 | 北京印刷学院 | 一种游戏战争迷雾实现方法 |
CN107808363A (zh) * | 2017-11-23 | 2018-03-16 | 杭州电魂网络科技股份有限公司 | 图像遮罩处理方法及装置 |
CN107875630A (zh) * | 2017-11-17 | 2018-04-06 | 杭州电魂网络科技股份有限公司 | 渲染区域确定方法及装置 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
CN109603155A (zh) * | 2018-11-29 | 2019-04-12 | 网易(杭州)网络有限公司 | 合并贴图的获取方法、装置、存储介质、处理器及终端 |
CN109920038A (zh) * | 2018-12-24 | 2019-06-21 | 苏州蜗牛数字科技股份有限公司 | 一种生成地形混合贴图材质的方法 |
CN109985384A (zh) * | 2019-03-21 | 2019-07-09 | 网易(杭州)网络有限公司 | 贴图动态调整方法及装置 |
WO2020038407A1 (zh) * | 2018-08-21 | 2020-02-27 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置及图像处理设备、存储介质 |
CN111340684A (zh) * | 2020-02-12 | 2020-06-26 | 网易(杭州)网络有限公司 | 一种游戏中图形处理的方法和装置 |
CN112604294A (zh) * | 2020-12-29 | 2021-04-06 | 完美世界(北京)软件科技发展有限公司 | 贴图资源的渲染方法和装置、电子设备和存储介质 |
CN113259712A (zh) * | 2020-02-13 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN113345068A (zh) * | 2021-06-10 | 2021-09-03 | 西安恒歌数码科技有限责任公司 | 一种基于osgEarth的战争迷雾绘制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2363956A (en) * | 2000-01-28 | 2002-01-09 | Namco Ltd | Game system and image creating method |
CN101221658A (zh) * | 2007-12-20 | 2008-07-16 | 四川川大智胜软件股份有限公司 | 基于软件的环幕帧缓存纹理重贴几何校正方法 |
US7410418B2 (en) * | 2005-06-28 | 2008-08-12 | David Graham Potter | Chess-like game involving hidden information |
KR101494371B1 (ko) * | 2013-10-22 | 2015-02-23 | 앰코 테크놀로지 코리아 주식회사 | 이종의 서브스트레이트를 가지는 반도체 패키지 및 방법 |
CN104392478A (zh) * | 2014-10-31 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种屏幕空间中体积雾的算法 |
-
2016
- 2016-11-15 CN CN201611005445.4A patent/CN106780642B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2363956A (en) * | 2000-01-28 | 2002-01-09 | Namco Ltd | Game system and image creating method |
US7410418B2 (en) * | 2005-06-28 | 2008-08-12 | David Graham Potter | Chess-like game involving hidden information |
CN101221658A (zh) * | 2007-12-20 | 2008-07-16 | 四川川大智胜软件股份有限公司 | 基于软件的环幕帧缓存纹理重贴几何校正方法 |
KR101494371B1 (ko) * | 2013-10-22 | 2015-02-23 | 앰코 테크놀로지 코리아 주식회사 | 이종의 서브스트레이트를 가지는 반도체 패키지 및 방법 |
CN104392478A (zh) * | 2014-10-31 | 2015-03-04 | 无锡梵天信息技术股份有限公司 | 一种屏幕空间中体积雾的算法 |
Non-Patent Citations (2)
Title |
---|
LSVULFE: "Fog Of War", 《GOOGLE网页在线公开HTTPS://FORUMS.UNREALENGINE.COM/COMMUNITY/COMMUNITY-CONTENT-TOOLS-AND-TUTORIALS/26436-TUTORIAL-FOG-OF-WAR?55650-TUTORIAL-FOG-OF-WAR=》 * |
XOYOJANK: "游戏中的战争迷雾", 《百度网页在线公开:HTTPS://BLOG.CSDN.NET/XOYOJANK/ARTICLE/DETAILS/12259161》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358579A (zh) * | 2017-06-05 | 2017-11-17 | 北京印刷学院 | 一种游戏战争迷雾实现方法 |
CN107358643A (zh) * | 2017-07-04 | 2017-11-17 | 网易(杭州)网络有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN107358643B (zh) * | 2017-07-04 | 2020-08-14 | 网易(杭州)网络有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN107909541A (zh) * | 2017-11-13 | 2018-04-13 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
CN107909541B (zh) * | 2017-11-13 | 2021-01-01 | 杭州电魂网络科技股份有限公司 | 地图转换方法及装置 |
CN107875630B (zh) * | 2017-11-17 | 2020-11-24 | 杭州电魂网络科技股份有限公司 | 渲染区域确定方法及装置 |
CN107875630A (zh) * | 2017-11-17 | 2018-04-06 | 杭州电魂网络科技股份有限公司 | 渲染区域确定方法及装置 |
CN107808363A (zh) * | 2017-11-23 | 2018-03-16 | 杭州电魂网络科技股份有限公司 | 图像遮罩处理方法及装置 |
CN107808363B (zh) * | 2017-11-23 | 2020-12-25 | 杭州电魂网络科技股份有限公司 | 图像遮罩处理方法及装置 |
US11295528B2 (en) | 2018-08-21 | 2022-04-05 | Tencent Technology (Shenzhen) Company Limited | Image rendering method and apparatus, image processing device, and storage medium |
WO2020038407A1 (zh) * | 2018-08-21 | 2020-02-27 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置及图像处理设备、存储介质 |
CN109603155A (zh) * | 2018-11-29 | 2019-04-12 | 网易(杭州)网络有限公司 | 合并贴图的获取方法、装置、存储介质、处理器及终端 |
US11325045B2 (en) | 2018-11-29 | 2022-05-10 | Netease (Hangzhou) Network Co., Ltd. | Method and apparatus for acquiring merged map, storage medium, processor, and terminal |
CN109920038A (zh) * | 2018-12-24 | 2019-06-21 | 苏州蜗牛数字科技股份有限公司 | 一种生成地形混合贴图材质的方法 |
CN109985384A (zh) * | 2019-03-21 | 2019-07-09 | 网易(杭州)网络有限公司 | 贴图动态调整方法及装置 |
CN109985384B (zh) * | 2019-03-21 | 2022-10-04 | 网易(杭州)网络有限公司 | 贴图动态调整方法及装置 |
CN111340684A (zh) * | 2020-02-12 | 2020-06-26 | 网易(杭州)网络有限公司 | 一种游戏中图形处理的方法和装置 |
CN111340684B (zh) * | 2020-02-12 | 2024-03-01 | 网易(杭州)网络有限公司 | 一种游戏中图形处理的方法和装置 |
CN113259712A (zh) * | 2020-02-13 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN113259712B (zh) * | 2020-02-13 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN112604294A (zh) * | 2020-12-29 | 2021-04-06 | 完美世界(北京)软件科技发展有限公司 | 贴图资源的渲染方法和装置、电子设备和存储介质 |
CN113345068A (zh) * | 2021-06-10 | 2021-09-03 | 西安恒歌数码科技有限责任公司 | 一种基于osgEarth的战争迷雾绘制方法及系统 |
CN113345068B (zh) * | 2021-06-10 | 2023-12-05 | 西安恒歌数码科技有限责任公司 | 一种基于osgEarth的战争迷雾绘制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106780642B (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106780642A (zh) | 迷雾遮罩贴图的生成方法及装置 | |
CN110378985B (zh) | 一种基于gan的动漫绘画辅助创作方法 | |
McDonnell et al. | Illustrative parallel coordinates | |
US9886747B2 (en) | Digital image blemish removal | |
Kumar et al. | A comprehensive survey on non-photorealistic rendering and benchmark developments for image abstraction and stylization | |
Liu et al. | Structure-guided arbitrary style transfer for artistic image and video | |
CN108295467A (zh) | 图像的呈现方法、装置及存储介质、处理器和终端 | |
Gerl et al. | Interactive example-based hatching | |
Zou et al. | Virtual restoration of the colored paintings on weathered beams in the Forbidden City using multiple deep learning algorithms | |
Liu et al. | Generating classic mosaics with graph cuts | |
He | Application of local color simulation method of landscape painting based on deep learning generative adversarial networks | |
Zhu et al. | Sand painting conversion based on detail preservation | |
Shang et al. | Automatic portrait image pixelization | |
CN115272628A (zh) | 一种三维模型的渲染方法、装置、计算机设备及存储介质 | |
CN101799931A (zh) | 基于颜色特征学习的绘画渲染方法 | |
Gao et al. | PencilArt: a chromatic penciling style generation framework | |
CN108038835A (zh) | 显著性驱动的图像重要区域马赛克自动生成方法 | |
Dutta et al. | An efficient reversible digital oil painting technique for smartphone and tablet users | |
Li et al. | Rendering and Presentation of 3D digital ink landscape painting | |
JP2001070634A (ja) | ゲーム機及びゲーム機におけるゲーム方法 | |
CN105160634B (zh) | 像素图像放大方法及系统 | |
Benjamin et al. | Painting with triangles | |
CN104820963B (zh) | 基于刻痕的云南绝版套刻的数字模拟合成方法 | |
Kang et al. | Generation of coherent mosaic animations: enhancement and evaluation of temporal coherence | |
Sauvaget et al. | Comics stylization from photographs |
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 |