CN113617024B - 水体面渲染方法、装置、设备及存储介质 - Google Patents
水体面渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113617024B CN113617024B CN202110885694.1A CN202110885694A CN113617024B CN 113617024 B CN113617024 B CN 113617024B CN 202110885694 A CN202110885694 A CN 202110885694A CN 113617024 B CN113617024 B CN 113617024B
- Authority
- CN
- China
- Prior art keywords
- map
- reflection
- water surface
- water
- refraction
- 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
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 263
- 238000009877 rendering Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000013507 mapping Methods 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 3
- 238000002310 reflectometry Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 53
- 230000000875 corresponding effect Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 241000251468 Actinopterygii Species 0.000 description 4
- 241000196324 Embryophyta Species 0.000 description 4
- 244000058871 Echinochloa crus-galli Species 0.000 description 2
- 235000015225 Panicum colonum Nutrition 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000209439 Cabomba caroliniana Species 0.000 description 1
- 241000238557 Decapoda Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
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
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/663—Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请提供一种水体面渲染方法、装置、设备及存储介质,该水体面渲染方法包括:获取水体面在虚拟场景中的反射贴图和折射贴图;根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;基于混合贴图以对水体面执行渲染。本申请实施例通过根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,可以使游戏摄像机即使在与水面距离很远或者在垂直水面的情况下,依旧能看到水体面折射效果和反射效果,进而提高了游戏画面的显示效果。
Description
技术领域
本申请涉及游戏领域,尤其涉及一种水体面渲染方法、装置、设备及存储介质。
背景技术
在游戏中,通常会有水面画面场景,而水面画面的效果影响着游戏玩家的游戏体验。
目前,通常采用菲涅尔(fresnel)函数来确定水面画面的折射和反射的效果,使游戏摄像机在不同的视角下,水体呈现出不同的折射和反射,进而使游戏中水面画面接近真实的水面画面。
但是当游戏摄像机距离水面画面较远或者垂直水面画面时,在这种场景下采用菲涅尔函数来确定水面画面的显示效果时,存在水面画面的显示效果较差的问题,影响用户的游戏体验。
发明内容
本申请提供一种水体面渲染方法、装置、设备及存储介质。用以解决现有的当游戏摄像机距离水面画面较远或者垂直水面画面时,游戏中的水面画面的显示效果较差的问题。
第一方面,本申请实施例提供一种水体面渲染方法,包括:获取水体面在虚拟场景中的反射贴图和折射贴图;根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;基于混合贴图以对水体面执行渲染。
在本申请的一个实施例中,获取水体面在虚拟场景中的折射贴图,包括:获取水体面的切平面的法线信息;根据法线信息与屏幕空间,确定折射贴图。
在本申请的一个实施例中,获取水体面在虚拟场景中的反射贴图,包括:获取天空反射图和/或物体反射图;将天空反射图或物体反射图作为反射贴图;或者将天空反射图和物体反射图进行混合插值处理,得到反射贴图。
在本申请的一个实施例中,获取天空反射图,包括:对预设的立方体纹理进行采样,得到天空反射图。
在本申请的一个实施例中,获取物体反射图,包括:获取物体的物体图;对物体图进行镜像反射处理,得到物体反射图。
在本申请的一个实施例中,基于混合贴图以对水体面执行渲染,包括:获取水体面的颜色贴图;将混合贴图与颜色贴图进行插值混合,得到目标贴图;基于目标贴图以对水体面进行渲染。
在本申请的一个实施例中,获取水体面的颜色贴图,包括:获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,第一颜色值表示深水颜色值,第二颜色值表示浅水颜色值;根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。
第二方面,本申请实施例提供一种水体面渲染装置,包括:
获取模块,用于获取水体面在虚拟场景中的反射贴图和折射贴图;
插值处理模块,用于根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;
渲染模块,用于基于混合贴图以对水体面执行渲染。
在本申请的一个实施例中,获取模块具体用于获取水体面的切平面的法线信息;根据法线信息与屏幕空间,确定折射贴图。
在本申请的一个实施例中,获取模块具体用于获取天空反射图和/或物体反射图;将天空反射图或物体反射图作为反射贴图;或者将天空反射图和物体反射图进行混合插值处理,得到反射贴图。
在本申请的一个实施例中,获取模块在获取天空反射图时,具体用于对预设的立方体纹理进行采样,得到天空反射图。
在本申请的一个实施例中,获取模块在获取物体反射图时,具体用于获取物体的物体图;对物体图进行镜像反射处理,得到物体反射图。
在本申请的一个实施例中,渲染模块具体用于获取水体面的颜色贴图;将混合贴图与颜色贴图进行插值混合,得到目标贴图;基于目标贴图以对水体面进行渲染。
在本申请的一个实施例中,渲染模块在获取水体面的颜色贴图时,具体用于获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,第一颜色值表示深水颜色值,第二颜色值表示浅水颜色值;根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本申请第一方面中任一项的水体面渲染方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请第一方面中任一项的水体面渲染方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中任一项的水体面渲染方法。
本申请实施例提供一种水体面渲染方法、装置、设备及存储介质,该水体面渲染方法包括:获取水体面在虚拟场景中的反射贴图和折射贴图;根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;基于混合贴图以对水体面执行渲染。本申请实施例通过根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,可以使游戏摄像机即使在与水面距离很远或者在垂直水面的情况下,依旧能看到水体面折射效果和反射效果,进而提高了游戏画面的显示效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的水体面渲染方法的场景示意图;
图2为本申请另一实施例提供的水体面渲染方法的场景示意图;
图3为本申请实施例提供的一种水体面渲染方法的步骤流程图;
图4为本申请实施例提供的游戏画面显示的界面示例图一;
图5为本申请实施例提供的游戏画面显示的界面示例图二;
图6为本申请实施例提供的另一种水体面渲染方法的步骤流程图;
图7为本申请实施例提供的深度信息与插值系数的关系图;
图8为本申请一实施例提供的水体面渲染装置的结构示意图;
图9为本申请一实施例提供的电子设备的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请实施例提供的水体面渲染方案之前,首先对水体面渲染方案的应用场景进行简要介绍。
示例性的,图1为本申请一实施例提供的水体面渲染方法的场景示意图,如图1所示,在终端10上显示游戏画面20,游戏画面20中包括水21、玩家对象22、其他对象(如图1中,表示天空的运动,水边的物体树等)。其中,游戏玩家通过操控玩家对象22,体验游戏,在图1中,玩家对象22的视角即为游戏摄像机的视角,玩家对象22与水21的距离较远。
此外,图2为本申请另一实施例提供的水体面渲染方法的场景示意图,如图2所示,在终端10上显示游戏画面20,游戏画面20中包括水21、其他对象(如图2中,表示天空的运动,水边的物体树等)。其中,游戏画面20始终和游戏玩家的视线垂直,即水21的表面始终与游戏玩家的视线垂直。
基于上述应用场景,目前是利用屏幕空间反射(SSR)或者平面反射制作水面的反射效果,通过引入菲涅尔函数来表达水面反射光的强度、折射光的强度、相位与入射光的强度的关系,在游戏摄像机的不同视角下,水面呈现不同的折射与反射,进而制作的水面更符合真实世界的水面。其中,原理为根据游戏摄像机视角和水面之间的夹角的变化,确定一个蒙版,用蒙版来表示水面的折射和反射的比例。当夹角为90度,即游戏摄像机视角与水平之间的夹角为垂直时,蒙版为1,水面上只显示折射的画面。当夹角为0度时,即游戏摄像机视角与水平之间的夹角为平行时,蒙版为0水面上只显示折射的画面。
虽然采用菲涅尔函数会获得更加真实的水面表现,但是也会存在以下问题:
1)参照图1,当游戏摄像机视角与水面接近于水平,即游戏摄像机与水面距离较远时,水面的反射占较大比例,此时,水面由于强反射,在白天会显示偏白色的画面,在夜晚会显示偏黑色的画面,进而导致水面的显示效果很差。
2)参照图2,对于很多游戏,游戏玩家和水面始终垂直或接近于垂直时,这时采用菲涅尔函数得到的水面的折射占较大比例,此时,水面由于折射效果,只能看到水里折射出来的画面,无法看到水周围物体的反射画面,进而也会影响水面的显示效果。
3)采用SSR或者平面反射制作水面的反射效果,由于SSR是一种后处理效果,用于延迟渲染,而平面反射要求实时渲染。其中,延迟渲染用于PC端、主机端游戏制作中,会对终端具有较高的性能消耗。而移动终端如手机的处理性能不如PC端、主机端,因此SSR或者平面反射制作水面的反射效果不适用于移动终端。
基于上述技术问题,本申请提供一种水体面渲染方法,通过根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图。能够在各种场景下,水面均可以显示折射画面以及反射画面,提高水面的显示画面的质量。并且,可以通过预先混合得到反射画面,不需要使用到SSR或者平面反射制作水面的反射效果,降低了对终端的性能消耗,适用于移动终端。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本申请一实施例提供的水体面渲染方法的流程图。本申请实施例提供一种水体面渲染方法,该水体面渲染方法可由游戏软件/客户端所安装的终端的处理设备如处理器执行相应的软件代码实现,也可由该终端的处理设备执行相应的软件代码,并结合其他硬件实体实现。其中,终端例如是台式电脑、笔记本、个人数字助理(Personal DigitalAssistant,简称PDA)、智能手机、平板电脑和游戏机等设备。该实施例以终端为执行主体进行说明。
如图3所示,本申请实施例提供的水体面渲染方法,包括:
S301,获取水体面在虚拟场景中的反射贴图和折射贴图。
其中,反射贴图是指能够表现水体面反射效果的贴图。折射贴图是指能够表现水体面折射效果的贴图。
具体的,当前画面帧中包括水体面和除水体面的其他对象。例如,天空、地面、地面上的物体或者水面上的物体等。其中天空、地面上的物体或者水面上的物体可以在水体面上形成反射效果,则基于天空、地面上的物体或者水面上的物体可获得反射贴图。反射贴图中包括在水体面形成反射效果的对象。
此外,水里通常会有一些对象。例如,鱼虾、水草或者其他物体等,这些对象会通过折射效果显示在水体面上。则折射贴图中包括在水体面上形成折射效果的对象。
S302,根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图。
其中,水体面的混合贴图是反射贴图与折射贴图通过lerp(线性插值)函数混合后得到的,插值参数可以根据需要设定。
具体的,在将反射贴图与折射贴图混合后,当折射贴图的比例较高时,水体面的混合贴图中折射效果较强,水体面的混合贴图就会有较强折射画面,如图4,深水和浅水里的鱼和水草都会在水面画面上显示。当折射贴图的比例较低时,水体面的混合贴图的折射效果较弱,水体面的混合贴图的就会有较少的或没有折射画面,例如只有浅水里的鱼在水面画面上显示。
具体的,采用线性插值函数(Lerp(A,B,Alpha)函数)混合反射贴图和折射贴图。在此,A为反射贴图,B为折射贴图,Alpha为插值参数,取0至1内的数值。示例性的,反射贴图的坐标为(x1,y1),折射贴图的坐标为(x2,y2)。则混合贴图的坐标为(x0,y0),其中x0=x1×Alpha+(1-Alpha)x2,y0=y1×Alpha+(1-Alpha)y2。
此外,可根据实际需要,调整Alpha的值,当Alpha值较大时,反射贴图在混合贴图上的显示效果会更强,当Alpha值较小时,折射贴图在混合贴图上的显示效果会更强。当游戏设计者或者用户需要反射效果强时,则可以设置Alpha值较大,当需要反射效果较弱,折射效果较强时,则可以设置Alpha值较小。
在本申请实施例中,在游戏摄像机与水体面的夹角在任意角度时,都可以根据需要设置插值参数,则均可使水体面显示出需要的折射效果和反射效果。
S303,基于混合贴图以对水体面执行渲染。
具体的,是将混合贴图发送给着色器进行实时渲染。
参照图4和图5,本申请实施例中,并不使用菲涅尔函数来计算水体面的折射和反射,也不依赖于游戏摄像机的视角,而是根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图。当游戏摄像机的视角与水面的夹角接近于0°时,依旧可以在水面上显示水里对象折射出来的画面。当游戏摄像机的视角与水面的夹角接近于90°时,依旧可以在水面上显示反射画面,进而在特定游戏画面中,提高了水面画面的显示效果。
本申请实施例适用与游戏玩家与水面的夹角固定,即游戏玩家在游戏中的玩家对象与水面的距离始终很远的情况。也适用于其他任何情况,游戏设计者可以根据设计需要设定当折射贴图和反射贴图的插值参数,进而能够使水面显示出不同的折射和反射的显示效果。
本申请实施例提供一种水体面渲染方法,包括:获取水体面在虚拟场景中的反射贴图和折射贴图;根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;基于混合贴图以对水体面执行渲染。本申请实施例通过根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,可以使游戏摄像机即使在与水面距离很远或者在垂直水面的情况下,依旧能看到水体面折射效果和反射效果,进而提高了游戏画面的显示效果。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
参照图6,为本申请一实施例提供的水体面渲染方法的步骤流程图,具体包括如下步骤:
S401,获取水体面的切平面的法线信息。
具体的,获取水体面的切平面的法线信息,包括:获取当前图像帧;确定当前图像帧中的水体面;确定水体面的切平面的法线信息。
此外,当前图像帧中包括水体面和除水体面的其他区域。例如:天空、地面以及地面上的动植物等。其中,在水里的水草、鱼或者其他对象,可以以折射的效果在水体面上显示。
进一步地,将水体面划分为网格,法线信息为各个网格的顶点对应的法线的集合,法线信息能够表征水体面的网格的各个顶点的凹凸情况,基于该凹凸情况能够表征水面波纹。
S402,根据法线信息与屏幕空间,确定折射贴图。
其中,根据法线信息与屏幕空间,确定折射贴图,包括:确定法线信息对应的法线坐标;确定屏幕空间对应的屏幕坐标;将法线坐标与屏幕坐标相加,得到折射贴图。
其中,法线信息用法线坐标(U1,V1)来表示。屏幕空间用屏幕坐标(U2,V2)来表示。具体的,包括多个法线坐标和多个屏幕坐标。
此外,多个法线坐标可以组成一个法线贴图。
进一步的,折射贴图用于表示水面波纹在屏幕空间的波动。屏幕空间是以屏幕为坐标轴定义的一个空间,屏幕的长为X轴,宽为Y轴。
具体的,根据法线信息与屏幕空间,确定折射贴图,是将水体面的多个法线信息以屏幕空间进行表示,使水体面最终能够在屏幕上显示。
在本申请实施例中,将法线坐标与屏幕坐标相加,实质上是对水体面进行一个扭曲处理,使法线坐标组成的法线贴图,贴在屏幕空间中。
进一步的,由于折射贴图水体面的切平面的法线信息与屏幕空间得到,所以得到的折射贴图还会有水面波纹等效果。
S403,获取水体面在虚拟场景中的反射贴图。
其中,获取水体面在虚拟场景中的反射贴图,包括:获取天空反射图和/或物体反射图;将天空反射图或物体反射图作为反射贴图;或者将天空反射图和物体反射图进行混合插值处理,得到反射贴图。
具体的,反射贴图可以只包括天空,也可以只包括物体,也可以天空进而物体都包括。当反射贴图中同时包括:天空和物体时。则将天空反射图和物体反射图进行混合插值处理,得到反射贴图。
其中,将天空反射图和物体反射图进行混合插值处理,得到反射贴图包括:采用lerp(A、B、Alpha)函数将天空反射图和物体反射图进行混合插值处理,得到反射贴图。其中,A表示天空反射图,B表示物体反射图,Alpha表示天空反射图和物体反射图进行混合插值处理的差值参数。该差值参数可根据需要设定,当Alpha值较大时,天空反射图在反射贴图上的显示效果会更强。当Alpha值较小时,物体反射图在反射贴图上的显示效果会更强。
在本申请实施例中,当有多个物体反射图时,可以依次将多个物体反射图与天空反射图进行混合插值处理,得到反射贴图。
进一步的,获取天空反射图,包括:对预设的立方体纹理进行采样,得到天空反射图。
其中,立方体纹理中包括多种天空图像,可以对预设的立方体纹理进行采样,得到需要的天空图像作为天空反射图。
在一些可选的实施例中,获取物体反射图,包括:获取物体的物体图;对物体图进行镜像反射处理,得到物体反射图。
示例性的,可以在游戏设计系统中,选中物体,然后对物体绑定镜子,则会生成物体对应的物体反射图。此外,还可以通过其他方式实现物体图像的镜像反射处理,在此不加以限定。
其中,物体可以是:水面周围的花草树木,也可以是水面上的木桩等物体。在本申请实施例中,可以通过确定当前图像帧中的物体,然后在存储器中获取该物体对应的物体图像,然后对该物体进行镜像反射处理,得到物体对应的物体反射图。
S404,根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图。
该步骤具体的实现过程参照S301,在此不再赘述。
S405,获取水体面的颜色贴图。
其中,获取水体面的颜色贴图,包括:获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,第一颜色值表示深水颜色值,第二颜色值表示浅水颜色值;根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。
具体的,深度信息是水体面携带的信息。深度信息包括:水体面不同位置的深度值。
示例性的,当水里有对象时,如鱼,水草等,在对象对应的区域,深度值为水面至对象之间的距离。在水里没有对象的区域,深度值为水面至水底之间的距离。
其中,插值系数的大小与深度信息的大小正相关。具体为插值系数的大小与深度值的大小正相关。插值系数的大小为0至1。
示例性的,参照图7,当深度值为水底和水面的最大距离H时,插值系数M可以设置为1,当深度值为0时,插值系数为0。则插值系数M=h/H,其中h为水体面上该坐标点的深度值,在图7中深度值越小,插值系数越小。
在本申请实施例中,还可以通过其他方式确定插值系数,在此不加以限定。
此外,第一颜色值是预设的深水颜色值,是指当水体面的颜色值为第一颜色值时,说明水体面对应的深度很深,对应水体面的颜色为深蓝色;第二颜色值是指预设的浅水颜色值,是指当水体面的颜色值为第一颜色值时,说明水体面对应的深度很浅,对应水体面的颜色为浅蓝色。
进一步的,根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。具体为,采用lerp(A、B、Alpha)函数混合第一颜色值和第二颜色值,得到颜色贴图。其中,A表示颜色值均为第一颜色值的贴图A,B表示颜色值均为第二颜色值的贴图B,Alpha表示插值系数M。则最终得到的颜色贴图的颜色值=A×M+(1-M)B。
其中,由于颜色贴图不同坐标的插值系数M不同,因此得到颜色贴图的不同坐标的颜色值也是不同的。进而使颜色贴图呈现一个水面的颜色。
在本申请实施例中,采用深度信息确定插值系数,能够提高水体面的显示效果。例如,当深度值越深时,插值系数越大,这样第一颜色值的混合比例越高,则颜色贴图对应位置的颜色呈现深蓝。当深度值越小时插值系数越小,这样第二颜色值的混合比例越高,则颜色贴图对应位置的颜色呈现浅蓝,因此,本申请实施例能够根据水体面深度值的不同,显示出不同深浅水面的效果,使显示的水体面更有层次感,提高了用户的体验。
S406,将混合贴图与颜色贴图进行插值混合,得到目标贴图。
具体的,将混合贴图与颜色贴图进行插值混合,得到目标贴图,包括:采用预设的插值系数,通过lerp函数将混合贴图与颜色贴图进行插值混合,得到目标贴图。其中,预设的插值系数可根据实际需要设定。
在本申请实施例中,混合贴图能够呈现出水体面的折射效果和反射效果,将混合贴图和颜色贴图混合,得到目标贴图,能够使目标贴图根据水体面深度值的不同,显示出不同的深浅水面效果,使显示的水体面更有层次感,提高了用户的体验。
S407,基于目标贴图以对水体面进行渲染。
其中,将目标贴图发送给着色器进行渲染。
在本申请实施例中,可以将目标贴图与当前画面帧中除目标贴图外的区域进行组合,得到目标画面帧。对目标画面帧进行渲染显示。
参照图4,对于游戏摄像机视角与水面画面的夹角接近于零时,水面上依旧可以显示水里对象的折射画面211和水体面外对象的反射贴图,如天空反射图212和物体反射图213,丰富了水面画面的显示效果。
参照图5,对于游戏摄像机视角与水面画面的夹角接近于垂直时,水面上不止显示水里对象的折射画面211,还可以显示水体面外对象的反射贴图,如天空反射像212和物体反射图213,进一步能够丰富了水面画面的显示效果。
此外,图4和图5只是示例性的说明,在本申请实施例中,游戏摄像机的视角与水面画面的夹角在任何角度时,都可以采用本申请实施例提供的方案,使水面画面的反射和折射不受游戏摄像机的视角影响,进而使水面画面始终都有折射和/或反射效果,提高显示画面的质量。
在本申请实施例中,是采用线性插值函数,实现水面画面的反射,并不需要采用SSR或者平板反射技术,因此能够降低终端性能消耗,使本申请的方法能够应用到移动终端上。
本申请实施例可以根据上述方法实施例对水体面渲染装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图8为本申请一实施例提供的水体面渲染装置的结构示意图。如图8所示,本申请实施例提供的水体面渲染装置50包括:获取模块51、插值处理模块52以及渲染模块53。其中:
获取模块51,用于获取水体面在虚拟场景中的反射贴图和折射贴图;
插值处理模块52,用于根据预设的插值参数,将反射贴图和折射贴图进行混合插值处理,以得到水体面的混合贴图;
渲染模块53,用于基于混合贴图以对水体面执行渲染。
在本申请的一个实施例中,获取模块51具体用于获取水体面的切平面的法线信息;根据法线信息与屏幕空间,确定折射贴图。
在本申请的一个实施例中,获取模块51具体用于获取天空反射图和/或物体反射图;将天空反射图或物体反射图作为反射贴图;或者将天空反射图和物体反射图进行混合插值处理,得到反射贴图。
在本申请的一个实施例中,获取模块51在获取天空反射图时,具体用于对预设的立方体纹理进行采样,得到天空反射图。
在本申请的一个实施例中,获取模块51在获取物体反射图时,具体用于获取物体的物体图;对物体图进行镜像反射处理,得到物体反射图。
在本申请的一个实施例中,渲染模块53具体用于获取水体面的颜色贴图;将混合贴图与颜色贴图进行插值混合,得到目标贴图;基于目标贴图以对水体面进行渲染。
在本申请的一个实施例中,渲染模块53在获取水体面的颜色贴图时,具体用于获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,第一颜色值表示深水颜色值,第二颜色值表示浅水颜色值;根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。
本申请实施例提供的水体面渲染装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的电子设备的硬件结构示意图。如图9所示,本申请实施例的电子设备70可以包括:至少一个处理器71(图9中仅示出了一个处理器);以及,与至少一个处理器通信连接的存储器72。其中,存储器72存储有可被至少一个处理器71执行的指令,指令被至少一个处理器71执行,以使电子设备70能够执行前述任一方法实施例中的技术方案。
可选的,存储器72既可以是独立的,也可以跟处理器71集成在一起。
当存储器72是独立于处理器71之外的器件时,电子设备70还包括:总线73,用于连接存储器72和处理器71。
本申请实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时用于实现前述任一方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方法实施例中的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
此外,本申请实施例中的水体面渲染方法可以运行于终端设备或者是云交互系统。其中,云交互系统包括云服务器和用户设备,用于运行云应用。云应用分别运行。在一可选的实施方式中,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,对象选择方法的储存与运行是在云游戏服务器上完成的,云游戏客户端的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (6)
1.一种水体面渲染方法,其特征在于,包括:
获取所述水体面在虚拟场景中的反射贴图和折射贴图;
根据预设的插值参数,将所述反射贴图和折射贴图进行混合插值处理,以得到所述水体面的混合贴图,所述预设的插值参数是游戏设计者根据设计需要设定的;所述水体面的混合贴图是所述反射贴图与折射贴图通过线性插值函数混合后得到的;
获取所述水体面的颜色贴图;
将所述混合贴图与所述颜色贴图进行插值混合,得到目标贴图;
基于所述目标贴图以对所述水体面进行渲染;
获取所述水体面在虚拟场景中的折射贴图,包括:
获取所述水体面的切平面的法线信息;
根据所述法线信息与屏幕空间,确定所述折射贴图;
获取所述水体面在虚拟场景中的反射贴图,包括:
获取天空反射图和/或物体反射图;
将所述天空反射图或物体反射图作为所述反射贴图;
或者
将所述天空反射图和所述物体反射图进行混合插值处理,得到所述反射贴图;
获取所述水体面的颜色贴图,包括:
获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,所述第一颜色值表示深水颜色值,所述第二颜色值表示浅水颜色值;
根据所述深度信息确定对应的插值系数,并对所述第一颜色值和所述第二颜色值进行插值混合,得到所述颜色贴图。
2.根据权利要求1所述的水体面渲染方法,其特征在于,获取所述天空反射图,包括:
对预设的立方体纹理进行采样,得到所述天空反射图。
3.根据权利要求1所述的水体面渲染方法,其特征在于,获取所述物体反射图,包括:
获取物体的物体图;
对所述物体图进行镜像反射处理,得到所述物体反射图。
4.一种水体面渲染装置,其特征在于,包括:
获取模块,用于获取所述水体面在虚拟场景中的反射贴图和折射贴图;
插值处理模块,用于根据预设的插值参数,将所述反射贴图和折射贴图进行混合插值处理,以得到所述水体面的混合贴图,所述预设的插值参数是游戏设计者根据设计需要设定的;所述水体面的混合贴图是所述反射贴图与折射贴图通过线性插值函数混合后得到的;
渲染模块,用于获取所述水体面的颜色贴图;将所述混合贴图与所述颜色贴图进行插值混合,得到目标贴图;基于所述目标贴图以对所述水体面进行渲染;
所述获取模块,具体用于获取水体面的切平面的法线信息;根据法线信息与屏幕空间,确定折射贴图;
所述获取模块,具体用于获取天空反射图和/或物体反射图;将天空反射图或物体反射图作为反射贴图;或者将天空反射图和物体反射图进行混合插值处理,得到反射贴图;
所述渲染模块,具体用于获取水体面的深度信息,以及预设的第一颜色值和第二颜色值;其中,第一颜色值表示深水颜色值,第二颜色值表示浅水颜色值;根据深度信息确定对应的插值系数,并对第一颜色值和第二颜色值进行插值混合,得到颜色贴图。
5.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1至3中任一项所述的水体面渲染方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述水体面渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885694.1A CN113617024B (zh) | 2021-08-03 | 2021-08-03 | 水体面渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110885694.1A CN113617024B (zh) | 2021-08-03 | 2021-08-03 | 水体面渲染方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113617024A CN113617024A (zh) | 2021-11-09 |
CN113617024B true CN113617024B (zh) | 2024-05-28 |
Family
ID=78382421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110885694.1A Active CN113617024B (zh) | 2021-08-03 | 2021-08-03 | 水体面渲染方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113617024B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115120972A (zh) * | 2022-06-14 | 2022-09-30 | 网易(杭州)网络有限公司 | 目标流体渲染方法、装置、存储介质及电子装置 |
CN115578277A (zh) * | 2022-09-30 | 2023-01-06 | 北京字跳网络技术有限公司 | 液体渲染方法、装置、设备、计算机可读存储介质及产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147429A (ja) * | 2000-10-10 | 2001-05-29 | Matsushita Electric Ind Co Ltd | 反射型液晶表示装置 |
KR20110074332A (ko) * | 2009-12-24 | 2011-06-30 | 한국과학기술원 | 카툰 애니메이션에서 유체의 렌더링 시스템 및 방법 |
CN102402792A (zh) * | 2011-10-24 | 2012-04-04 | 克拉玛依红有软件有限责任公司 | 一种实时浅水模拟方法 |
CN112041894A (zh) * | 2018-04-16 | 2020-12-04 | 辉达公司 | 渲染期间提高涉及水面的场景的真实感 |
CN112860063A (zh) * | 2021-02-02 | 2021-05-28 | 杭州电魂网络科技股份有限公司 | 交互水的实现方法、系统、电子装置和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412362B2 (en) * | 2005-05-18 | 2008-08-12 | Microsoft Corporation | River modeling |
US8184276B2 (en) * | 2008-12-08 | 2012-05-22 | Carl Embry | Continuous index of refraction compensation method for measurements in a medium |
-
2021
- 2021-08-03 CN CN202110885694.1A patent/CN113617024B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001147429A (ja) * | 2000-10-10 | 2001-05-29 | Matsushita Electric Ind Co Ltd | 反射型液晶表示装置 |
KR20110074332A (ko) * | 2009-12-24 | 2011-06-30 | 한국과학기술원 | 카툰 애니메이션에서 유체의 렌더링 시스템 및 방법 |
CN102402792A (zh) * | 2011-10-24 | 2012-04-04 | 克拉玛依红有软件有限责任公司 | 一种实时浅水模拟方法 |
CN112041894A (zh) * | 2018-04-16 | 2020-12-04 | 辉达公司 | 渲染期间提高涉及水面的场景的真实感 |
CN112860063A (zh) * | 2021-02-02 | 2021-05-28 | 杭州电魂网络科技股份有限公司 | 交互水的实现方法、系统、电子装置和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于GPU编程的真实感水面模拟绘制;杨延;张建中;何晓曦;;电脑知识与技术(13);第3484页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113617024A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109377546B (zh) | 虚拟现实模型渲染方法及装置 | |
US7554540B2 (en) | System and method of visible surface determination in computer graphics using interval analysis | |
CN113617024B (zh) | 水体面渲染方法、装置、设备及存储介质 | |
CN113674389B (zh) | 场景渲染方法、装置、电子设备及存储介质 | |
CN108154548A (zh) | 图像渲染方法及装置 | |
US20040181382A1 (en) | Visualizing the surface of a liquid | |
US7692647B2 (en) | Real-time rendering of realistic rain | |
CN112370784B (zh) | 虚拟场景显示方法、装置、设备以及存储介质 | |
CN111145330B (zh) | 人体模型渲染方法、装置、电子设备及存储介质 | |
CN108022285B (zh) | 地图渲染方法及装置 | |
US20090195555A1 (en) | Methods of and apparatus for processing computer graphics | |
US20220129964A1 (en) | System and method for high quality renderings of synthetic views of custom products | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US11288774B2 (en) | Image processing method and apparatus, storage medium, and electronic apparatus | |
CN108182721A (zh) | 扰动流体渲染方法及装置 | |
CN108074285B (zh) | 体积云模拟方法和体积云模拟装置 | |
CN112652046A (zh) | 游戏画面的生成方法、装置、设备及存储介质 | |
CN117218273A (zh) | 图像渲染方法以及装置 | |
CN115512025A (zh) | 模型渲染性能的检测方法、装置、电子设备及存储介质 | |
CN111798554A (zh) | 一种渲染参数确定方法、装置、设备及存储介质 | |
WO2024148898A1 (zh) | 图像降噪方法、装置、计算机设备和存储介质 | |
WO2006115716A2 (en) | System and method of visible surface determination in computer graphics using interval analysis | |
US20230186575A1 (en) | Method and apparatus for combining an augmented reality object in a real-world image | |
CN112132938A (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
WO2023005757A1 (zh) | 一种透明多面体的渲染方法及装置 |
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 |