CN110400372B - 一种图像处理的方法及装置、电子设备、存储介质 - Google Patents
一种图像处理的方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN110400372B CN110400372B CN201910726642.2A CN201910726642A CN110400372B CN 110400372 B CN110400372 B CN 110400372B CN 201910726642 A CN201910726642 A CN 201910726642A CN 110400372 B CN110400372 B CN 110400372B
- Authority
- CN
- China
- Prior art keywords
- pixel
- depth
- difference coefficient
- grid body
- virtual camera
- 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
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明实施例提供了一种图像处理的方法及装置、电子设备,包括:对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;确定所述每个像素与虚拟摄像头之间的距离;根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;根据每个像素的深度差值系数,对所述目标网格体进行渲染,实现了自动生成具有不同深度视觉效果的图像,提升游戏中图像的质量,降低了游戏开发成本。
Description
技术领域
本发明涉及游戏领域,特别是涉及一种图像处理的方法及装置、电子设备、存储介质。
背景技术
在网络游戏中,为了给游戏玩家带来更好的3D游戏体验,可以利用多种丰富的三维网格体绘制手段对游戏画面进行渲染。
例如,为了对游戏画面中的海洋进行模拟与渲染,可以由美术设计师在三维模型网格体上进行预处理,设置并制作多种渲染项目,以生成具有拟真效果的海洋图像。
然而,在这种游戏画面的绘制与表现过程中,多种图像效果都需要美术设计师根据游戏场景实际情况进行绘制和调整,可复用率低,导致游戏开发成本较高,并且针对同一个游戏画面,不同的美术设计师会绘制出不同的游戏画面效果,游戏画面质量往往参差不齐。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种图像处理的方法及装置、电子设备、存储介质,包括:
一种图像处理的方法,包括:
对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;
对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
确定所述每个像素与虚拟摄像头之间的距离;
根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
根据每个像素的深度差值系数,对所述目标网格体进行渲染。
可选地,所述确定所述每个像素与虚拟摄像头之间的距离,包括:
获取从所述虚拟摄像头到每个像素的射线;
确定所述每个像素对应的射线与所述目标网格体的交叉位置;
将所述交叉位置与所述虚拟摄像头之间的距离确定为所述每个像素与虚拟摄像头之间的距离。
可选地,所述根据每个像素的深度差值系数,对所述目标网格体进行渲染,包括:
根据预生成的颜色渐变贴图和所述每个像素的深度差值系数,对所述目标网格体进行渲染。
可选地,所述根据每个像素的深度差值系数,对所述目标网格体进行渲染,包括:
根据预生成的海浪贴图和/或浪花贴图、以及所述每个像素的深度差值系数,对所述目标网格体进行渲染。
可选地,所述根据预生成的海浪贴图和/或浪花贴图、以及所述每个像素的深度差值系数,对所述目标网格体进行渲染,包括:
确定大于预设阈值的深度差值系数对应的像素;
根据预生成的海浪贴图和/或浪花贴图,对确定的所述目标网格体中深度差值系数大于预设阈值的像素进行渲染。
可选地,所述目标网格体为非透明混合体。
可选地,所述目标网格体为海床网格体。
可选地,所述根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数,包括:
根据所述每个像素的深度数值及与所述虚拟摄像头之间的距离的差值,获得所述每个像素对应的深度差值系数。
一种图像处理的装置,包括:
深度图像生成模块,用于对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;
深度图像采样模块,用于对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
距离确定模块,用于确定所述每个像素与虚拟摄像头之间的距离;
深度差值系数获取模块,用于根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
渲染模块,用于根据每个像素的深度差值系数,对所述目标网格体进行渲染。
本发明一实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上图像处理的方法的步骤。
本发明一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上图像处理的方法的步骤。
本发明实施例具有以下优点:
在本发明实施例中,通过对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像,并对深度图像采样,获得目标网格体中每个像素的深度数值,确定每个像素与虚拟摄像头之间的距离,根据每个像素的深度数值,及每个像素与虚拟摄像头之间的距离,获得每个像素对应的深度差值系数,根据每个像素的深度差值系数,对目标网格体进行渲染,实现了自动生成具有不同深度视觉效果的图像,提升游戏中图像的质量,降低了游戏开发成本。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种图像处理的方法的步骤流程图;
图2是本发明一实施例提供的一种颜色渐变贴图;
图3是本发明一实施例提供的一种海浪贴图;
图4是本发明一实施例提供的一种遮罩图样;
图5是本发明一实施例提供的一种图像处理的装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在计算机图形领域中,流体的模拟一直是难点和重点,而在实时渲染中模拟出接近真实世界物理特性的海洋和水体是游戏中不断追寻的目标之一。
在进行海洋模拟时,可以采用三维模型网格体的顶点颜色来控制各项海洋属性的混合方式以及表现方式,如海水颜色的变化、海浪出现的位置与范围、浪花泡沫产生的区域,并配合其他渲染项进行海洋模拟。
具体的,为了优化模拟效果,需要根据陆地海岸的走向和外形来控制三维模型网格体的外形、顶点排布密度,而三维模型网格体需要通过外置的第三方软件工具预先制作,在制作完成后导入游戏引擎中。当海岸形状或顶点密度发生变化时,需要在第三方软件中修改三维模型网格体,并将数据重新导入引擎中,当反复修改时,需要在游戏引擎和第三方软件之间来回传输。
并且,在渲染三维模型网格体时,需要程序工程师预先在游戏引擎中设置颜色描述工具,如可以在网格体表面绘制纯红、纯蓝、纯绿三种顶点颜色的数字笔刷,同时,需要美术设计师凭借经验,感性地利用笔刷描绘海洋的各项属性(如海水颜色、海浪区域、浪花位置等),通过纯红、纯蓝、纯绿三种顶点颜色相互遮罩,控制海洋属性的混合效果和视觉感官。
为了减少三维模型网格体在游戏引擎和第三方软件之间的传输次数,提高三维模型网格体渲染效果的可控性,防止绘制效果因人而异,降低绘制成本,本发明提供了一种图像处理的方法,具体步骤如下所述:
参照图1,示出了本发明一实施例提供的一种图像处理的方法的步骤流程图,该方法可以应用于游戏引擎,具体可以包括如下步骤:
步骤101,对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;
其中,深度缓冲信息处理可以是在平面显示三维图像的场景中,处理三维图像深度坐标的过程,通过深度缓冲信息处理,可以解决渲染游戏场景中景物的可见性问题,在本发明实施例中,帧图像中的目标网格体为三维图像。
作为一示例,目标网格体可以包括海床网格体和海平面网格体两部分,目标网格体可以具有深度坐标,其中,海床网格体可以为非透明混合体,海平面网格体可以为透明混合体。
在实际应用中,游戏引擎可以预先导入三维软件生成的目标网格体。在游戏过程中,游戏玩家可以通过点击拖动鼠标,或者拖动屏幕,或点击按键操控虚拟摄像头,响应于游戏玩家的操作,虚拟摄像头相应发生转动,以捕捉游戏场景中的画面,在获取到包含目标网格体的帧图像时,通过游戏引擎底层或计算机硬件,可以对帧图像进行深度缓冲信息处理(也可称为深度缓冲处理),获取目标网格体的深度坐标,并利用深度坐标生成深度图像,如灰度图。
具体的,在进行深度缓冲信息处理时,可以排除目标网格体中的透明混合体,即剔除海平面网格体,仅对海床网格体进行深度缓冲信息处理,生成海床网格体的灰度图,使得海平面网格体不会被渲染到深度图像中,当然,在本发明实施例中,目标网络体也可以仅包含海床网格体。
需要说明的是,可以把深度缓冲理解为处理深度信息的过程,深度图像是处理后呈现的结果,是可以方便利用和进一步处理的;而且深度图像不仅可以给海洋的模拟生成用,还有其他的一些方面也可以应用,并且在着色器的编写中直接采样深度图像更为方便快捷。
步骤102,对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
在生成深度图像后,游戏引擎可以在渲染管线中对深度图像进行采样,例如,在采用灰度值表征深度数值时,可以通过着色程序中的函数和宏,从灰度图中读取海床网格体每个像素的灰度值,获得目标网格体中的海床网格体每个像素或顶点的深度数值。
步骤103,确定所述每个像素与虚拟摄像头之间的距离;
在实际中,当人眼望向海平面时,水深越浅、越靠近海岸的地方海水颜色越淡、越亮,反之,则海水颜色越深、越暗。为了模拟这一视觉效果,在获取目标网格体像素的深度数值后,可以进一步确定海床网格体每个像素与虚拟摄像头之间的距离,这一距离可以是虚拟摄像头到海平面网格体的距离。
在本发明一实施例中,步骤103可以包括以下子步骤:
获取从所述虚拟摄像头到每个像素的射线;确定所述每个像素对应的射线与所述目标网格体的交叉位置;将所述交叉位置与所述虚拟摄像头之间的距离确定为所述每个像素与虚拟摄像头之间的距离。
由于光沿直线传播,为了模拟肉眼接收到海床反射的光线,可以把虚拟摄像头作为原点,向海床网格体上的每一个像素分别作射线,获取虚拟摄像头到海床网格体像素的射线。
每一条射线在指向海床网格体像素的过程中,都可以与目标网格体中的表面相交,产生一交叉位置,我们可以认为目标网格体的表面为海平面网格体。
在获得射线与海平面网格体的交叉位置后,可以进一步计算交叉位置与虚拟摄像头之间的距离,例如,可以建立一个以虚拟摄像头为原点的三维坐标系,通过虚拟摄像头的坐标以及交叉位置的坐标,计算两者之间的直线距离,并将这一距离确定为像素与虚拟摄像头之间的距离。
步骤104,根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
由于海平面网格体的视觉效果受海水深度,以及虚拟摄像头与海床网格体的相对位置影响,通过海床网格体像素的深度数值可以反映海水深度,海床网格体像素与虚拟摄像头之间的距离,则可以反映虚拟摄像头与海平面网格体的相对位置。
在获取海床网格体像素的深度数值,以及海床网格体像素与虚拟摄像头之间的距离后,可以基于这两个信息,计算海床网格体上每个像素的深度差值系数,通过这一深度差值系数,可以模拟人眼看到的海洋深度,综合反映海平面网格体、海床网格体以及虚拟摄像头三者之间的相对位置。
在本发明一实施例中,步骤104可以包括如下子步骤:根据所述每个像素的深度数值及与所述虚拟摄像头之间的距离的差值,获得所述每个像素对应的深度差值系数。
在计算深度差值系数时,可以用目标网格体中每个像素对应的深度数值与该像素与虚拟摄像头之间的距离的差值作为目标网格体每个像素的深度差值系数,在本发明实施例中,即可以用海床网格体像素的深度数值减去对应的海平面网格体像素与虚拟摄像头之间的距离,将两者之间的差值作为海平面网格体上每个像素的深度差值系数。
由于在生成深度图像时可以将目标网格体中的透明混合体排除,海平面网格体不被渲染到深度图像中,使得两者之间的差值不会为零,即深度差值系数不等于零。
步骤105,根据每个像素的深度差值系数,对所述目标网格体进行渲染。
在获取海床网格体每个像素的深度差值系数后,即可以利用不同的深度差值系数,对目标网格体进行渲染,也即对海平面网格体的各个像素进行渲染,同时,还可以配合顶点动画、反射、折射、投射等渲染动作,生成包含目标网格体的图像,并将这一图像展现在游戏画面中。
在本发明一实施例中,步骤105可以包括如下子步骤:
根据预生成的颜色渐变贴图和所述每个像素的深度差值系数,对所述目标网格体进行渲染。
具体的,游戏引擎中可以预置颜色渐变贴图,如图2所示的颜色梯度图(颜色渐变贴图),并在一列表中设置颜色与深度差值系数之间的对应关系,例如,每一深度差值系数或每一深度差值系数范围内的像素对应的的具体颜色或颜色范围。在获取像素的深度差值系数后,可以在列表中进行查询,然后根据查询结果从颜色梯度图中采样颜色,利用这一颜色对海平面网格体进行渲染。
在实际应用中,可以通过图像处理软件如Photoshop快速地生成一颜色渐变贴图并保存于游戏引擎中,贴图中的颜色可以从浅蓝色渐变到深蓝色,深度差值系数越小,即海水水域越靠近海岸边,水深也越浅,则从颜色渐变贴图中拾取的目标网格体的颜色越淡、越亮;深度差值系数越大,即海水水域越远离海岸边,水深也越深,从颜色渐变贴图中拾取的目标网格体的颜色越深、越暗。
游戏引擎通过深度差值系数可以自动识别水深和与岸边的距离,当游戏场景模型中的陆地造型发生变化时,海平面的视觉效果也可以相应变化,无需再修改目标网格体的外形、顶点排布,仅通过深度差值系数即可反映该视觉效果的变化,目标网格体可以制作成常规的平面网格,减少了制作海平面网格体的特殊要求和在不同软件中反复传输修改的麻烦。
同时,通过调整颜色渐变贴图的色彩梯度即可以控制海平面的颜色,无需专门开发颜色描述工具,节约了美术开发人员和程序工程师在进行海洋模拟时的开发成本,提升了图像处理的效率。
并且,通过深度差值系数对目标网格体中海平面网格体进行渲染,自动在颜色渐变贴图中拾取颜色,也使得目标网格体的渲染效果是可量化且可控的,提升了图像的视觉呈现效果。
在本发明另一实施例中,步骤105可以包括如下子步骤:
子步骤11,根据预生成的海浪贴图和/或浪花贴图、以及所述每个像素的深度差值系数,对所述目标网格体进行渲染。
除了为目标网格体渲染颜色,由于海水不断流动,海平面上还会有海浪和浪花,还可以在游戏引擎中预先设置海浪贴图和浪花贴图,例如,图3所示的海浪形态Alpha图样(即海浪贴图)。
在本发明实施例中,对海浪贴图和浪花贴图的采样与对颜色梯度图的采样相似,例如,可以在游戏引擎中预置一列表,设置海浪形态或浪花浪型与深度差值系数之间的对应关系,在一深度差值系数或一深度差值系数范围内,对应的海浪形态或浪花浪型。
在确定每个像素的深度差值系数后,可以从海浪贴图或浪花贴图中拾取每个像素的深度差值系数对应的海浪形态或浪花形态,对目标网格体的表面(即海平面网格体)进行渲染,通过制作或修改海浪贴图和浪花贴图,可以灵活地渲染出各式各样的浪型
为了让海浪或浪花的出现位置更加生动、随机,还可以利用遮罩图样(即Alpha遮罩图样,如图4所示),对渲染后的海平面网格体进行混合扰乱处理,模拟更逼真的海洋图像。
在本发明一实施例中,子步骤11还可以包括如下子步骤:
确定大于预设阈值的深度差值系数对应的像素;根据预生成的海浪贴图和/或浪花贴图,对确定的所述目标网格体中深度差值系数大于预设阈值的像素进行渲染。
由于海洋并不是每一处都会产生海浪或者浪花,而是在海水达到某一深度时才形成海浪或浪花,游戏引擎可以在深度差值系数达到某一预设阈值时,利用海浪贴图和浪花贴图对目标网格体的像素进行渲染。
在采用海浪贴图和浪花贴图进行渲染时,可以先判断目标网格体上各个像素的深度差值系数是否大于预设阈值,当深度差值系数大于预设阈值时,可以确定这一像素为需要采用海浪贴图或浪花贴图进行渲染的像素,当深度差值系数小于预设阈值时,可以不为其渲染海浪或浪花。
在确定需要渲染的像素后,可以在预置的海浪贴图或浪花贴图中,为每一个像素查找在其深度差值系数下的海浪形态或浪花浪型,对海平面网格体的像素进行渲染,同时,还可以辅以贴图偏移或遮罩等效果处理,或者设置海浪或浪花的相关参数,如海浪的流动频率、速度、数量和范围,生成颜色多变、带有海浪或浪花的海洋图像。
在本发明实施例中,通过对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像,并对深度图像采样,获得目标网格体中每个像素的深度数值,确定每个像素与虚拟摄像头之间的距离,根据每个像素的深度数值,及每个像素与虚拟摄像头之间的距离,获得每个像素对应的深度差值系数,根据每个像素的深度差值系数,对目标网格体进行渲染,实现了自动生成具有不同深度视觉效果的图像,提升游戏中图像的质量,降低了游戏开发成本。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明一实施例提供的一种图像处理的装置的结构示意图,可以应用于游戏引擎,具体可以包括如下模块:
深度图像生成模块501,用于对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;
深度图像采样模块502,用于对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
距离确定模块503,用于确定所述每个像素与虚拟摄像头之间的距离;
深度差值系数获取模块504,用于根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
渲染模块505,用于根据每个像素的深度差值系数,对所述目标网格体进行渲染。
在本发明一实施例中,距离确定模块503可以包括以下子模块:
射线获取子模块,用于获取从所述虚拟摄像头到每个像素的射线;
交叉位置确定子模块,用于确定所述每个像素对应的射线与所述目标网格体的交叉位置;
距离获取子模块,用于将所述交叉位置与所述虚拟摄像头之间的距离确定为所述每个像素与虚拟摄像头之间的距离。
在本发明一实施例中,渲染模块505可以包括如下子模块:
颜色渐变贴图渲染子模块,根据预生成的颜色渐变贴图和所述每个像素的深度差值系数,对所述目标网格体进行渲染。
在本发明另一实施例中,渲染模块505可以包括如下子模块:
海浪贴图渲染子模块,用于根据预生成的海浪贴图和/或浪花贴图、以及所述每个像素的深度差值系数,对所述目标网格体进行渲染。
在本发明另一实施例中,海浪贴图渲染子模块可以包括如下单元:
像素确定单元,用于确定大于预设阈值的深度差值系数对应的像素;
像素渲染单元,用于根据预生成的海浪贴图和/或浪花贴图,对确定的所述目标网格体中深度差值系数大于预设阈值的像素进行渲染。
在本发明一实施例中,目标网格体可以为非透明混合体。
在本发明另一实施例中,目标网格体可以为海床网格体。
在本发明一实施例中,深度差值系数获取模块504可以包括如下子模块:
差值获取子模块,用于根据所述每个像素的深度数值及与所述虚拟摄像头之间的距离的差值,获得所述每个像素对应的深度差值系数
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上图像处理的方法的步骤。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上图像处理的方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种图像处理的方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种图像处理的方法,其特征在于,包括:
对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;所述目标网格体包括海床网格体和海平面网格体;
对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
确定所述每个像素与虚拟摄像头之间的距离;
根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
其中,所述根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数,包括:
采用海床网格体像素的深度数值减去对应的海平面网格体像素与所述虚拟摄像头之间的距离,将两者之间的差值作为所述海平面网格体上每个像素的深度差值系数;
根据每个像素的深度差值系数,对所述目标网格体进行渲染;
其中,所述深度数值用于表征海水深度;
所述根据每个像素的深度差值系数,对所述目标网格体进行渲染,包括:
基于预先设置的颜色与深度差值系数之间的对应关系,根据所述每个像素的深度差值系数,从预生成的颜色渐变贴图中采样所述每个像素的深度差值系数对应的颜色,对所述目标网格体进行渲染;和/或,
基于预先设置的海浪形态或浪花浪型与深度差值系数之间的对应关系,根据所述每个像素的深度差值系数,从预生成的海浪贴图和/或浪花贴图中拾取所述每个像素的深度差值系数对应的海浪形态或浪花形态,对所述目标网格体进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述确定所述每个像素与虚拟摄像头之间的距离,包括:
获取从所述虚拟摄像头到每个像素的射线;
确定所述每个像素对应的射线与所述目标网格体的交叉位置;
将所述交叉位置与所述虚拟摄像头之间的距离确定为所述每个像素与虚拟摄像头之间的距离。
3.根据权利要求1所述的方法,其特征在于,所述根据预生成的海浪贴图和/或浪花贴图、以及所述每个像素的深度差值系数,对所述目标网格体进行渲染,包括:
确定大于预设阈值的深度差值系数对应的像素;
根据预生成的海浪贴图和/或浪花贴图,对确定的所述目标网格体中深度差值系数大于预设阈值的像素进行渲染。
4.根据权利要求2所述的方法,其特征在于,所述目标网格体为非透明混合体。
5.根据权利要求2所述的方法,其特征在于,所述根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数,包括:
根据所述每个像素的深度数值及与所述虚拟摄像头之间的距离的差值,获得所述每个像素对应的深度差值系数。
6.一种图像处理的装置,其特征在于,包括:
深度图像生成模块,用于对包含目标网格体的帧图像进行深度缓冲信息处理,生成对应的深度图像;所述目标网格体包括海床网格体和海平面网格体;
深度图像采样模块,用于对所述深度图像采样,获得所述目标网格体中每个像素的深度数值;
距离确定模块,用于确定所述每个像素与虚拟摄像头之间的距离;
深度差值系数获取模块,用于根据所述每个像素的深度数值,及所述每个像素与所述虚拟摄像头之间的距离,获得所述每个像素对应的深度差值系数;
其中,所述深度差值系数获取模块,还用于采用海床网格体像素的深度数值减去对应的海平面网格体像素与所述虚拟摄像头之间的距离,将两者之间的差值作为所述海平面网格体上每个像素的深度差值系数;
渲染模块,用于根据每个像素的深度差值系数,对所述目标网格体进行渲染;
其中,所述深度数值用于表征海水深度;
所述渲染模块包括:
颜色渐变贴图渲染子模块,基于预先设置的颜色与深度差值系数之间的对应关系,根据所述每个像素的深度差值系数,从预生成的颜色渐变贴图中采样所述每个像素的深度差值系数对应的颜色,对所述目标网格体进行渲染;和/或,
海浪贴图渲染子模块,用于基于预先设置的海浪形态或浪花浪型与深度差值系数之间的对应关系,根据所述每个像素的深度差值系数,从预生成的海浪贴图和/或浪花贴图中拾取所述每个像素的深度差值系数对应的海浪形态或浪花形态,对所述目标网格体进行渲染。
7.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的图像处理的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的图像处理的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910726642.2A CN110400372B (zh) | 2019-08-07 | 2019-08-07 | 一种图像处理的方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910726642.2A CN110400372B (zh) | 2019-08-07 | 2019-08-07 | 一种图像处理的方法及装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110400372A CN110400372A (zh) | 2019-11-01 |
CN110400372B true CN110400372B (zh) | 2023-10-20 |
Family
ID=68327776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910726642.2A Active CN110400372B (zh) | 2019-08-07 | 2019-08-07 | 一种图像处理的方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110400372B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111415400B (zh) * | 2020-03-25 | 2023-07-18 | 网易(杭州)网络有限公司 | 一种模型渲染的方法及装置、电子设备、存储介质 |
CN111462293B (zh) * | 2020-04-02 | 2023-11-21 | 网易(杭州)网络有限公司 | 三维角色模型的特效处理方法、装置、设备及存储介质 |
CN111598986B (zh) * | 2020-05-13 | 2023-09-26 | 网易(杭州)网络有限公司 | 虚拟流体表面的渲染方法、装置、设备及存储介质 |
CN112274921B (zh) * | 2020-10-23 | 2024-07-19 | 完美世界(重庆)互动科技有限公司 | 游戏角色的渲染方法、装置、电子设备及存储介质 |
CN115641399B (zh) * | 2022-09-08 | 2024-05-17 | 上海新迪数字技术有限公司 | 基于图像的多层网格拾取方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108031117A (zh) * | 2017-12-06 | 2018-05-15 | 北京像素软件科技股份有限公司 | 区域雾效实现方法及装置 |
CN109685869A (zh) * | 2018-12-25 | 2019-04-26 | 网易(杭州)网络有限公司 | 虚拟模型渲染方法与装置、存储介质、电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110109617A1 (en) * | 2009-11-12 | 2011-05-12 | Microsoft Corporation | Visualizing Depth |
-
2019
- 2019-08-07 CN CN201910726642.2A patent/CN110400372B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108031117A (zh) * | 2017-12-06 | 2018-05-15 | 北京像素软件科技股份有限公司 | 区域雾效实现方法及装置 |
CN109685869A (zh) * | 2018-12-25 | 2019-04-26 | 网易(杭州)网络有限公司 | 虚拟模型渲染方法与装置、存储介质、电子设备 |
Non-Patent Citations (1)
Title |
---|
基于3D图形引擎的雾化渲染方法及实现;熊西满;《万方学位论文》;20110215;正文第3.2、4.1-4.1节及其中所有的图 * |
Also Published As
Publication number | Publication date |
---|---|
CN110400372A (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110400372B (zh) | 一种图像处理的方法及装置、电子设备、存储介质 | |
Guo et al. | Foggy scene rendering based on transmission map estimation | |
CN103218846B (zh) | 三维树木模型的水墨画模拟方法 | |
CN106228591B (zh) | 虚拟现实超高速实时渲染方法 | |
CN115906703A (zh) | 一种用于实时交互应用的gpu流体仿真方法 | |
CN113144613B (zh) | 基于模型的体积云生成的方法 | |
CN117274353B (zh) | 合成图像数据生成方法、控制装置及可读存储介质 | |
Mirbauer et al. | SkyGAN: Towards Realistic Cloud Imagery for Image Based Lighting. | |
CN117036571B (zh) | 图像数据生成、视觉算法模型训练、评测方法及装置 | |
CN111429558A (zh) | 实时模拟动态水体缩略模型的方法及系统 | |
CN106730842A (zh) | 一种游戏动画显示方法和装置 | |
Onrust et al. | Ecologically sound procedural generation of natural environments | |
CN114332286B (zh) | 一种人工智能绘画方法、装置及计算机存储介质 | |
Fischer et al. | Stylized depiction in mixed reality | |
CN112734891A (zh) | 一种基于Unity3D的水体渲染实现系统及方法 | |
Zamri et al. | Research on atmospheric clouds: a review of cloud animation methods in computer graphics | |
Nugroho et al. | An Environmental Domain Awareness for Serious-Game Using Perlin Noise Base Heterogeneous Haze Visualization | |
Hawley | Grome Terrain Modeling with Ogre3D, UDK, and Unity3D | |
CN113902868B (zh) | 一种基于Wang Cubes的大规模海洋场景创作方法及装置 | |
CN117058301B (zh) | 一种基于延迟着色的针织物实时渲染方法 | |
Yutong et al. | Study of water surface scattering model based on Unity3D Shader | |
CN117618892A (zh) | 植被模型的生成方法、装置、电子设备及计算机可读介质 | |
CN116934940A (zh) | 基于光线追踪技术使用全景图生成模型贴图的方法 | |
Su et al. | Computer Aided Animation Post Effects Editing on Accurate Dynamic Simulation of Ocean Scene | |
Nikkola | Procedural Terrain Generation in VR Simulations |
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 |