CN112233216A - 游戏图像处理方法、装置及电子设备 - Google Patents

游戏图像处理方法、装置及电子设备 Download PDF

Info

Publication number
CN112233216A
CN112233216A CN202011499787.2A CN202011499787A CN112233216A CN 112233216 A CN112233216 A CN 112233216A CN 202011499787 A CN202011499787 A CN 202011499787A CN 112233216 A CN112233216 A CN 112233216A
Authority
CN
China
Prior art keywords
reflection
information
pixel point
map information
rendering
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
Application number
CN202011499787.2A
Other languages
English (en)
Other versions
CN112233216B (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.)
Chengdu Perfect World Network Technology Co Ltd
Original Assignee
Chengdu Perfect World Network Technology 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 Chengdu Perfect World Network Technology Co Ltd filed Critical Chengdu Perfect World Network Technology Co Ltd
Priority to CN202011499787.2A priority Critical patent/CN112233216B/zh
Publication of CN112233216A publication Critical patent/CN112233216A/zh
Application granted granted Critical
Publication of CN112233216B publication Critical patent/CN112233216B/zh
Priority to PCT/CN2021/119152 priority patent/WO2022127242A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)

Abstract

本申请公开了一种游戏图像处理方法、装置及电子设备,涉及图像处理技术领域。其中方法包括:首先获取游戏场景中定义的反射平面;再获取所述反射平面的结构数据;然后根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;最后利用所述贴图信息进行所述游戏场景的图像渲染。本申请可节省主相机的渲染开销,进而可节省游戏图像渲染成本。能够一次绘制多个平面的反射结果,不但可提高游戏图像渲染的效率,而且能够保证反射结果的正确性。

Description

