CN115239869B - 阴影处理方法、阴影渲染方法及设备 - Google Patents
阴影处理方法、阴影渲染方法及设备 Download PDFInfo
- Publication number
- CN115239869B CN115239869B CN202211156153.6A CN202211156153A CN115239869B CN 115239869 B CN115239869 B CN 115239869B CN 202211156153 A CN202211156153 A CN 202211156153A CN 115239869 B CN115239869 B CN 115239869B
- Authority
- CN
- China
- Prior art keywords
- shadow
- information
- target object
- light
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请实施例提供了一种阴影处理方法、阴影渲染方法及设备。其中,根据目标对象在多个光线角度上的光线遮挡信息,获得所述多个光线角度的阴影信息;将所述多个光线角度的阴影信息转换为纹理信息;所述纹理信息用于根据针对所述目标对象的阴影渲染指令,获得当前光线角度对应的目标阴影信息;所述目标阴影信息用于绘制所述目标对象在当前光线角度下的阴影。本申请实施例提供的技术方案降低了性能开销。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种阴影处理方法、阴影渲染方法及设备。
背景技术
阴影是对于提升诸如游戏画面等虚拟画面真实感非常重要,因此阴影渲染也成为虚拟画面渲染过程中必不可少的操作。
目前的阴影渲染技术,通常采用实时阴影技术,如Shadowmap(阴影深度贴图)实现,但是实时阴影技术,性能开销较大。
发明内容
本申请实施例提供一种阴影处理方法、阴影渲染方法及设备,用以解决现有技术中阴影渲染性能开销较大的技术问题。
第一方面,本申请实施例中提供了一种阴影处理方法,包括:
根据目标对象在多个光线角度上的光线遮挡信息,获得所述多个光线角度的阴影信息;
将所述多个光线角度的阴影信息转换为纹理信息;
其中,所述纹理信息用于根据针对所述目标对象的阴影渲染指令,获得当前光线角度对应的目标阴影信息;所述目标阴影信息用于绘制所述目标对象在当前光线角度下的阴影。
第二方面,本申请实施例中提供了一种阴影渲染方法,包括:
响应于针对目标对象的阴影渲染指令,从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息;所述纹理信息由多个光线角度的阴影信息转换获得;所述多个光线角度的阴影信息根据目标对象在多个光线角度上的光线遮挡信息确定;
基于所述目标阴影信息,渲染生成所述目标对象的阴影。
第三方面,本申请实施例中提供了一种计算设备,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,以实现如上述第一方面所述的阴影处理方法或者如上述第二方面所述的阴影渲染方法。
第四方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时实现如上述第一方面所述的阴影处理方法或者如上述第二方面所述的阴影渲染方法。
本申请实施例中,根据目标对象在多个光线角度上的光线遮挡情况,获得所述多个光线角度的阴影信息;将所述多个光线角度的阴影信息转换为纹理信息;客户端对目标对象进行阴影渲染时,从所述目标对象对应的纹理信息中,可以获得当前光线角度对应的目标阴影信息,从而基于所述目标阴影信息,可以渲染生成所述目标对象的阴影。本申请实施例通过预先存储目标对象在多个光线角度上的纹理信息,进行阴影渲染时,可以直接利用基于当前光线角度从中获取的目标阴影信息进行渲染即可,无需实时计算,可以实现减少计算资源消耗,降低性能开销。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例的技术方案应用于其中的一种系统架构图;
图2示出了本申请提供的一种阴影处理方法一个实施例的流程图;
图3a示出了本申请实施例在一个实际应用中的光线追踪示意图;
图3b示出了本申请实施例在一个实际应用中的光线遮挡示意图;
图4示出了本申请提供的一种阴影渲染方法一个实施例的流程图;
图5示出了本申请实施例在一个实际应用中的场景交互示意图;
图6示出了本申请提供的一种阴影处理装置一个实施例的结构示意图;
图7示出了本申请提供的一种计算设备一个实施例的结构示意图;
图8示出了本申请提供的一种阴影渲染装置一个实施例的结构示意图;
图9示出了本申请提供的一种计算设备又一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以适用于对虚拟场景中的虚拟对象进行阴影渲染显示的应用场景中,虚拟场景例如可以是指游戏场景、虚拟现实场景等,虚拟场景可以通过对应的渲染数据而渲染显示呈现,在一个虚拟场景中,通常包括多个虚拟对象,由于虚拟场景通常具备时间信息,不同时间信息对应的光照角度不同,因此,每个虚拟对象在不同时间具有不同阴影绘制需求。
采用实时阴影技术,例如Shadowmap(阴影深度贴图),进行阴影渲染,计算复杂度高且计算量过大,需要大量的Draw Call(绘制调用指令),性能开销过大。特别是虚拟场景中距离视线越远,位于视椎体内的虚拟对象越多,需要绘制的阴影也越多,采用实时阴影技术性能开销会更大。
为了降低计算量,降低性能开销,发明人经过一系列研究提出了本申请的技术方案,在本申请实施例中,可以预先存储目标对象在多个光线角度上的纹理信息,进行阴影渲染时,可以直接利用基于当前光线角度从中获取的目标阴影信息进行渲染即可,无需实时计算,可以实现减少计算资源消耗,降低性能开销,且可以保证实现不同时间的动态阴影效果,满足24小时的动态阴影需求。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例的技术方案可以适用于其中的一种系统架构的结构示意图,可以包括客户端101及服务端102。客户端与服务端之间通过网络建立连接。网络为客户端与服务端之间提供了通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
客户端通过网络可以与服务端交互以接收或发送数据等。
其中,客户端可以为浏览器、APP(Application,应用程序)、或网页应用如H5(HyperText Markup Language5,超文本标记语言第5版)应用、或轻应用(也被称为小程序,一种轻量级应用程序)或云应用等,客户端可以部署在电子设备中,需要依赖设备运行或者设备中的某些app而运行等。电子设备例如可以具有显示屏并支持信息浏览等,如可以是个人移动终端如手机、平板电脑、个人计算机、电视机等。
服务端可以包括提供各种服务的服务器,例如与客户端进行交互处理的服务器、提供渲染数据生成服务的服务器等。需要说明的是,服务端可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
以游戏场景为例,客户端可以为游戏客户端,电子设备可以运行游戏客户端并能够在显示屏上呈现游戏画面。电子设备可以通过图形用户界面与玩家用户进行交互,即,通过电子设备下载安装游戏客户端并运行,游戏客户端将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在电子设备的显示屏上,或者通过全息投影提供给用户等。服务端可以包括为游戏客户端提供各种服务的服务器。
其中,服务端可以将游戏场景的渲染数据发送至客户端,由客户端进行渲染显示,以生成并显示游戏场景对应的游戏画面。
此外,本申请实施例的技术方案也可以适用于云游戏场景,上述系统架构可以实现为云交互系统,云游戏可以指以云计算为基础、的游戏方式。在云游戏的场景中,可以由服务端基于渲染数据生成游戏画面,游戏客户端仅用于呈现游戏画面等。
当然,本申请实施例的技术方案还可以适用于本地游戏场景中,也即游戏客户端可以无需与服务端交互,渲染数据本地存储,通过游戏客户端即可以呈现游戏场景的游戏画面,并可以基于用户控制而呈现不同游戏画面等。
游戏客户端基于渲染数据生成游戏画面时,对于不同虚拟对象通常存在阴影渲染需求,特别是目前很多游戏场景需要实时阴影,而采用本申请实施例的技术方案可以降低性能开销。
需要说明的是,本申请实施例提供的阴影处理方法一般由服务端执行,阴影渲染方法一般由客户端执行。但是,在本申请的其它实施例中,服务端也可以执行本申请实施例所提供的阴影渲染方法。在本申请的其它实施例中,本申请实施例所提供的阴影渲染方法还可以是由客户端与服务端共同执行。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2为本申请实施例提供的一种阴影处理方法一个实施例的流程图,该方法可以包括以下几个步骤:
201:根据目标对象在多个光线角度上的光线遮挡信息,获得多个光线角度的阴影信息。
目标对象可以为虚拟场景中存在动态阴影渲染需求的任意虚拟对象。实际应用中,该虚拟场景例如可以为游戏场景或者虚拟现实场景等,目标对象例如可以是虚拟场景中建筑物、树木或者其它角色对象如人物等。
其中,该多个光线角度不同,可选地,该多个光线角度可以对目标对象的全方位的光照角度进行切分获得,如360度的光照角度进行切分获得。该多个光线角度可以是对360度的光照角度进行水平方向的切分获得,如图3a中所示,可以是将相对目标对象30的水平光照角度进行切分获得,其中,切分数量可以结合实际情况进行确定,例如16等份或者100等份等,光照角度在垂直方向上的仰角可以固定,为设定的目标仰角,该目标仰角也可以结合实际情况进行调整等。
其中,该多个光线角度可以根据不同时间的光源位置确定,例如根据24小时的光源位置,确定该多个光线角度。
其中,可以是在多个光线角度分别向目标对象发射光线,从光线角度发射的光线会与目标对象发生碰撞,使得光线被目标对象遮挡,从而产生光线遮挡信息,根据光线遮挡信息即可以生成阴影信息。
其中,在每个光线角度上,光源可以发射多条光线,每个光线角度的阴影信息可以包括目标对象与从该光线角度发射的多条光线的多个相交点。该多个相交点可以通过在目标对象所在世界坐标系中的坐标值表示。光线遮挡信息即由多个相交点构成。
其中,该光线遮挡信息可以直接作为阴影信息,此外,为了进一步降低性能开销,可以对光线遮挡信息进行采样获得阴影信息,可选地,每个光线角度的阴影信息可以包括目标对象与每个光线角度上的边界相交点,因此,根据目标对象在多个光线角度上的光线遮挡信息,获得多个光线角度的阴影信息可以包括:
在所述多个光线角度分别向目标对象发射光线,获得所述目标对象分别在所述多个光线角度上的光线遮挡信息;
对目标对象分别在多个光线角度上的光线遮挡信息进行采样,确定目标对象在不同光线角度上的边界相交点;
获得包括边界相交点的阴影信息。
其中,边界相交点可以包括最高相交点与最低相交点。因此,可以是对目标对象分别在多个光线角度上的光线遮挡信息进行采样,确定目标对象在不同光线角度上的最高相交点及最低相交点。
为了便于理解,图3b示出了从光线角度发射出的多条光线与目标对象发生碰撞,这些光线被目标对象遮挡,产生多个相交点,从中可以确定出最高相交点A以及最低相交点B,对应该光线角度的阴影信息即可以包括该最高相交点A以及最低相交点B。
202:将多个光线角度的阴影信息转换为纹理信息。
阴影信息可以转换为纹理信息进行保存,由上文描述可知,阴影信息由目标对象与光线的相交点构成,该纹理信息可以为纹理贴图形式,但是仅记录了相交点。
可选地,阴影信息可以仅包括边界相交点,从而纹理信息中可以只记录边界相交点对应的转换信息即可,可以显著降低纹理信息的数据量,实现数据压缩目的,只需几K B(Kilobyte,千字节)的纹理信息即可以保存大量阴影信息从而实现高性能的绘制。
可选地,可以首先将多个光线角度的阴影信息投影至柱面坐标空间,获得投影信息;之后再将投影信息转换为纹理信息。
其中,将阴影信息投影至柱面坐标空间,可以是指将阴影信息中相交点的坐标转换为柱面坐标空间的坐标,之后可以采用纹理贴图记录柱面坐标空间中的坐标,纹理贴图中的每个像素表示一个相交点,利用像素值表示柱面坐标空间中的坐标,该纹理贴图中,目标对象与每个光线角度的多个相交点被映射为一列像素,在多个相交点仅包括边界相交点时,一列像素可以仅记录最高相交点和最低相交点对应的像素值,该纹理贴图即由多列像素构成,该多列像素的像素值即形成纹理信息,像素值可以是指像素的颜色通道值,此外,每个像素对应有UV坐标(纹理贴图坐标,U表示水平方向,V表示垂直方向),本申请实施例中,U坐标表示不同光线角度,V坐标表示相交点位置,通过UV坐标即可以确定一个光线角度下的若干相交点对应的像素值,基于像素值即可以最终还原获得阴影信息。
其中,生成的纹理信息可以保存至虚拟场景的渲染数据中,用于虚拟场景渲染时进行目标对象的阴影渲染。
其中,纹理信息用于根据针对目标对象的阴影渲染指令,获得当前光线角度对应的目标阴影信息;目标阴影信息用于绘制目标对象在当前光线角度下的阴影。基于纹理信息实现的具体的阴影渲染方式在下文实施例中会详细进行介绍。
本实施例中,基于目标对象在多个光线角度的光线遮挡信息,生成个光线角度的阴影信息;将多个光线角度的阴影信息转换为纹理信息;进行目标对象的阴影渲染时,即可以根据当前光线角度对应的目标阴影信息绘制目标对象在当前光线角度下的阴影,通过预烘焙出不同光线角度的纹理信息,不仅可以实现动态阴影渲染,且可以减少对计算资源和存储资源的需求,降低性能开销。
图4为本申请实施例提供的一种阴影渲染方法一个实施例的流程图,本实施例从阴影渲染角度对本申请技术方案进行介绍,该方法可以包括以下几个步骤:
401:响应于针对目标对象的阴影渲染指令,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息。
在进行虚拟场景渲染时,对于虚拟场景中需要进行阴影渲染的目标对象,可以对于生成阴影渲染指令。
其中,当前光线角度可以根据虚拟场景对应的场景时间所确定。因此,可以基于当前场景时间,生成针对目标对象的阴影渲染指令。不同时间对应的光源位置不同,因此光线角度不同。
其中,纹理信息由多个光线角度的阴影信息转换获得;多个光线角度的阴影信息根据目标对象在多个光线角度上的光线遮挡信息确定;该纹理信息的具体确定方式可以详见图2所示实施例中所述,此处不再重复赘述。
本实施例的技术方案可以由客户端执行,客户端可以调用GPU(graphicsprocessing unit,图形处理器)执行步骤401~步骤402 的操作。
402:基于目标阴影信息,渲染生成目标对象的阴影。
由于纹理信息由多个光线角度的阴影信息转换获得,因此基于当前光线角度可以从纹理信息中重构获得目标阴影信息,从而基于目标阴影信息,即可以渲染生成目标对象的阴影。
其中,基于目标阴影信息,可以调用shader(着色器)渲染生成目标对象的阴影。
本实施例中,通过预先烘焙生成目标对象在多个光线角度上的纹理信息,进行阴影渲染时,可以重构获得当前光线角度对应的目标阴影信息,基于目标阴影信息进行渲染即可,可以减少计算资源和存储资源的消耗,降低计算量,从而降低性能开销。
一些实施例中,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息包括:
从目标对象对应的纹理信息中,获取当前光线角度对应的目标纹理信息;
将目标纹理信息转换为目标阴影信息。
由于纹理信息中的多列像素分别对应目标对象与不同光线角度的相交点,因此,结合纹理坐标,可以确定当前光线角度在纹理信息中对应的一列像素,根据该列像素记录的相交点的像素值,即目标纹理信息,再经过坐标转换等,可以转换为目标对象所在世界坐标系中的坐标,获得目标阴影信息。
一些实施例中,基于目标阴影信息,渲染生成目标对象的阴影可以包括:
根据目标阴影信息,确定阴影形状;
按照绘制参数,绘制阴影形状对应的阴影。
其中,目标阴影信息至少包括目标对象与不同光线的最高相交点以及最低相交点,因此,根据该最高相交点以及最低相交点,可以确定阴影形状。
该绘制参数可以包括阴影颜色,此外还可以包括透明度、清晰度、分辨率等,从而可以按照绘制参数,即绘制阴影形状对应的阴影,完成目标对象的阴影渲染。
一些实施例中,根据目标阴影信息,确定阴影形状可以包括:
获取目标对象的阴影贴图;
根据阴影贴图中的像素点是否位于目标阴影信息限定的阴影范围内,确定阴影形状。
则该按照绘制参数,绘制阴影形状对应的阴影可以是:按照绘制参数,在阴影贴图中绘制阴影形状对应的阴影。
也即可以首先根据当前光线角度,获取目标对象的阴影贴图。其中,阴影贴图可以为贴花或者面片,可选地,为了避免受进入阴影的其它对象影响,可选地,该阴影贴图可以具体为贴花。其中,贴花是一类贴图技术,可以实现图片绘制到另一个物体表面上,而不受物体影响。
目标阴影信息用于限定阴影范围,从而可以判断阴影贴图中的像素点是否位于阴影范围内。该阴影范围即由目标阴影信息中目标对象在当前光线角度的最高相交点以及最低相交点所确定,具体的,可以将当前光线角度对应的最高相交点以及最低相交点,投射至阴影绘制面上,根据当前光线仰角和三角函数关系,可以转换为在阴影绘制面上对应的最高阴影点和最低阴影点,该阴影范围可以具体是指小于等于最高阴影点以及大于等于最低阴影点的取值范围,若任意像素点位于由最高阴影点以及最低阴影点限定的阴影范围内,则表面该像素点为阴影,进行阴影绘制,否则不是阴影,则可以舍弃,据此可以确定阴影形状。之后,在阴影贴图中,按照绘制参数即可以绘制获得阴影形状对应的阴影。
其中,根据阴影贴图中的像素点是否位于目标阴影信息限定的阴影范围内,确定阴影形状,也即阴影贴图与该阴影范围的相交部分,即为阴影形状。
该目标对象的阴影贴图可以根据目标尺寸以及目标形状所绘制。
其中,该目标尺寸以及目标形状可以预先配置。
此外,也可以根据当前光线角度和/或目标对象的规格参数所确定。可以预先配置不同光线角度对应的尺寸和/或形状,也可以预先配置不同规格参数对应的尺寸和/或形状等。其中,规格参数可以包括对象尺寸、对象形状等。
因此,一些实施例中,可以根据当前光线角度,绘制目标对象的阴影贴图。也可以结合目标对象的规格参数,绘制目标对象的阴影贴图,或者可以结合当前光线角度以及目标对象的规格参数,绘制目标对象的阴影贴图等。
由于阴影贴图基于目标对象而绘制,即便目标对象发生位置变化或损坏等,亦可以实现对应的动态阴影渲染,目标对象移除情况下,由于阴影贴图也会移除,因此对应的阴影也会去除,采用本申请实施例的技术方案既实现动态阴影渲染,且可以保证阴影渲染效果,同时降低了性能开销。
此外,根据当前光线角度可以确定阴影绘制区域,可以在该阴影绘制区域绘制阴影贴图,阴影绘制区域会跟随目标对象的位置发生变化。
一些实施例中,响应于针对目标对象的阴影渲染指令,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息可以包括:
响应于针对目标对象的阴影渲染指令,判断目标对象的视线距离是否大于预定距离;
在视线距离大于预定距离情况下,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息。
其中,视线距离可以是指目标对象与相机距离,对于视线距离大于预定距离的目标对象,对于画面精细度要求不高,采用本申请实施例的技术方案只需要保存目标对象与光线的边界相交点,即可以实现阴影渲染,无需绘制完整的阴影图片,因此可以降低存储资源以及计算资源的消耗,降低性能开销。该相机可以是指虚拟场景中的相机,对应虚拟场景中一个视角。
而若目标对象的视线距离小于预定距离,则可以采用实时阴影技术,渲染该目标对象的阴影,以保证阴影渲染效果。
在实际应用中,本申请实施例的技术方案可以应用于游戏场景中,目标对象为游戏场景中的游戏对象,例如游戏角色对象或者其它物体等。下面以游戏场景为例,结合图5所示的场景交互示意图,对本申请技术方案进行详细介绍。
服务端501可以预先对游戏对象进行光线追踪,即在多个光线角度分别向目标对象发射光线,对游戏对象分别在多个光线角度上的光线遮挡信息进行采样,确定游戏对象与不同光线角度的最高相交点以及最低相交点,由每个光线角度下与游戏对象的最高相交点以及最低相交点构成阴影信息。之后可以将阴影信息投影至柱面坐标空间,再转换为纹理坐标,获得纹理信息。该纹理信息可以只记录不同光线对应的最高相交点以及最低相交点,可以减少数据量,降低对存储资源的消耗等。服务端501可以将纹理信息保存至渲染数据中,并可以将渲染数据发送至游戏客户端502。
游戏客户端502运行并基于渲染数据渲染生成游戏场景,针对存在阴影渲染需求的游戏对象,可以生成阴影渲染指令。游戏客户端502响应于该阴影渲染指令,若该游戏对象为距离视线较远的对象,则可以从游戏对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息,基于目标阴影信息,可以基于游戏对象的规格参数等,绘制游戏对象的阴影贴图,根据阴影贴图中的像素点是否位于目标阴影信息限定的阴影范围内,可以确定阴影形状,并按照绘制参数,在阴影贴图中绘制获得阴影形状对应的阴影,实现阴影渲染目的。
本申请实施例中,可以预先烘焙游戏对象在多个光线角度下的纹理信息,且保存游戏对象与不同光线角度的最高相交点以及最低相交即可实现阴影渲染,降低了数据存储量,降低了存储资源消耗,在存储阴影渲染需求时,可以根据当前光线角度对应的目标阴影信息,来判断游戏对象的阴影贴图中的像素点是否位于阴影范围内,从而基于判断结果,即可以绘制生成游戏对象在当前光线角度下的阴影,不仅可以实现不同光线角度的动态阴影渲染,且可以减少对计算资源和存储资源的需求,降低性能开销,且采样阴影贴图方式,不受游戏对象位置变化、形状变化、移除等因素影响,可以保证阴影渲染效果,且阴影贴图可以采用贴花实现,使得渲染获得阴影不会受进入阴影的其它游戏对象的影响等。
图6为本申请实施例提供的一种阴影处理装置一个实施例的结构示意图,该装置可以包括:
阴影烘焙模块601,用于根据目标对象在多个光线角度上的光线遮挡信息,获得多个光线角度的阴影信息;
信息转换模块602,用于将多个光线角度的阴影信息转换为纹理信息;
其中,纹理信息用于根据针对目标对象的阴影渲染指令,获得当前光线角度对应的目标阴影信息;目标阴影信息用于绘制目标对象在当前光线角度下的阴影。
一些实施例中,阴影烘焙模块可以具体是确定不同时间的光源位置对应的多个光线角度,在多个光线角度分别向目标对象发射光线,获得所述目标对象分别在所述多个光线角度上的光线遮挡信息;对目标对象分别在多个光线角度上的光线遮挡信息进行采样,确定目标对象与不同光线的边界相交点;获得包括边界相交点的阴影信息。
一些实施例中,阴影烘焙模块对目标对象分别在多个光线角度上的光线遮挡信息进行采样,确定目标对象在不同光线角度上的边界相交点可以是对目标对象分别在多个光线角度上的光线遮挡信息进行采样,确定目标对象在不同光线角度上的最高相交点及最低相交点。
一些实施例中,信息转换模块可以具体是将多个光线角度的阴影信息投影至柱面坐标空间,获得投影信息;将投影信息转换为纹理坐标,获得纹理信息。
图6所述的阴影处理装置可以执行图2所示实施例所述的阴影处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的阴影处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种计算设备,如图7所示,该计算设备可以包括存储组件701以及处理组件702;
存储组件701存储一条或多条计算机指令,其中,该一条或多条计算机指令供处理组件702调用执行,以实现如图2所示实施例的阴影处理方法。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图2所示实施例的阴影处理方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,计算机程序被计算机执行时可以实现如上述如图2所示实施例的阴影处理方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
图8为本申请实施例提供的一种阴影渲染装置一个实施例的结构示意图,该装置可以包括:
信息确定模块801,用于响应于针对目标对象的阴影渲染指令,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息;其中,纹理信息由多个光线角度的阴影信息转换获得;多个光线角度的阴影信息根据目标对象在多个光线角度上的光线遮挡情况确定;
渲染模块802,用于基于目标阴影信息,渲染生成目标对象的阴影。
一些实施例中,信息确定模块可以具体是从目标对象对应的纹理信息中,获取当前光线角度对应的目标纹理信息;将目标纹理信息转换为目标阴影信息。
一些实施例中,渲染模块可以具体是根据目标阴影信息,确定阴影形状;按照绘制参数,绘制阴影形状对应的阴影。
一些实施例中,渲染模块可以具体是获取目标对象的阴影贴图;根据阴影贴图中的像素点是否位于目标阴影信息限定的阴影范围内,确定阴影形状;按照绘制参数,在阴影贴图中绘制阴影形状对应的阴影。
一些实施例中,渲染模块根据当前光线角度,绘制目标对象的阴影贴图可以具体是根据当前光线角度和/或目标对象的规格参数,绘制目标对象的阴影贴图。
一些实施例中,信息确定模块可以具体是响应于针对目标对象的阴影渲染指令,判断目标对象的视线距离是否大于预定距离;
在视线距离大于预定距离情况下,从目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息。
图9所述的渲染装置可以执行图4所示实施例所述的阴影渲染方法,其实现原理和技术效果不再赘述。对于上述实施例中的阴影处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种计算设备,如图9所示,该计算设备可以包括存储组件901以及处理组件902;
存储组件901存储一条或多条计算机指令,其中,该一条或多条计算机指令供处理组件902调用执行,以实现如图4所示实施例的阴影渲染方法。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
该计算设备实际应用中可以为用户终端,例如手机、平板电脑、个人计算机等,如9所述,计算设备还可以包括显示组件903,以执行显示操作,如显示渲染生成的阴影等。
其中,处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。该一个或多个处理器可以包括CPU以及GPU;当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图4所示实施例的阴影渲染方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,计算机程序被计算机执行时可以实现如上述如图4所示实施例的阴影渲染方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种阴影处理方法,其特征在于,包括:
根据目标对象在多个光线角度上的光线遮挡信息,获得所述多个光线角度的阴影信息;
将所述多个光线角度的阴影信息转换为纹理信息;
其中,所述纹理信息用于根据针对所述目标对象的阴影渲染指令,获得当前光线角度对应的目标阴影信息;所述目标阴影信息用于绘制所述目标对象在当前光线角度下的阴影;
其中,所述根据目标对象在多个光线角度上的光线遮挡情况,获得多个光线角度的阴影信息包括:
确定不同时间的光源位置对应的多个光线角度;
在所述多个光线角度分别向目标对象发射光线,获得所述目标对象分别在所述多个光线角度上的光线遮挡信息;
对所述目标对象分别在所述多个光线角度上的光线遮挡信息进行采样,确定所述目标对象在不同光线角度上的边界相交点;
获得包括所述边界相交点的阴影信息。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标对象分别在所述多个光线角度上的光线遮挡信息进行采样,确定所述目标对象在不同光线角度上的边界相交点包括:
对所述目标对象分别在所述多个光线角度上的光线遮挡信息进行采样,确定所述目标对象在不同光线角度上的最高相交点及最低相交点,作为边界相交点。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个光线角度的阴影信息转换为纹理信息包括:
将所述多个光线角度的阴影信息投影至柱面坐标空间,获得投影信息;
将所述投影信息转换为纹理信息。
4.一种阴影渲染方法,其特征在于,包括:
响应于针对目标对象的阴影渲染指令,从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息;所述纹理信息由多个光线角度的阴影信息转换获得;所述多个光线角度的阴影信息根据目标对象在多个光线角度上的光线遮挡信息确定;所述光线遮挡信息通过在所述多个光线角度分别向目标对象发射光线获得;所述阴影信息包括所述目标对象通过所述光线遮挡信息进行采样而获得的在不同光线角度上的边界相交点;所述多个光线角度对应不同时间的光源位置;
基于所述目标阴影信息,渲染生成所述目标对象的阴影。
5.根据权利要求4所述的方法,其特征在于,所述从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息包括:
从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标纹理信息;
将所述目标纹理信息转换为目标阴影信息。
6.根据权利要求4所述的方法,其特征在于,所述基于所述目标阴影信息,渲染生成所述目标对象的阴影包括:
根据所述目标阴影信息,确定阴影形状;
按照绘制参数,绘制所述阴影形状对应的阴影。
7.根据权利要求4所述的方法,其特征在于,所述基于所述目标阴影信息,渲染生成所述目标对象的阴影包括:
获取所述目标对象的阴影贴图;
根据所述阴影贴图中的像素点是否位于所述目标阴影信息限定的阴影范围内,确定阴影形状;
按照绘制参数,在所述阴影贴图中绘制所述阴影形状对应的阴影。
8.根据权利要求6所述的方法,其特征在于,所述根据当前光线角度,绘制所述目标对象的阴影贴图包括:
根据当前光线角度和/或所述目标对象的规格参数,绘制所述目标对象的阴影贴图。
9.根据权利要求4所述的方法,其特征在于,所述响应于针对目标对象的阴影渲染指令,从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息包括:
响应于针对目标对象的阴影渲染指令,判断所述目标对象的视线距离是否大于预定距离;
在所述视线距离大于预定距离情况下,从所述目标对象对应的纹理信息中,获取当前光线角度对应的目标阴影信息。
10.一种计算设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,以实现如权利要求1~3任一项所述的阴影处理方法或者如权利要求4~9任一项所述的阴影渲染方法。
11.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算机程序被计算机执行时实现如权利要求1~3任一项所述的阴影处理方法或者如权利要求4~9任一项所述的阴影渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211156153.6A CN115239869B (zh) | 2022-09-22 | 2022-09-22 | 阴影处理方法、阴影渲染方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211156153.6A CN115239869B (zh) | 2022-09-22 | 2022-09-22 | 阴影处理方法、阴影渲染方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115239869A CN115239869A (zh) | 2022-10-25 |
CN115239869B true CN115239869B (zh) | 2023-03-24 |
Family
ID=83667061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211156153.6A Active CN115239869B (zh) | 2022-09-22 | 2022-09-22 | 阴影处理方法、阴影渲染方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115239869B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103903296A (zh) * | 2014-04-23 | 2014-07-02 | 东南大学 | 虚拟家装室内场景设计中的阴影渲染方法 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN111862295A (zh) * | 2020-07-17 | 2020-10-30 | 完美世界(重庆)互动科技有限公司 | 一种虚拟对象的展示方法、装置、设备和存储介质 |
CN113012274A (zh) * | 2021-03-24 | 2021-06-22 | 北京壳木软件有限责任公司 | 一种阴影渲染的方法、装置以及电子设备 |
CN114067043A (zh) * | 2021-11-09 | 2022-02-18 | 网易(杭州)网络有限公司 | 一种虚拟模型的渲染方法和装置 |
CN114596401A (zh) * | 2020-11-20 | 2022-06-07 | 华为云计算技术有限公司 | 渲染方法、设备以及系统 |
WO2022126145A1 (en) * | 2022-02-01 | 2022-06-16 | Innopeak Technology, Inc. | Hybrid shadow rendering |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016103870A1 (de) * | 2015-03-03 | 2016-09-08 | Imagination Technologies Limited | Systeme und Verfahren zur weichen Schattierung in 3D-Rendering |
-
2022
- 2022-09-22 CN CN202211156153.6A patent/CN115239869B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103903296A (zh) * | 2014-04-23 | 2014-07-02 | 东南大学 | 虚拟家装室内场景设计中的阴影渲染方法 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN111862295A (zh) * | 2020-07-17 | 2020-10-30 | 完美世界(重庆)互动科技有限公司 | 一种虚拟对象的展示方法、装置、设备和存储介质 |
CN114596401A (zh) * | 2020-11-20 | 2022-06-07 | 华为云计算技术有限公司 | 渲染方法、设备以及系统 |
CN113012274A (zh) * | 2021-03-24 | 2021-06-22 | 北京壳木软件有限责任公司 | 一种阴影渲染的方法、装置以及电子设备 |
CN114067043A (zh) * | 2021-11-09 | 2022-02-18 | 网易(杭州)网络有限公司 | 一种虚拟模型的渲染方法和装置 |
WO2022126145A1 (en) * | 2022-02-01 | 2022-06-16 | Innopeak Technology, Inc. | Hybrid shadow rendering |
Also Published As
Publication number | Publication date |
---|---|
CN115239869A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108154548B (zh) | 图像渲染方法及装置 | |
CN111260766A (zh) | 虚拟光源处理方法、装置、介质及电子设备 | |
CN112184873B (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
CN108830923B (zh) | 图像渲染方法、装置及存储介质 | |
US20240087219A1 (en) | Method and apparatus for generating lighting image, device, and medium | |
US20240005592A1 (en) | Image rendering method and apparatus, device, and storage medium | |
WO2022063260A1 (zh) | 一种渲染方法、装置及设备 | |
CN111739142A (zh) | 场景渲染方法、装置、电子设备及计算机可读存储介质 | |
CN109448123B (zh) | 模型的控制方法及装置、存储介质、电子设备 | |
CN112734896A (zh) | 环境遮蔽渲染方法、装置、存储介质及电子设备 | |
CN115984449A (zh) | 一种光照渲染方法、装置、电子设备及存储介质 | |
CN113313622A (zh) | 虚拟场景中的光照模拟方法、装置及电子设备 | |
CN114842120B (zh) | 一种图像渲染处理方法、装置、设备及介质 | |
KR20230013099A (ko) | 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과 | |
CN115512025A (zh) | 模型渲染性能的检测方法、装置、电子设备及存储介质 | |
CN115239869B (zh) | 阴影处理方法、阴影渲染方法及设备 | |
CN114764841A (zh) | 使用内建函数用于光线追踪应用中的阴影去噪 | |
US10657705B2 (en) | System and method for rendering shadows for a virtual environment | |
CN118135081A (zh) | 模型生成方法、装置、计算机设备和计算机可读存储介质 | |
CN114428573B (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
CN112580213A (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
KR102235679B1 (ko) | 시각 효과를 가지는 객체를 디스플레이하는 장치 및 방법 | |
CN117372607A (zh) | 一种三维模型的生成方法、装置及电子设备 | |
CN112884888B (zh) | 一种基于混合现实的展会展示方法、系统、设备和介质 | |
CN112967369A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40081904 Country of ref document: HK |