游戏图像处理方法、装置及电子设备
技术领域
本申请涉及图像处理技术领域,尤其是涉及到一种游戏图像处理方法、装置及电子设备。
背景技术
随着游戏行业的发展,游戏爱好者越来越多。为了提升游戏玩家的游戏体验,游戏制作越来越趋于场景真实化。其中,反射效果是游戏画面中不可缺少的一部分,一般可以用于模拟金属或者玻璃等材质对于周围环境的镜面反射效果,或者水面对于天空和周围景色的反射效果等。
为了让游戏中模拟出尽可能真实的反射效果,目前,可利用假反射(FakeReflection)技术,让反射平面透明,直接在对称的地方摆放对称的物体,这样通过主相机一次就可以将需要的反射结果渲染出来。
然而,假反射只能够用于特定地方的特定角度,如果需要得到的结果越精确,就需要摆放越多的物体,这样主相机的渲染开销较高。
发明内容
有鉴于此,本申请提供了一种游戏图像处理方法、装置及电子设备,主要目的在于改善目前现有的反射处理技术中会受到特定地方的特定角度的限制,且会增加游戏图像渲染成本的技术问题。
依据本申请的一个方面,提供了一种游戏图像处理方法,该方法包括:
获取游戏场景中定义的反射平面;
获取所述反射平面的结构数据;
根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;
利用所述贴图信息进行所述游戏场景的图像渲染。
依据本申请的另一方面,提供了一种游戏图像处理装置,该装置包括:
获取模块,用于获取游戏场景中定义的反射平面;
获取模块,还用于获取所述反射平面的结构数据;
计算模块,用于根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;
渲染模块,用于利用所述贴图信息进行所述游戏场景的图像渲染。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述游戏图像处理方法。
依据本申请再一个方面,提供了一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述游戏图像处理方法。
借由上述技术方案,本申请提供的一种游戏图像处理方法、装置及电子设备,与现有的反射处理技术相比,本申请提出一种新的反射处理方案,具体可根据游戏场景中定义的反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息,后续利用该贴图信息进行游戏场景的图像渲染。本申请不受游戏场景中特定地方的特定角度的限制,不需要再额外在反射平面对称的地方摆放对称的物体,可节省主相机的渲染开销,进而可节省游戏图像渲染成本。能够一次绘制多个平面的反射结果,不但可提高游戏图像渲染的效率,而且能够保证反射结果的正确性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种游戏图像处理方法的流程示意图;
图2示出了本申请实施例提供的另一种游戏图像处理方法的流程示意图;
图3示出了本申请实施例提供的反射计算效果实例的示意图;
图4示出了本申请实施例提供的高斯模糊降噪效果实例的示意图;
图5示出了本申请实施例提供的反射平面材质贴图实例的示意图;
图6a、6b示出了本申请实施例提供的使用粗糙度采样Mipmap的效果对比实例的示意图;
图7a、7b示出了本申请实施例提供的使用法线扰动反射RT效果对比实例的示意图;
图8示出了本申请实施例提供的一种游戏图像处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对改善目前现有的反射处理技术中会受到特定地方的特定角度的限制,且会增加游戏图像渲染成本的技术问题。本实施例提供了一种游戏图像处理方法,如图1所示,该方法包括:
步骤101、获取游戏场景中定义的反射平面。
在本实施例中,可根据游戏场景的实际情况,确定游戏场景中需要定义的反射平面。例如,对于游戏场景中出现的水面、光滑的路面、建筑的玻璃、洗手台位置的镜子等,均可定义为反射平面,进而可使得游戏场景更加趋于真实化,提升游戏玩家的游戏体验。
对于本实施例的执行主体可为游戏图像处理的装置或设备,可配置在客户端侧或者服务端侧。
需要说明的是,游戏场景中可根据实际需求定义任意数量的反射平面,如1个、2个或更多个反射平面等。若获取到的游戏场景中定义的反射平面为多个,则针对每一反射平面执行以下处理过程,即步骤102至步骤103所示的过程。
步骤102、获取反射平面的结构数据。
其中,反射平面的结构数据可包括:顶点相对反射平面的镜面反射变换矩阵、反射平面的平面法线、反射平面的包围盒位置、反射平面的反射阈值、噪音强度等细节数据。
步骤103、根据反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息。
当前屏幕的像素信息可包含当前屏幕各个像素点的相关信息。当前屏幕空间的深度图信息可包含当前屏幕的深度信息,深度表示像素点在3D世界中距离相机的距离,像素点的深度值越大,则该像素点距离相机越远。
对于本实施例,基于反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息,可在前向渲染管线中计算反射结果,即通过正向光线寻找当前像素将要反射到哪个像素。例如,基于反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息,首先通过当前屏幕空间的深度图信息,计算出当前每个像素点的世界坐标,然后针对每个反射平面,计算像素点的世界坐标经过平面反射所处于的世界坐标点,最后将该像素点再回算到当前屏幕空间,经过深度测试以后,将深度测试成功的像素点的颜色和深度写入到贴图信息中,得到包含反射结果的贴图信息。
步骤104、利用计算得到的贴图信息进行游戏场景的图像渲染。
基于贴图信息利用图形处理器(Graphics Processing Unit,GPU)进行游戏场景的图像渲染。
本实施例提供的游戏图像处理方法,与现有的反射处理技术相比,本实施例提出一种新的反射处理方案,具体可根据游戏场景中定义的反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息,后续利用该贴图信息进行游戏场景的图像渲染。本实施例不受游戏场景中特定地方的特定角度的限制,不需要再额外在反射平面对称的地方摆放对称的物体,可节省主相机的渲染开销,进而可节省游戏图像渲染成本。能够一次绘制多个平面的反射结果,不但可提高游戏图像渲染的效率,而且能够保证反射结果的正确性。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的实施方式,本实施例还提供了另一种游戏图像处理方法,如图2所示,该方法包括:
步骤201、获取游戏场景中定义的反射平面。
示例性的,本实施例可基于Unity游戏引擎中实现。首先可自定义新的后处理组件,加入到PPV(Post-Process-Volume的简称,是Unity的通用渲染管线URP中所支持的一种后处理栈)中,在后处理的屏幕空间计算反射,具体可执行步骤202至204所示的过程。
在本实施例中,可在游戏场景中预先定义若干个反射平面,如水面,光滑的路面,玻璃等。
由于游戏场景中可能会存在大量的反射平面,而这些反射平面会存在一些距离摄像机较远的反射平面,如果将这些反射平面也进行反射计算,不但实际呈现效果不明显,而且会增加计算反射的开销。因此可根据配置选择当前最重要的N个反射平面,计算选择的这些反射平面的结构数据。具体可执行步骤202至203所示的过程。
步骤202、确定游戏场景中定义的反射平面与摄像机之间的距离。
步骤203、获取与摄像机之间的距离符合预设距离条件的反射平面的结构数据。
其中,预设距离条件可根据实际需求预先设定。例如,按照反射平面与摄像机之间的距离从近到远进行排序,靠前排的反射平面均是与摄像机之间距离较近的反射平面,计算这些反射平面的反射结果会使得游戏图像中的反射效果更加突出明显,而对于排在后面的反射平面,由于距离摄像机较远,如果将这些反射平面也进行反射计算,不但实际呈现效果不明显,而且会增加计算反射的开销。所以可取排名靠前的预设个数(前N个)的反射平面,作为距离符合预设距离条件的反射平面,然后计算这些反射平面的结构数据。
再例如,也可以预设一定的距离阈值,将与摄像机之间的距离小于或等于预设距离阈值的反射平面作为符合预设距离条件的反射平面,然后计算这些反射平面的结构数据。
利用中央处理器(Central Processing Unit,CPU),计算每个反射平面的数据结构DS1,可包含如下数据:
(a)顶点相对平面的镜面反射变换矩阵;
(b)反射平面的平面法线;
(c)反射平面的包围盒位置;
(d)反射平面的反射阈值、噪音强度等细节数据。
本实施例的反射计算,可结合平面反射(Planar Reflection)和屏幕空间反射技术(Screen-Space-Reflection,SSR)两种反射处理技术的优点,相当于屏幕空间平面反射技术(Screen-Space-Planar-Reflection,SSPR)的反射计算。在前向渲染管线中,仅通过屏幕空间计算反射。和SSR相反,SSR逆向光线寻找哪个像素反射到当前像素,SSPR是通过正向光线寻找当前像素将要反射到哪个像素。相对SSR而言,开销更低,无需SSR的光线步进技术(RayMarching)与延迟渲染管线。
延迟渲染管线,需要在每次渲染指令中,将数据写到多张贴图中,一般称之为GBuffer0,GBuffer1……。在这个过程中,需要使用一个名为多重渲染目标(Multi-Render-Target,MRT)的技术,所需的几何缓冲GBuffer越多,每一次渲染指令带来的带宽开销就越大。而前向渲染管线只需要使用一个或少个GBuffer,带宽开销相对更低。本实施例SSPR的反射计算是在前向渲染管线中进行,使用前向渲染管线比延迟渲染管线更加实惠,也更加普及,因此本实施例SSPR的反射计算以及图像渲染等可更适用于移动端。
下面具体介绍反射计算过程:
步骤204、根据反射平面的结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息。
例如,通过ComputeShader,进行SSPR的反射计算,即计算着色器(ComputeShader,CS)的计算。这个模块的输入数据,包括上一步骤203在CPU中计算的DS1数组(反射平面结构数据),当前屏幕的像素Color0(当前屏幕的像素信息),当前屏幕空间深度Depth0(当前屏幕空间的深度图信息),以及当前相机的投影数据CameraData(当前相机的投影数据),输出数据是一张贴图(包含反射结果的贴图信息),名为Ans0。
可选的,步骤204具体可包括:通过当前屏幕空间的深度图信息和所述当前相机的投影数据,计算当前屏幕的像素信息中每个像素点的世界坐标;参照结构数据中的顶点相对反射平面的镜面反射变换矩阵,在世界空间将像素点的世界坐标进行变化,得到反射结果的世界坐标;通过当前相机的投影数据,将反射结果的世界坐标转换到当前屏幕空间中,以便根据当前屏幕空间的深度图信息和反射结果进行深度测试;依据深度测试成功的像素点生成贴图信息。
示例性的,根据当前屏幕空间的深度图信息和反射结果进行深度测试,具体可包括:将目标像素点在所述当前屏幕空间的深度图信息中的深度值,与目标像素点在反射结果RGBA中A通道的值进行比较;相应的,依据测试通过的像素点生成贴图信息,具体可包括:若根据比较结果判定深度测试成功,则将目标像素点的颜色值和深度值写入到包含反射结果的贴图信息中;若根据比较结果判定深度测试失败,则抛弃该目标像素点。
例如,SSPR的反射计算的计算过程和步骤包括:
(1)通过深度图Depth0和相机投影数据CameraData,算出每个像素点的世界坐标;
(2)通过DS1中的反射变换矩阵,在世界空间将像素点的世界坐标进行变化,得到反射结果的世界坐标;
(3)通过相机投影数据CameraData,将反射结果的世界坐标转换到屏幕空间,然后将深度图中的深度值和Ans0的A通道进行比较,也就是深度测试;如果深度测试成功,则将该像素点的颜色和深度写到Ans0中,如果失败,则抛弃此像素点;
(4)针对每个反射平面,也即DS1数组中的元素,在步骤(2)和步骤(3)之间循环,直至每个反射平面的SSPR的反射计算完成时终止,最终得到的Ans0,即反射计算得到的包含反射结果的贴图信息,如图3所示,为SSPR的反射计算后的结果,即CS直接计算出的反射的结果。
为了提高反射计算效率,可选的,步骤204具体还可包括:在前向渲染管线中,利用GPU多核进行反射计算得到贴图信息。例如,通过ComputeShader,利用GPU多核特性加速反射的计算。
步骤205、利用包含反射结果的贴图信息进行游戏场景的图像渲染。
通过SSPR的反射计算后的反射结果中可能存在盲点,因为为了去除盲点,可选的,步骤205具体可包括:首先通过高斯模糊算法对贴图信息中的反射结果进行降噪处理;然后利用降噪处理后的贴图信息进行游戏场景的图像渲染。例如,通过开源的高斯模糊算法进行降噪处理,并没有为了提高降噪处理效果,可使用多次高斯模糊得到质量更高的贴图效果,如图4所示,为利用高斯模糊算法进行降噪处理的效果图。
为了得到更好的优化处理效果,进一步可选的,在步骤205之前,还可包括:获取包含反射平面对应各个像素点材质的粗糙度和法线信息的目标贴图;相应的,步骤205具体可包括:首先将贴图信息进行Mipmap处理,得到不同清晰度的多个Mipmap贴图;再读取目标贴图中各个像素点材质的粗糙度;然后根据各个像素点材质的粗糙度,确定各个像素点各自采样的对应清晰度的Mipmap贴图,其中,不同粗糙度的材质均有各自对应清晰度的Mipmap贴图;利用包含各个像素点各自采样的Mipmap贴图的贴图信息,进行游戏场景的图像渲染。
在本可选实施例中,可通过通用渲染管线(Universal-Renderer-Pipeline,URP,Unity中的一个可编程的渲染管线)的RenderFeature(扩展渲染Pass的接口),对反射平面的材质进行一次提前的单独绘制,得到反射平面上的粗糙度和材质法线,通过这些信息对反射RT的结果进行扰动,使反射的效果更好。
例如,对于粗糙的材质和光滑的材质,在实际需求中希望它们有不同的反射结果。因此,需要CS得到的RT(RenderTexture,指一张用于直接指令绘制的纹理)有不同清晰度的Mipmap,对于不同粗糙度的像素,选择不同的Mipmap。具体的,提前单独绘制的包含反射平面材质的粗糙度和法线信息的目标贴图,如对于反射平面,渲染出一张包含其像素的材质贴图上的粗糙度和法线的贴图,如图5所示。后续可读取目标贴图,得到对应像素点材质的粗糙度。Mipmap技术,会自动对一张贴图,生成它阶梯状的更低分辨率(也就是更低清晰度)的数张贴图。根据粗糙度,决定每个像素点采样哪个级别的清晰度的贴图。如图6a和图6b所示,图6a为不使用粗糙度采样Mipmap的效果图,图6b为使用粗糙度采样Mipmap的效果图,很明显图6b反射效果更好。
进一步的,在采样反射RT的时候,可以再使用材质的法线对反射的结果RT进行扰动,以进一步提升反射效果。相应可选的,利用包含各个像素点各自采样的Mipmap贴图的贴图信息,进行游戏场景的图像渲染,具体可包括:首先读取目标贴图(提前单独绘制的)中各个像素点材质的法线信息;根据各个像素点材质的法线信息,对包含各个像素点各自采样的Mipmap贴图的贴图信息进行扰动处理;然后利用扰动处理后的贴图信息,进行游戏场景的图像渲染。
示例性的,根据各个像素点材质的法线信息,对包含各个像素点各自采样的Mipmap贴图的贴图信息进行扰动处理,具体可包括:首先根据像素点的当前屏幕坐标,计算出纹理贴图坐标;然后依据像素点材质的法线方向和噪音强度,在纹理贴图坐标上进行叠加计算;最后基于叠加计算后的纹理贴图坐标采样贴图信息。
例如,采样反射RT的时候,会根据像素的屏幕坐标,计算出一个纹理贴图坐标(UV),用于采样;根据法线的方向和强弱,可以简单地得到一个(-1,1)的结果。细节UV偏移(DetailUV) = 法线贴图颜色(Normal.RG )* 2 – 1,最后在UV上叠加上DetailUV,再采样反射贴图,就会得到扰动的结果。如图7a和图7b所示,图7a为不使用法线扰动反射RT的效果图,图7b为使用法线扰动反射RT的效果图,很明显图7b反射效果更好。
为了便于读取目标贴图中反射平面材质的粗糙度和法线信息,可在目标贴图的R、G、B通道进行相应记录。示例性的,目标贴图的R和G通道可记录像素点材质的法线信息,而目标贴图的B通道可记录像素点材质的粗糙度;相应的,读取目标贴图中各个像素点材质的粗糙度,具体可包括:通过读取目标贴图的B通道,获取各个像素点材质的粗糙度;相应的,读取目标贴图中各个像素点材质的法线信息,具体可包括:通过读取目标贴图的R和G通道,获取各个像素点材质的法线信息。如图5所示,R、G通道记录是法线方向(如X、Y方向向量),B通道记录的是粗糙度。通过这种可选方式,可准确获取反射平面材质的粗糙度和法线信息,便于进一步反射效果叠加优化。
基于上述实施例如图3所示的反射计算过程、如图4所示的高斯模糊的图像降噪过程,以及如图6a、6b和图7a、7b所示的图像叠加优化过程,如果这些操作在每帧图像中全部执行,会增加每帧图像的计算量,进而会增加渲染开销。因此本实施例为了降低每帧图像的计算量,可选的,本实施例方法还可包括:对游戏场景进行分帧图像渲染,使得每帧图像执行反射计算、或图像降噪处理、或图像叠加优化处理。例如,对于SSPR的分帧优化,可将一次SSPR渲染分成了三部分,第一部分是如图3所示的反射计算,第二部分是图像降噪,也就是如图4所示的高斯模糊的图像降噪过程,第三部分是图像叠加优化,也就是如图6a、6b和图7a、7b所示的图像叠加优化过程。在本实施例中可设置一个计数器,每帧只执行上述三个部分中的一个步骤,来进行循环,通过降低每帧的计算量,达到优化开销的目的。
为了解决现有反射处理技术中的问题,需要尽可能保证反射结果的正确性,至少是关键镜头下的正确性。由于需要落地到移动端,所以使用前向渲染管线来代替延迟渲染管线。同时需要能够同时高效地渲染多个平面的反射结果。以及在保证现有技术中这些问题得到解决的前提下,需要尽可能提高效率。本实施例结合Planar Reflection和SSR两种反射处理技术的优点,相当于SSPR的反射计算。具体在前向渲染管线中,可通过屏幕空间计算反射,和SSR(SSR逆向光线寻找哪个像素反射到当前像素)相反,SSPR通过正向光线寻找当前像素将要反射到哪个像素,相对SSR而言,开销更低,无需SSR的RayMarching与延迟渲染管线。并且通过ComputeShader,利用GPU多核特性加速反射的计算,提高反射计算效率。通过多次高斯模糊,得到质量更高的Mipmap,以及通过URP的RenderFeature,对反射平面的材质进行一次提前的单独绘制,得到反射平面上的粗糙度和材质法线,通过这些信息对反射RT的结果进行扰动,使反射的效果更好。最后还可通过分帧计算优化反射的开销。通过应用本实施例中的方案,不需要使用单独的反射摄像机渲染场景。可以一次绘制多个平面的反射结果。不依赖延迟渲染管线。可以体现不同材质对反射的采样结果。
进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种游戏图像处理装置,如图8所示,该装置包括:获取模块31、计算模块32、渲染模块33。
获取模块31,用于获取游戏场景中定义的反射平面;
获取模块31,还用于获取所述反射平面的结构数据;
计算模块32,用于根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;
渲染模块33,用于利用所述贴图信息进行所述游戏场景的图像渲染。
在具体的应用场景中,可选的,所述结构数据包括:顶点相对所述反射平面的镜面反射变换矩阵;相应的,计算模块32,具体用于通过所述当前屏幕空间的深度图信息和所述当前相机的投影数据,计算所述当前屏幕的像素信息中每个像素点的世界坐标;参照所述镜面反射变换矩阵,在世界空间将所述像素点的世界坐标进行变化,得到反射结果的世界坐标;通过所述当前相机的投影数据,将所述反射结果的世界坐标转换到所述当前屏幕空间中,以便根据所述当前屏幕空间的深度图信息和所述反射结果进行深度测试;依据深度测试成功的像素点生成所述贴图信息。
在具体的应用场景中,计算模块32,具体还用于将目标像素点在所述当前屏幕空间的深度图信息中的深度值,与所述目标像素点在所述反射结果RGBA中A通道的值进行比较;
计算模块32,具体还用于若根据比较结果判定深度测试成功,则将所述目标像素点的颜色值和深度值写入到包含所述反射结果的贴图信息中;若根据比较结果判定深度测试失败,则抛弃所述目标像素点。
在具体的应用场景中,渲染模块33,具体用于通过高斯模糊算法对所述贴图信息中的所述反射结果进行降噪处理;利用降噪处理后的所述贴图信息进行所述游戏场景的图像渲染。
在具体的应用场景中,获取模块31,还用于在所述利用所述贴图信息进行所述游戏场景的图像渲染之前,获取包含所述反射平面对应各个像素点材质的粗糙度和法线信息的目标贴图;
渲染模块33,具体还用于将所述贴图信息进行Mipmap处理,得到不同清晰度的多个Mipmap贴图;读取所述目标贴图中各个像素点材质的粗糙度;根据所述各个像素点材质的粗糙度,确定所述各个像素点各自采样的对应清晰度的Mipmap贴图,其中,不同粗糙度的材质均有各自对应清晰度的Mipmap贴图;利用包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息,进行所述游戏场景的图像渲染。
在具体的应用场景中,渲染模块33,具体还用于读取所述目标贴图中各个像素点材质的法线信息;根据所述各个像素点材质的法线信息,对包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息进行扰动处理;利用扰动处理后的贴图信息,进行所述游戏场景的图像渲染。
在具体的应用场景中,渲染模块33,具体还用于根据像素点的当前屏幕坐标,计算出纹理贴图坐标;依据像素点材质的法线方向和噪音强度,在所述纹理贴图坐标上进行叠加计算;基于叠加计算后的纹理贴图坐标采样贴图信息。
在具体的应用场景中,可选的,所述目标贴图的R和G通道记录像素点材质的法线信息,所述目标贴图的B通道记录像素点材质的粗糙度;
渲染模块33,具体还用于通过读取所述目标贴图的B通道,获取各个像素点材质的粗糙度;
渲染模块33,具体还用于通过读取所述目标贴图的R和G通道,获取各个像素点材质的法线信息。
在具体的应用场景中,渲染模块33,还用于对所述游戏场景进行分帧图像渲染,使得每帧图像执行反射计算、或图像降噪处理、或图像叠加优化处理。
在具体的应用场景中,计算模块32,具体还用于在前向渲染管线中,利用GPU多核进行反射计算得到所述贴图信息。
在具体的应用场景中,获取模块31,具体还用于确定所述游戏场景中定义的反射平面与摄像机之间的距离;获取与所述摄像机之间的距离符合预设距离条件的反射平面的结构数据。
需要说明的是,本实施例提供的一种游戏图像处理装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1和图2所示的游戏图像处理方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
基于上述如图1和图2所示的方法,以及图8所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种电子设备,具体可以为个人计算机、笔记本电脑、智能手机、服务器或其他网络设备等,该设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的游戏图像处理方法。
可选的,上述实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的上述实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本实施例的方案,不受游戏场景中特定地方的特定角度的限制,不需要再额外在反射平面对称的地方摆放对称的物体,可节省主相机的渲染开销,进而可节省游戏图像渲染成本。能够一次绘制多个平面的反射结果,不但可提高游戏图像渲染的效率,而且能够保证反射结果的正确性。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (14)

1.一种游戏图像处理方法,其特征在于,包括:
获取游戏场景中定义的反射平面;
获取所述反射平面的结构数据;
根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;
利用所述贴图信息进行所述游戏场景的图像渲染。
2.根据权利要求1所述的方法,其特征在于,所述结构数据包括:顶点相对所述反射平面的镜面反射变换矩阵;
所述根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息,具体包括:
通过所述当前屏幕空间的深度图信息和所述当前相机的投影数据,计算所述当前屏幕的像素信息中每个像素点的世界坐标;
参照所述镜面反射变换矩阵,在世界空间将所述像素点的世界坐标进行变化,得到反射结果的世界坐标;
通过所述当前相机的投影数据,将所述反射结果的世界坐标转换到所述当前屏幕空间中,以便根据所述当前屏幕空间的深度图信息和所述反射结果进行深度测试;
依据深度测试成功的像素点生成所述贴图信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前屏幕空间的深度图信息和所述反射结果进行深度测试,具体包括:
将目标像素点在所述当前屏幕空间的深度图信息中的深度值,与所述目标像素点在所述反射结果RGBA中A通道的值进行比较;
所述依据测试通过的像素点生成所述贴图信息,具体包括:
若根据比较结果判定深度测试成功,则将所述目标像素点的颜色值和深度值写入到包含所述反射结果的贴图信息中;
若根据比较结果判定深度测试失败,则抛弃所述目标像素点。
4.根据权利要求1所述的方法,其特征在于,所述利用所述贴图信息进行所述游戏场景的图像渲染,具体包括:
通过高斯模糊算法对所述贴图信息中的所述反射结果进行降噪处理;
利用降噪处理后的所述贴图信息进行所述游戏场景的图像渲染。
5.根据权利要求1所述的方法,其特征在于,在所述利用所述贴图信息进行所述游戏场景的图像渲染之前,所述方法还包括:
获取包含所述反射平面对应各个像素点材质的粗糙度和法线信息的目标贴图;
所述利用所述贴图信息进行所述游戏场景的图像渲染,具体包括:
将所述贴图信息进行Mipmap处理,得到不同清晰度的多个Mipmap贴图;
读取所述目标贴图中各个像素点材质的粗糙度;
根据所述各个像素点材质的粗糙度,确定所述各个像素点各自采样的对应清晰度的Mipmap贴图,其中,不同粗糙度的材质均有各自对应清晰度的Mipmap贴图;
利用包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息,进行所述游戏场景的图像渲染。
6.根据权利要求5所述的方法,其特征在于,所述利用包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息,进行所述游戏场景的图像渲染,具体包括:
读取所述目标贴图中各个像素点材质的法线信息;
根据所述各个像素点材质的法线信息,对包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息进行扰动处理;
利用扰动处理后的贴图信息,进行所述游戏场景的图像渲染。
7.根据权利要求6所述的方法,其特征在于,所述根据所述各个像素点材质的法线信息,对包含所述各个像素点各自采样的所述Mipmap贴图的贴图信息进行扰动处理,具体包括:
根据像素点的当前屏幕坐标,计算出纹理贴图坐标;
依据像素点材质的法线方向和噪音强度,在所述纹理贴图坐标上进行叠加计算;
基于叠加计算后的纹理贴图坐标采样贴图信息。
8.根据权利要求6所述的方法,其特征在于,所述目标贴图的R和G通道记录像素点材质的法线信息,所述目标贴图的B通道记录像素点材质的粗糙度;
所述读取所述目标贴图中各个像素点材质的粗糙度,具体包括:
通过读取所述目标贴图的B通道,获取各个像素点材质的粗糙度;
所述读取所述目标贴图中各个像素点材质的法线信息,具体包括:
通过读取所述目标贴图的R和G通道,获取各个像素点材质的法线信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述游戏场景进行分帧图像渲染,使得每帧图像执行反射计算、或图像降噪处理、或图像叠加优化处理。
10.根据权利要求1所述的方法,其特征在于,所述根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息,具体包括:
在前向渲染管线中,利用GPU多核进行反射计算得到所述贴图信息。
11.根据权利要求1所述的方法,其特征在于,所述获取所述反射平面的结构数据,具体包括:
确定所述游戏场景中定义的反射平面与摄像机之间的距离;
获取与所述摄像机之间的距离符合预设距离条件的反射平面的结构数据。
12.一种游戏图像处理装置,其特征在于,包括:
获取模块,用于获取游戏场景中定义的反射平面;
获取模块,还用于获取所述反射平面的结构数据;
计算模块,用于根据所述结构数据、当前相机的投影数据以及当前屏幕的像素信息和当前屏幕空间的深度图信息进行反射计算,得到包含反射结果的贴图信息;
渲染模块,用于利用所述贴图信息进行所述游戏场景的图像渲染。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法。
14.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法。
CN202011499787.2A 2020-12-18 2020-12-18 游戏图像处理方法、装置及电子设备 Active CN112233216B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011499787.2A CN112233216B (zh) 2020-12-18 2020-12-18 游戏图像处理方法、装置及电子设备
PCT/CN2021/119152 WO2022127242A1 (zh) 2020-12-18 2021-09-17 游戏图像处理方法、装置、程序和可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011499787.2A CN112233216B (zh) 2020-12-18 2020-12-18 游戏图像处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112233216A true CN112233216A (zh) 2021-01-15
CN112233216B CN112233216B (zh) 2021-03-02

Family

ID=74124910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011499787.2A Active CN112233216B (zh) 2020-12-18 2020-12-18 游戏图像处理方法、装置及电子设备

Country Status (2)

Country Link
CN (1) CN112233216B (zh)
WO (1) WO2022127242A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112973121A (zh) * 2021-04-30 2021-06-18 成都完美时空网络技术有限公司 反射效果生成方法及装置、存储介质、计算机设备
CN113283543A (zh) * 2021-06-24 2021-08-20 北京优锘科技有限公司 一种基于WebGL的图像投影融合方法、装置、存储介质和设备
CN113570696A (zh) * 2021-09-23 2021-10-29 深圳易帆互动科技有限公司 动态模型的镜像图像处理方法、装置及可读存储介质
CN114266852A (zh) * 2021-12-22 2022-04-01 天津亚克互动科技有限公司 灯笼风场图像的处理方法、装置及电子设备
CN114419235A (zh) * 2022-01-14 2022-04-29 在线途游(北京)科技有限公司 一种用于移动端的实时平面反射渲染方法和装置
WO2022127242A1 (zh) * 2020-12-18 2022-06-23 成都完美时空网络技术有限公司 游戏图像处理方法、装置、程序和可读介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115797226B (zh) * 2023-01-09 2023-04-25 腾讯科技(深圳)有限公司 图像降噪方法、装置、计算机设备和存储介质
CN116630486B (zh) * 2023-07-19 2023-11-07 山东锋士信息技术有限公司 一种基于Unity3D渲染的半自动化动画制作方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271383A1 (en) * 2006-03-09 2010-10-28 Microsoft Corporation Shading using texture space lighting and non-linearly optimized mip-maps
CN103544731A (zh) * 2013-09-30 2014-01-29 北京航空航天大学 一种基于多相机的快速反射绘制方法
CN104240286A (zh) * 2014-09-03 2014-12-24 无锡梵天信息技术股份有限公司 基于屏幕空间的实时反射方法
CN104463944A (zh) * 2014-07-10 2015-03-25 无锡梵天信息技术股份有限公司 一种基于物理的高光计算方法
CN105261059A (zh) * 2015-09-18 2016-01-20 浙江大学 一种基于在屏幕空间计算间接反射高光的渲染方法
CN109064533A (zh) * 2018-07-05 2018-12-21 深圳奥比中光科技有限公司 一种3d漫游方法及系统
US20190088015A1 (en) * 2016-03-31 2019-03-21 Umbra Software Oy Virtual reality streaming
CN111768473A (zh) * 2020-06-28 2020-10-13 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9659408B2 (en) * 2013-11-27 2017-05-23 Autodesk, Inc. Mesh reconstruction from heterogeneous sources of data
CN106056661B (zh) * 2016-05-31 2018-08-28 钱进 基于Direct3D 11的三维图形渲染引擎
CN112233216B (zh) * 2020-12-18 2021-03-02 成都完美时空网络技术有限公司 游戏图像处理方法、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271383A1 (en) * 2006-03-09 2010-10-28 Microsoft Corporation Shading using texture space lighting and non-linearly optimized mip-maps
CN103544731A (zh) * 2013-09-30 2014-01-29 北京航空航天大学 一种基于多相机的快速反射绘制方法
CN104463944A (zh) * 2014-07-10 2015-03-25 无锡梵天信息技术股份有限公司 一种基于物理的高光计算方法
CN104240286A (zh) * 2014-09-03 2014-12-24 无锡梵天信息技术股份有限公司 基于屏幕空间的实时反射方法
CN105261059A (zh) * 2015-09-18 2016-01-20 浙江大学 一种基于在屏幕空间计算间接反射高光的渲染方法
US20190088015A1 (en) * 2016-03-31 2019-03-21 Umbra Software Oy Virtual reality streaming
CN109064533A (zh) * 2018-07-05 2018-12-21 深圳奥比中光科技有限公司 一种3d漫游方法及系统
CN111768473A (zh) * 2020-06-28 2020-10-13 完美世界(北京)软件科技发展有限公司 图像渲染方法、装置及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴博剑: "基于图像的透明物体重建与渲染", 《中国博士学位论文全文数据库 信息科技辑》 *
天守魂座_雪风: "URP管线的自学HLSL之路 第三十五篇 SSPR屏幕空间平面反射", 《HTTPS://WWW.BILIBILI.COM/READ/CV7332339/》 *
恶魔表哥: "Unity URP 移动平台的屏幕空间平面反射(SSPR)趟坑记", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/150890059》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022127242A1 (zh) * 2020-12-18 2022-06-23 成都完美时空网络技术有限公司 游戏图像处理方法、装置、程序和可读介质
CN112973121A (zh) * 2021-04-30 2021-06-18 成都完美时空网络技术有限公司 反射效果生成方法及装置、存储介质、计算机设备
CN112973121B (zh) * 2021-04-30 2021-07-20 成都完美时空网络技术有限公司 反射效果生成方法及装置、存储介质、计算机设备
CN113283543A (zh) * 2021-06-24 2021-08-20 北京优锘科技有限公司 一种基于WebGL的图像投影融合方法、装置、存储介质和设备
CN113570696A (zh) * 2021-09-23 2021-10-29 深圳易帆互动科技有限公司 动态模型的镜像图像处理方法、装置及可读存储介质
CN114266852A (zh) * 2021-12-22 2022-04-01 天津亚克互动科技有限公司 灯笼风场图像的处理方法、装置及电子设备
CN114419235A (zh) * 2022-01-14 2022-04-29 在线途游(北京)科技有限公司 一种用于移动端的实时平面反射渲染方法和装置

Also Published As

Publication number Publication date
CN112233216B (zh) 2021-03-02
WO2022127242A1 (zh) 2022-06-23

Similar Documents

Publication Publication Date Title
CN112233216B (zh) 游戏图像处理方法、装置及电子设备
US7425966B2 (en) Pixel center position displacement
CN112801855B (zh) 基于图元的渲染任务调度的方法、装置及存储介质
US8854392B2 (en) Circular scratch shader
CN105550973B (zh) 图形处理单元、图形处理系统及抗锯齿处理方法
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
CN113658316B (zh) 三维模型的渲染方法和装置、存储介质及计算机设备
CN108960012B (zh) 特征点检测方法、装置及电子设备
CN109377552B (zh) 图像遮挡计算方法、装置、计算设备及存储介质
CN111367780A (zh) 一种gpu的性能测试方法、装置及计算机存储介质
US20240203030A1 (en) 3d model rendering method and apparatus, electronic device, and storage medium
CN113487478A (zh) 图像处理方法、装置、存储介质及电子设备
CN113610958A (zh) 一种基于风格迁移的3d图像构建方法、装置及终端
CN115512025A (zh) 模型渲染性能的检测方法、装置、电子设备及存储介质
CN112973121B (zh) 反射效果生成方法及装置、存储介质、计算机设备
KR20170036419A (ko) 그래픽스 프로세싱 장치 및 그래픽스 파이프라인의 텍스쳐링을 위한 LOD(level of detail)를 결정하는 방법
US20240177394A1 (en) Motion vector optimization for multiple refractive and reflective interfaces
US11727535B2 (en) Using intrinsic functions for shadow denoising in ray tracing applications
CN113332714A (zh) 游戏模型的补光方法及装置、存储介质、计算机设备
US10212406B2 (en) Image generation of a three-dimensional scene using multiple focal lengths
JP2023534888A (ja) 実世界画像において拡張現実オブジェクトを組み合わせるための方法および装置
US9437039B2 (en) Method and system for graphics rendering employing gradient domain metropolis light transport
CN112465692A (zh) 图像处理方法、装置、设备及存储介质
US7525551B1 (en) Anisotropic texture prefiltering
CN111932689B (zh) 一种采用id像素图的三维对象快速选取方法

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