CN108280887B - 一种阴影图确定方法及装置 - Google Patents
一种阴影图确定方法及装置 Download PDFInfo
- Publication number
- CN108280887B CN108280887B CN201810140973.3A CN201810140973A CN108280887B CN 108280887 B CN108280887 B CN 108280887B CN 201810140973 A CN201810140973 A CN 201810140973A CN 108280887 B CN108280887 B CN 108280887B
- Authority
- CN
- China
- Prior art keywords
- video frame
- shadow map
- displayed
- sub
- current video
- 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种阴影图确定方法及装置,所述阴影图确定方法包括:获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同;若相同,将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图;若不相同,绘制所述当前视频帧中待显示的物体的阴影图。通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种阴影图确定方法及装置。
背景技术
为了提高用户在应用场景中的用户体验,会在应用场景中显示物体的影子,其中,应用场景可以是:3D动画场景、3D电影场景、3D游戏场景等。
下面以3D游戏场景为例进行说明,终端在运行3D游戏的过程中,为了使得用户能够在游戏中拥有更加接近于现实环境的真实体验,会模拟3D游戏场景中物体的影子。其中,终端模拟3D游戏场景中物体的影子的具体实现方式为绘制3D游戏场景中物体的阴影图,将所绘制的3D游戏场景中物体的阴影图确定为3D游戏场景中物体的影子。
现有技术中,终端模拟3D游戏场景中物体的影子时,一般预先在终端中存储已经绘制好的阴影图,终端在运行3D游戏的过程中,直接将预先存储的阴影图确定为3D游戏场景中物体的阴影图。
应用上述方式,终端模拟的3D游戏场景中物体的影子是固定不变的,不能随着3D游戏场景中光线的变化而变化。因此,所模拟出的3D游戏场景中物体的影子不够真实,降低了3D游戏的真实性,用户体验较差。
发明内容
本发明实施例的目的在于提供一种阴影图确定方法及装置,以使得应用场景中物体的影子更加真实,提高用户在应用场景中的用户体验。具体技术方案如下:
第一方面,本发明实施例提供了一种阴影图确定方法,所述方法包括:
获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;
判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同;
若相同,将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图;
若不相同,绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
获取所述当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的3D视锥,作为第二3D视锥;
采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同。
可选的,所述采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
获得所述第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得所述第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
将所述第一坐标与第二坐标进行比较,得到坐标变化值;
判断所述坐标变化值是否大于预设变化值;
如果大于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果小于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同。
可选的,所述采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
按照预设的分割规则,对所述第一3D视锥进行分割,获得第一类子3D视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
计算子3D视锥对中两个子3D视锥的中心点在预设坐标系中坐标的变化值;
判断所得到的变化值中是否存在大于预设值的变化值;
如果存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果不存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同;
所述绘制所述当前视频帧中待显示的物体的阴影图,包括:
绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,其中,所述第三类子 3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。
可选的,在所述绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,所述方法还包括:
判断所述第三类子3D视锥在所述当前视频帧的对应区域中是否存在物体;
如果存在,执行绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;
相应的,在所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,所述方法还包括:
判断所述第五类子3D视锥在所述当前视频帧的对应区域中是否存在物体;
如果存在,执行所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤。
可选的,在所述绘制所述当前视频帧中待显示的物体的阴影图之后,所述方法还包括:
保存所绘制的所述当前视频帧中待显示的物体的阴影图。
可选的,在所述绘制所述当前视频帧中待显示的物体的阴影图之后,所述方法还包括:
删除所述前一视频帧中已显示的物体的阴影图。
可选的,所述绘制所述当前视频帧中待显示的物体的阴影图,包括:
确定所述当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为所述当前视频帧中光源相对于该物体的角度;
根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图,包括:
确定所述当前视频帧中光源的光照强度;
根据所述光照强度、所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
第二方面,本发明实施例还提供了一种阴影图确定装置,所述装置包括:
视频帧获取模块,用于获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;
阴影图判断模块,用于判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,若相同,触发所述阴影图确定模块,若不相同,触发所述阴影图判断模块;
阴影图确定模块,用于将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图;
阴影图绘制模块,用于绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述阴影图判断模块,包括:
3D视锥获取单元,用于获取所述当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的3D视锥,作为第二3D视锥;
阴影图判断单元,用于采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同。
可选的,所述阴影图判断单元,具体用于:
获得所述第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得所述第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
将所述第一坐标与第二坐标进行比较,得到坐标变化值;
判断所述坐标变化值是否大于预设变化值;
如果大于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果小于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同。
可选的,所述阴影图判断单元,具体用于:
按照预设的分割规则,对所述第一3D视锥进行分割,获得第一类子3D视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
计算子3D视锥对中两个子视锥的中心点在预设坐标系中坐标的变化值;
判断所得到的变化值中是否存在大于预设值的变化值;
如果存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果不存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同;
所述阴影图绘制模块,具体用于:
绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,其中,所述第三类子 3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。
可选的,所述装置还包括:
第一物体判断模块,用于在所述绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第三类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行绘制第三类子 3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;
第二物体判断模块,用于在所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第五类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤。
可选的,所述装置还包括:
阴影图保存模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,保存所绘制的所述当前视频帧中待显示的物体的阴影图。
可选的,所述装置还包括:
阴影图删除模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,删除所述前一视频帧中已显示的物体的阴影图。
可选的,所述阴影图绘制模块,包括:
光照角度确定单元,用于确定所述当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为所述当前视频帧中光源相对于该物体的角度;
阴影图绘制单元,用于根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述阴影图绘制单元,具体包括:
确定所述当前视频帧中光源的光照强度;
根据所述光照强度、所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的任一阴影图确定方法。
第四方面,本发明实施路还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的任一阴影图确定方法。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种阴影图确定方法的流程图;
图2为本发明实施例所提供的一种“判断当前视频帧中物体的阴影图与前一视频帧中物体的阴影图是否相同”的流程图;
图3为本发明实施例所提供的另一种“判断当前视频帧中物体的阴影图与前一视频帧中物体的阴影图是否相同”的流程图;
图4为本发明实施例所提供的一种阴影图确定装置的结构示意图;
图5为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使得应用场景中物体的影子更加真实,提高用户在应用场景中的用户体验,本发明实施例提供了一种阴影图确定方法及装置,该阴影图确定方法可以应用于不同的应用场景中,其中,该应用场景可以为3D动画场景、3D电影场景、3D游戏场景等,本发明实施例对应用场景并不做具体限定。
上述阴影图确定方法的执行主体为电子设备,电子设备中可以安装有虚拟摄像机,该虚拟摄像机可以获取到应用场景的当前视频帧和该当前视频帧的前一视频帧,其中,电子设备可以为手机、电脑、游戏机等,这都是合理的。
本发明实施例提供的一种阴影图确定方法,包括:
获取应用场景的当前视频帧和当前视频帧的前一视频帧;
判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;
若当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同,将前一视频帧中已显示的物体的阴影图确定为当前视频帧中待显示的物体的阴影图;
若当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,绘制当前视频帧中待显示的物体的阴影图。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
第一方面,首先对本发明实施例提供的一种阴影图确定方法进行介绍,如图1所示,本发明实施例提供的一种阴影图确定方法,可以包括如下步骤:
S110,获取应用场景的当前视频帧和当前视频帧的前一视频帧;
其中,应用场景为本发明实施例应用时为用户显示的场景,例如,在3D 游戏场景中,3D游戏场景可以是一个游戏角色在草坪上行走,此时为用户显示的场景为该游戏角色在草坪上行走。
需要说明的是,上述应用场景通常为3D场景,获取应用场景的当前视频帧和当前视频帧的前一视频帧的方式可以为:通过转化算法将3D场景转化为2D 图像,即可得到当前视频帧和当前视频帧的前一视频帧,其中,转化算法为现有技术中任一种能够将3D场景转化为2D图像的算法,本发明实施例对转化算法不做详细阐述。
S120,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;若当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同,则执行步骤S130;若当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,则执行步骤S140;
在该步骤中,待显示的物体的阴影图为:在显示当前视频帧时,向用户展示的当前视频帧中物体的阴影图;已显示的物体的阴影图为:在显示当前视频帧的前一视频帧时,已经向用户展示的当前视频帧的前一视频帧的物体的阴影图。
对于应用场景中的同一物体而言,不同视频帧中所显示的物体的阴影图可能相同,也可能不同,即在不同的视频帧中,用户所看到的物体的阴影图可能相同,也可能不同。
以3D游戏场景为例,对于3D游戏场景中的一个游戏角色而言,当前视频帧与前一视频帧这两个不同的视频帧中,游戏用户的视角不同,在前一视频帧中,游戏用户所看到的该游戏场景中物体的完整影子,可能在当前视频帧中游戏用户所看到的该游戏场景中物体的部分影子。
为了在接下来的步骤中,能够确定是否需要绘制当前视频帧中物体的阴影图,需要判断当前视频帧中待显示的物体的阴影图与前一帧视频中已显示的物体的阴影图是否相同。
3D视锥能够较为准确地反映应用场景中物体的位置、物体相对于光源的角度,而应用场景中物体的位置以及物体相对于光源的角度是影响应用场景中物体的阴影图的重要因素。因此,可以通过当前视频帧的3D视锥和当前视频帧的前一视频帧的3D视锥,来判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同。
在一种实施方式中,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同,可以包括如下步骤:
获取当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的 3D视锥,作为第二3D视锥;
采用第一3D视锥和第二3D视锥,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同。
获取第一3D视锥和第二3D视锥的方式均可以是:采用执行主体电子设备中的虚拟摄像机来拍摄应用场景,以得到第一3D视锥和第二3D视锥。
具体的,第一3D视锥所展示的场景为:在显示当前视频帧中,向用户展示的应用场景;第二3D视锥所展示的场景为:在展示当前视频帧的前一视频帧中,向用户展示的应用场景。因此,采用第一3D视锥和第二3D视锥,可以判断出当前视频帧中待显示的物体的阴影图与当前视频帧的前一视频帧中已显示的物体的阴影图是否相同。
为了方案描述清楚,将在图2和图3所示的实施例中详细地描述“如何采用第一3D视锥和第二3D视锥,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同”。
S130,绘制当前视频帧中待显示的物体的阴影图;
在判断出当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同时,为了使得当前视频帧中待显示的物体的阴影图更加真实,需要绘制当前视频帧中待显示的物体的阴影图。
在一种实施方式中,绘制当前视频帧中待显示的物体的阴影图,包括:
确定当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为当前视频帧中光源相对于该物体的角度;
根据所确定的光照角度绘制当前视频帧中物体的阴影图。
在应用场景中,一个物体的阴影图的方向及大小与该物体的光照角度具有密切的关系。为了使得所绘制的阴影图更加真实,在绘制当前视频帧中每一物体的阴影图时,需要先确定当前视频帧中每一物体的光照角度。
下面将以3D游戏场景为例来进行说明。
在一种情况下,假设游戏玩家在玩3D游戏时,所选择的天气模式为晴天,光源为太阳。在3D游戏场景中,从上午到下午,太阳由东边升起,从西边降落。在太阳由东边向西边移动的过程中,物体的光照角度发生变化,物体的影子也发生变化,即物体的阴影图也发生变化。
具体的,在上午的时候,太阳位于东边,物体的影子的方向应该是朝西,因此,为了使得物体的影子更加真实,在绘制物体的阴影图的过程中,物体的阴影图方向也是朝西;在下午的时候,太阳位于西边,物体的影子的方向应该为朝东,因此,在绘制物体的阴影图的过程中,物体的阴影图方向也是朝东。
而且,对于3D游戏场景中的一个物体而言,从早晨到中午,该物体的光照角度逐渐变小(可近似看作由90度变为0度),该物体的阴影图由大变小;从中午到晚上,该物体的光照角度逐渐变大(可近似看作由0度变为90度),该物体的阴影图由小到大。
在另一种情况下,假设游戏玩家在玩3D游戏时,所选择的天气模式是黑夜,光源为路灯。此时,位于路灯东边、南边、西边、北边这四个方向的物体的光照角度不同,这四个方向的物体的阴影图也不同。
具体的,位于路灯东边的物体,其影子的方向应该为朝东,因此,在绘制物体的阴影图的过程中,物体的阴影图方向也为朝东;同样的,位于路灯南边的物体,其影子的方向应该为朝南,因此,在绘制物体的阴影图的过程中,物体的阴影图方向也为朝南;位于路灯西边的物体,其影子的方向应该为朝西,因此,在绘制物体的阴影图的过程中,物体的阴影图方向也是朝西;位于路灯北边的物体,其影子的方向应该为朝北,因此,在绘制物体的阴影图的过程中,物体的阴影图方向也是朝北。当然,还有位于路灯其他方位的物体,本发明实施例不做一一列举。
而且,对于3D游戏场景中的一个物体而言,其距离路灯的距离越近,该物体的光照角度越小,该物体的阴影图也越小;同样地,其距离路灯的距离越远,该物体的光照角度越大,该物体的阴影图也越大。
在一种实施方式中,为了使得所绘制的当前帧的物体的阴影图更加真实,根据所确定的光照角度绘制当前视频帧中待显示的物体的阴影图,可以包括:
确定当前视频帧中光源的光照强度;
根据光照强度、所确定的光照角度绘制当前视频帧中待显示的物体的阴影图。
具体的,当前视频帧中物体的阴影图不仅与物体的光照角度有关,还与当前视频帧中光源的光照强度有关。
仍以3D游戏场景为例,在同一3D游戏场景中,在一种情况下,游戏玩家所选择的天气模式为晴天;在另一种情况下,游戏玩家所选择的天气模式为多云。很显然,在天气模式为晴天时,太阳的光照强度较高,物体的影子较为清晰,因此,此时所绘制的当前帧的物体的阴影图也应该较为清晰;在天气模式为多云时,太阳的光照强度较低,物体的影子较为模糊,因此,此时所绘制的当前帧的物体的阴影图也应该较为模糊。
需要说明的是,光照角度和光照强度是影响应用场景中物体的阴影图的两个重要因素,在绘制应用场景中物体的阴影图时,根据实际情况,可以只考虑光照强度对应用场景中物体的阴影图的影响,也可以只考虑光照角度对应用场景中应用场景中物体的阴影图的影响,当然,也可以同时考虑光照强度和光照角度两个因素对应用场景中物体的阴影图的影响,这都是合理的。
S140,将前一视频帧中已显示的物体的阴影图确定为当前视频帧中待显示的物体的阴影图。
如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同,则说明前一视频帧中已显示的物体的阴影图即可以准确地表示当前视频帧中待显示的物体的阴影图,为了避免因重复绘制物体的阴影图而造成电子设备的能耗较高,可以直接将前一视频帧中已显示的物体的阴影图确定为当前视频帧中待显示的物体的阴影图。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
在图1所示实施例的基础上,在绘制当前视频帧中待显示的物体的阴影图之后,本发明实施例所提供的阴影图确定方法,还可以包括如下步骤:
保存所绘制的所述当前视频帧中待显示的物体的阴影图。
具体的,为了便于当前视频帧的后一视频帧中能够使用所绘制的当前视频帧中物体的阴影图,在绘制完当前视频帧中待显示的物体的阴影图之后,保存所绘制的当前视频帧中物体的阴影图,这样,在当前视频帧的后一视频帧中的待显示的物体的阴影图与当前视频帧的物体的阴影图相同时,可以直接将当前视频帧的物体的阴影图确定为当前视频帧的后一视频帧中的待显示的物体的阴影图,而不需要重新绘制当前视频帧的后一视频帧中的待显示的物体的阴影图,从而可以避免因重复绘制物体的阴影图而造成电子设备的能耗增加。
需要说明的是,所绘制的所述当前视频帧中待显示的物体的阴影图可以保存在执行主体电子设备中,也可以保存在与执行主体电子设备通信的其他的电子设备中,这都是合理的。
与现有技术相比,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验;而且,还可以避免因重复绘制物体的阴影图而造成电子设备的能耗增加。
在图1所示实施例的基础上,在绘制当前视频帧中待显示的物体的阴影图之后,本发明实施例所提供的阴影图确定方法,还可以包括如下步骤:
删除当前视频帧的前一视频帧中已显示的物体的阴影图。
具体的,在绘制当前视频帧中物体的阴影图之后,电子设备在确定当前视频帧的后续视频帧中物体的阴影图时,可能会利用到当前视频帧中物体的阴影图,其并不需要利用当前视频帧的前一视频帧的物体的阴影图,因此,为了节省存储空间,删除当前视频帧的前一视频帧中已显示的物体的阴影图。
与现有技术相比,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验;而且,还可以节省存储空间。
图2所示为:本发明实施例提供的“采用第一3D视锥和第二3D视锥,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同”的一种实现方式,主要包括如下步骤:
S201,获得第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
其中,第一3D视锥的中心点可以为第一3D视锥的几何中心,第二3D视锥的中心点可以为第二3D视锥的几何中心;预设坐标系可以为预先建立的坐标系,还可以是在确定第一坐标和第二坐标时所确定的参考坐标系,这都是合理的。
在获得了第一3D视锥与第二3D视锥之后,为了能够准确地判断出第一3D 视锥所展示的应用场景和第二3D视锥所展示的应用场景是否相同,首先获得第一3D视锥的中心点在预设坐标系中的坐标以及第二3D视锥的中心点在预设坐标系中的坐标。
S202,将第一坐标与第二坐标进行比较,得到坐标变化值;
其中,该坐标变化值可以为横坐标X的变化值,也可以为纵坐标Y的变化值,还可以是竖坐标Z的变化值,当然,还可以是第一3D视锥的中心点与第二 3D视锥的中心点的距离,这都是合理的。
S203,判断坐标变化值是否大于预设变化值;
对于不同的应用场景,预设变化值可以相同,也可以不同;
对于同一应用场景,预设变化值可以相同,也可以根据电子设备的性能以及用户的需要来设置不同的预设变化值,这都是合理的。
在得到第一坐标与第二坐标的坐标变化值之后,通过将该坐标变化值与预设变化值进行比较,即可判断出第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景是否相同。
S204,如果坐标变化值大于预设变化值,判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同;
在坐标变化值大于预设变化值时,说明第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景不同,因此,可以判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同。
S205,如果坐标变化值小于预设变化值,判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同。
在坐标变化值小于预设变化值时,说明第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景相同,因此,可以判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同 。
与现有技术相比,通过本发明实施例提供的技术方案,可以判断出第一3D 视锥所展示的应用场景与第二3D视锥所展示的应用场景是否相同。
图3所示为:本发明实施例提供的“采用第一3D视锥和第二3D视锥,判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同”的另一种实现方式,主要包括如下步骤:
S301,按照预设的分割规则,对第一3D视锥进行分割,获得第一类子3D 视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
其中,该预设的分割规则可以有多种,例如,该分割规则可以是按照距离视锥顶点由近到远的方式,将第一3D视锥切分成预设数量个子3D视锥,即得到第一类3D子视锥,其中,该预设数量可大可小,本发明实施例并不对该预设数量做具体限定。
第一类子3D视锥中的每个子3D视锥所展示的场景为当前视频帧所展示应用场景的一部分,因此,在得到第一3D视锥之后,通过预设的分割规则将第一 3D视锥进行分割有利于判断当前视频帧所展示的应用场景的每一部分与前一视频帧所展示的应用场景对应的部分相比是否发生变化。可见,通过对第一3D 视锥以及第二3D视锥进行分割,有利于更加精确地判断第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景是否相同。
S302,按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
具体的,在将第一3D视锥分割成第一类子3D视锥,以及将第二3D视锥分割成第二类子3D视锥后,可以将第一类子3D视锥和第二类子3D视锥进行排序。
举例而言,假设上述分割规则为按照距离视锥顶点由近到远的方式对3D 视锥进行分割。那么在对第一类子3D视锥进行排序时,可以将第一类子3D视锥中距离第一3D视锥的视锥顶点最近的子3D视锥的序号设置为1,依次地,将第一类子3D视锥中其他的子3D视锥的序号设置为2、3、4、5、……;同样地,也可以按照同样的排序方式对第二类子3D视锥进行排序,从距离第二视锥顶点最近的子3D视锥开始,将第二类子3D视锥的序号设置为1、2、3、4、5、.......。
在将第一类子3D视锥以及第二类子3D视锥进行排序后,将第一类子3D视锥与第二类子3D视锥中排序相同的子3D视锥作为一个子3D视锥对。
S303,计算子3D视锥对中两个视锥的中心点在预设坐标系中坐标的变化值;
在得到子3D视锥对后,计算每一个子3D视锥对中,两个子3D视锥的中心点在预设坐标系中坐标的变化值。
其中,子3D视锥的中心点可以为子3D视锥的几何中心,坐标的变化值可以为:子3D视锥对中,两个子3D视锥的中心点的横坐标的变化值,或者子3D 视锥对中,两个子3D视锥的中心点的纵坐标的变化值,或者,子3D视锥对中,两个子3D视锥的中心点的竖坐标的变化值;也可以为:子3D视锥对中,两个子3D视锥的中心点的距离,都是合理的。
S304,判断所得到的变化值中是否存在大于预设值的变化值,如果所得到的变化值中存在大于预设值的变化值,则执行步骤S305,如果所得到的变化值中不存在大于预设值的变化值,则执行步骤S306。
在计算出各个子3D视锥对中两个子3D视锥的中心点在预设坐标系中坐标的变化值后,为了精确地判断第一3D视锥所展示的应用场景和第二3D视锥所展示的应用场景是否相同,需要判断所得到的坐标的变化值中是否存在大于预设值的变化值。
其中,对于不同的应用场景,预设值可以相同,也可以不同;
对于同一应用场景,预设值可以相同,也可以根据电子设备的性能以及用户的需要来设置不同的预设值,这都是合理的。
S305,判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同;
如果所得到的变化值中存在大于预设值的变化值,说明在多个子3D视锥对中,存在两个子3D视锥所展示的应用场景不同的子3D视锥对,进而可以说明第一3D视锥所展示的应用场景和第二3D视锥所展示的应用场景不同,因此,可以判定当前视频帧中待显示的物体的阴影图与当前视频帧的前一视频帧中已显示的物体的阴影图不相同。
S306,判定当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图相同;
如果所得到的变化值中不存在大于预设值的变化值,说明在多个子3D视锥对中,不存在两个子3D视锥所展示的应用场景不同的子视锥对,进而可以说明第一3D视锥所展示的应用场景和第二3D视锥所展示的应用场景相同,因此,可以判定当前视频帧中待显示的物体的阴影图与当前视频帧的前一视频帧中已显示的物体的阴影图相同。
需要说明的是,在该实施方式中,绘制当前视频帧中待显示的物体的阴影图,可以包括如下步骤:
绘制第三类子3D视锥在当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在前一视频帧的对应区域中物体的阴影图,确定为第五类子3D视锥在当前视频帧的对应区域中物体的阴影图。
所述第三类子3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D 视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。也就是说,根据所得到的变化值与预设值的大小关系,可以将第一类子3D视锥分为第三类子3D 视锥和第五类子3D视锥,且第二类子3D子视锥中与第五类子3D视锥排序相同的子3D视锥为第四类子3D视锥。
具体的,在多个子3D视锥对中,一部分子3D视锥对中两个子3D视锥的中心点在预设坐标系中坐标的变化值大于预设值,说明该部分子3D视锥对中两个子3D视锥所展示的3D场景不相同,因此,需要绘制该部分子3D视锥对中所包含的第三类子3D视锥在当前视频帧的对应区域中物体的阴影图;而另一部分子 3D视锥对中两个子3D视锥的中心点在预设坐标系中坐标的变化值小于预设值,说明该部分子3D视锥对中两个子3D视锥所展示的3D场景相同,因此,可以将第四类子3D视锥在前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在当前视频帧的对应区域中物体的阴影图。
可以理解的是,第三类子3D视锥在当前视频帧中的对应区域中可能没有物体存在,这种情况下,也就不需要绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图。
在一种实施方式中,在绘制第三类子3D视锥在当前视频帧的对应区域中物体的阴影图之前,还可以判断第三类子3D视锥在当前视频帧的对应区域中是否存在物体;如果第三类子3D视锥在当前视频帧的对应区域中存在物体,再执行绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;同样地,在将第四类子3D视锥在前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在当前视频帧的对应区域中物体的阴影图之前,还可以判断第五类子3D视锥在当前视频帧的对应区域中是否存在物体,如果第五类子3D视锥在当前视频帧的对应区域中存在物体,执行将第四类子3D视锥在前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在当前视频帧的对应区域中物体的阴影图的步骤。
与现有技术相比,通过本发明实施例提供的技术方案,可以更加精确地判断第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景是否相同;并且在判断出第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景不相同,可以只绘制第三类子3D视锥在当前视频帧的对应区域中物体的阴影图,并不需要绘制当前视频帧中各个物体的阴影图,从而可以降低电子设备的能耗。
第二方面,本发明实施例还提供了一种阴影图确定装置,如图4所示,该阴影图确定装置包括:
视频帧获取模块410,用于获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;
阴影图判断模块420,用于判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,若相同,触发所述阴影图确定模块; 若不相同,触发所述阴影图判断模块;
阴影图确定模块430,用于将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图。
阴影图绘制模块440,用于绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述阴影图判断模块420,包括:
3D视锥获取单元,用于获取所述当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的3D视锥,作为第二3D视锥;
阴影图判断单元,用于采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同。
可选的,所述阴影图绘制模块,包括:
光照角度确定单元,用于确定所述当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为所述当前视频帧中光源相对于该物体的角度;
阴影图绘制单元,用于根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
可选的,所述阴影图绘制单元,具体包括:
确定所述当前视频帧中光源的光照强度;
根据所述光照强度、所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
可选的,所述阴影图判断单元,具体用于:
获得所述第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得所述第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
将所述第一坐标与第二坐标进行比较,得到坐标变化值;
判断所述坐标变化值是否大于预设变化值;
如果大于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果小于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同。
与现有技术相比,通过本发明实施例提供的技术方案,可以判断出第一3D 视锥所展示的应用场景与第二3D视锥所展示的应用场景是否相同。
可选的,所述阴影图判断单元,具体用于:
按照预设的分割规则,对所述第一3D视锥进行分割,获得第一类子3D视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
计算子3D视锥对中两个子视锥的中心点在预设坐标系中坐标的变化值;
判断所得到的变化值中是否存在大于预设值的变化值;
如果存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果不存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同;
所述阴影图绘制模块,具体用于:
绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,其中,所述第三类子 3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。可选的,所述装置还可以包括:
第一物体判断模块,用于在所述绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第三类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行绘制第三类子 3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;
第二物体判断模块,用于在所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第五类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤。
与现有技术相比,通过本发明实施例提供的技术方案,可以更加精确地判断第一3D视锥所展示的3D场景与第二3D视锥所展示的应用场景是否相同;并且在判断出第一3D视锥所展示的应用场景与第二3D视锥所展示的应用场景不相同,可以只绘制第三类子3D视锥在当前视频帧的对应区域中物体的阴影图,并不需要绘制当前视频帧中各个物体的阴影图,从而可以降低电子设备的能耗。
可选的,所述装置还可以包括:
阴影图保存模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,保存所绘制的所述当前视频帧中待显示的物体的阴影图。
与现有技术相比,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验;而且,还可以避免因重复绘制物体的阴影图而造成电子设备的能耗增加。
可选的,所述装置还可以包括:
阴影图删除模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,删除所述前一视频帧中已显示的物体的阴影图。
与现有技术相比,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验;而且,还可以节省存储空间。
第三方面,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现第一方面方法实施例所述的任一阴影图确定方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
第四方面,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机实现第一方面方法实施例所述的任一阴影图确定方法。
与现有技术相比,本发明实施例提供的技术方案,首先获取应用场景的当前视频帧和当前视频帧的前一视频帧;然后判断当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图是否相同;如果当前视频帧的阴影图与前一视频帧的阴影图相同,则直接将前一视频帧中物体的阴影图确定为当前视频帧中物体的阴影图;如果当前视频帧中待显示的物体的阴影图与前一视频帧中已显示的物体的阴影图不相同,为了使得应用场景中物体的影子更加真实,绘制当前视频帧中物体的阴影图。可见,通过本发明实施例提供的技术方案,能够使得应用场景中物体的影子更加真实,提高了用户在应用场景中的用户体验。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种阴影图确定方法,其特征在于,所述方法包括:
获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;
判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同;所述待显示的物体的阴影图为:在显示当前视频帧时,向用户展示的当前视频帧中物体的阴影图;所述已显示的物体的阴影图为:在显示当前视频帧的前一视频帧时,已经向用户展示的当前视频帧的前一视频帧的物体的阴影图;
若相同,将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图;
若不相同,绘制所述当前视频帧中待显示的物体的阴影图;
在所述绘制所述当前视频帧中待显示的物体的阴影图之后,所述方法还包括:
保存所绘制的当前视频帧中物体的阴影图;
在当前视频帧的后一视频帧中的待显示的物体的阴影图与当前视频帧的物体的阴影图相同时,直接将当前视频帧的物体的阴影图确定为当前视频帧的后一视频帧中的待显示的物体的阴影图。
2.根据权利要求1所述的方法,其特征在于,所述判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
获取所述当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的3D视锥,作为第二3D视锥;
采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同。
3.根据权利要求2所述的方法,其特征在于,所述采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
获得所述第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得所述第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
将所述第一坐标与第二坐标进行比较,得到坐标变化值;
判断所述坐标变化值是否大于预设变化值;
如果大于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果小于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同。
4.根据权利要求2所述的方法,其特征在于,所述采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,包括:
按照预设的分割规则,对所述第一3D视锥进行分割,获得第一类子3D视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
计算子3D视锥对中两个子3D视锥的中心点在预设坐标系中坐标的变化值;
判断所得到的变化值中是否存在大于预设值的变化值;
如果存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果不存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同;
所述绘制所述当前视频帧中待显示的物体的阴影图,包括:
绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,其中,所述第三类子3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。
5.根据权利要求4所述的方法,其特征在于,在所述绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,所述方法还包括:
判断所述第三类子3D视锥在所述当前视频帧的对应区域中是否存在物体;
如果存在,执行绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;
相应的,在所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,所述方法还包括:
判断所述第五类子3D视锥在所述当前视频帧的对应区域中是否存在物体;
如果存在,执行所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤。
6.根据权利要求1所述的方法,其特征在于,在所述绘制所述当前视频帧中待显示的物体的阴影图之后,所述方法还包括:
删除所述前一视频帧中已显示的物体的阴影图。
7.根据权利要求1所述的方法,其特征在于,所述绘制所述当前视频帧中待显示的物体的阴影图,包括:
确定所述当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为所述当前视频帧中光源相对于该物体的角度;
根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
8.根据权利要求7所述的方法,其特征在于,所述根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图,包括:
确定所述当前视频帧中光源的光照强度;
根据所述光照强度、所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
9.一种阴影图确定装置,其特征在于,所述装置包括:
视频帧获取模块,用于获取应用场景的当前视频帧和所述当前视频帧的前一视频帧;
阴影图判断模块,用于判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同,若相同,触发所述阴影图确定模块,若不相同,触发所述阴影图判断模块;所述待显示的物体的阴影图为:在显示当前视频帧时,向用户展示的当前视频帧中物体的阴影图;所述已显示的物体的阴影图为:在显示当前视频帧的前一视频帧时,已经向用户展示的当前视频帧的前一视频帧的物体的阴影图;
阴影图确定模块,用于将所述前一视频帧中已显示的物体的阴影图确定为所述当前视频帧中待显示的物体的阴影图;
阴影图绘制模块,用于绘制所述当前视频帧中待显示的物体的阴影图;
阴影图保存模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,保存所绘制的所述当前视频帧中待显示的物体的阴影图。
10.根据权利要求9所述的装置,其特征在于,所述阴影图判断模块,包括:
3D视锥获取单元,用于获取所述当前视频帧的3D视锥,作为第一3D视锥,并获取所述前一视频帧的3D视锥,作为第二3D视锥;
阴影图判断单元,用于采用所述第一3D视锥和第二3D视锥,判断所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图是否相同。
11.根据权利要求10所述的装置,其特征在于,所述阴影图判断单元,具体用于:
获得所述第一3D视锥的中心点在预设坐标系中的坐标,作为第一坐标,并获得所述第二3D视锥的中心点在预设坐标系中的坐标,作为第二坐标;
将所述第一坐标与第二坐标进行比较,得到坐标变化值;
判断所述坐标变化值是否大于预设变化值;
如果大于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果小于,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同。
12.根据权利要求10所述的装置,其特征在于,所述阴影图判断单元,具体用于:
按照预设的分割规则,对所述第一3D视锥进行分割,获得第一类子3D视锥,并对所述第二3D视锥进行分割,获得第二类子3D视锥;
按照所述分割规则所对应分割结果中子3D视锥进行排序,将排序序号相同的第一类子3D视锥和第二类子3D视锥确定为子3D视锥对;
计算子3D视锥对中两个子视锥的中心点在预设坐标系中坐标的变化值;
判断所得到的变化值中是否存在大于预设值的变化值;
如果存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图不相同;
如果不存在,判定所述当前视频帧中待显示的物体的阴影图与所述前一视频帧中已显示的物体的阴影图相同;
所述阴影图绘制模块,具体用于:
绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,并将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图,其中,所述第三类子3D视锥为:所得到的变化值中大于所述预设值的变化值对应的子3D视锥,第四类子3D视锥为:与第五类子3D视锥排序相同的子3D视锥,第五类子3D视锥为:所得到的变化值中小于所述预设值的变化值对应的子3D视锥,所述第三类子3D视锥为所述第一类子3D视锥中的子3D视锥,所述第四类子3D视锥为所述第二类子3D视锥中的子3D视锥,所述第五类子3D视锥为所述第一类子3D视锥中除第三类子3D视锥之外的子3D视锥。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一物体判断模块,用于在所述绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第三类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行绘制第三类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤;
第二物体判断模块,用于在所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图之前,判断所述第五类子3D视锥在所述当前视频帧的对应区域中是否存在物体;如果存在,触发阴影图绘制模块执行所述将第四类子3D视锥在所述前一视频帧的对应区域中物体的阴影图确定为第五类子3D视锥在所述当前视频帧的对应区域中物体的阴影图的步骤。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
阴影图删除模块,用于在所述绘制所述当前视频帧中待显示的物体的阴影图之后,删除所述前一视频帧中已显示的物体的阴影图。
15.根据权利要求9所述的装置,其特征在于,所述阴影图绘制模块,包括:
光照角度确定单元,用于确定所述当前视频帧中每一物体的光照角度,其中,一个物体的光照角度为所述当前视频帧中光源相对于该物体的角度;
阴影图绘制单元,用于根据所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
16.根据权利要求15所述的装置,其特征在于,所述阴影图绘制单元,具体包括:
确定所述当前视频帧中光源的光照强度;
根据所述光照强度、所确定的光照角度绘制所述当前视频帧中待显示的物体的阴影图。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的阴影图确定方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的阴影图确定方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810140973.3A CN108280887B (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN202111597092.2A CN114266878A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN202111596378.9A CN114283267A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810140973.3A CN108280887B (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111597092.2A Division CN114266878A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN202111596378.9A Division CN114283267A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108280887A CN108280887A (zh) | 2018-07-13 |
CN108280887B true CN108280887B (zh) | 2021-11-05 |
Family
ID=62808262
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596378.9A Pending CN114283267A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN202111597092.2A Pending CN114266878A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN201810140973.3A Active CN108280887B (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596378.9A Pending CN114283267A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
CN202111597092.2A Pending CN114266878A (zh) | 2018-02-11 | 2018-02-11 | 一种阴影图确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN114283267A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109377503A (zh) * | 2018-10-19 | 2019-02-22 | 珠海金山网络游戏科技有限公司 | 图像更新方法和装置、计算设备及存储介质 |
CN113012274B (zh) * | 2021-03-24 | 2023-07-28 | 北京壳木软件有限责任公司 | 一种阴影渲染的方法、装置以及电子设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778267A (ja) * | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
US6016150A (en) * | 1995-08-04 | 2000-01-18 | Microsoft Corporation | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers |
JP4079249B2 (ja) * | 2002-06-03 | 2008-04-23 | 任天堂株式会社 | ゲーム装置及びゲームプログラム |
CN100555334C (zh) * | 2007-06-26 | 2009-10-28 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及装置 |
WO2012083508A1 (zh) * | 2010-12-24 | 2012-06-28 | 中国科学院自动化研究所 | 互联网上复杂场景真实感快速绘制方法 |
US8830230B2 (en) * | 2011-01-31 | 2014-09-09 | Honeywell International Inc. | Sensor placement and analysis using a virtual environment |
US9233309B2 (en) * | 2012-12-27 | 2016-01-12 | Sony Computer Entertainment America Llc | Systems and methods for enabling shadow play for video games based on prior user plays |
CN104270553B (zh) * | 2014-09-28 | 2017-12-08 | 北京奇艺世纪科技有限公司 | 一种视频场景切换检测方法及装置 |
CN104966297B (zh) * | 2015-06-12 | 2017-09-12 | 浙江大学 | 一种通用的阴影图生成阴影的方法 |
CN107274476B (zh) * | 2017-08-16 | 2020-12-18 | 城市生活(北京)资讯有限公司 | 一种阴影图的生成方法及装置 |
-
2018
- 2018-02-11 CN CN202111596378.9A patent/CN114283267A/zh active Pending
- 2018-02-11 CN CN202111597092.2A patent/CN114266878A/zh active Pending
- 2018-02-11 CN CN201810140973.3A patent/CN108280887B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108280887A (zh) | 2018-07-13 |
CN114266878A (zh) | 2022-04-01 |
CN114283267A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111968215B (zh) | 一种体积光渲染方法、装置、电子设备及存储介质 | |
CN109241465B (zh) | 界面显示方法、装置、终端及存储介质 | |
WO2022089018A1 (zh) | 三维矢量地图的三维矢量数据切片方法、装置及电子设备 | |
KR20220044587A (ko) | 이미지 렌더링 방법 및 관련 기기 | |
CN111968216A (zh) | 一种体积云阴影渲染方法、装置、电子设备及存储介质 | |
CN110070551B (zh) | 视频图像的渲染方法、装置和电子设备 | |
CN109887062B (zh) | 渲染方法、装置、设备及存储介质 | |
CN108830923B (zh) | 图像渲染方法、装置及存储介质 | |
CN112634414B (zh) | 地图显示方法及装置 | |
WO2024078179A1 (zh) | 光照贴图降噪方法、装置、设备和介质 | |
CN108280887B (zh) | 一种阴影图确定方法及装置 | |
CN111870953B (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN118037920A (zh) | 一种体积云渲染方法、装置、电子设备及存储介质 | |
CN113110731B (zh) | 媒体内容生成的方法和装置 | |
CN112734900B (zh) | 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质 | |
CN117237514A (zh) | 图像处理方法和图像处理装置 | |
CN110197459B (zh) | 图像风格化生成方法、装置及电子设备 | |
CN112149745A (zh) | 确定难例样本的方法、装置、设备及存储介质 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN115775294A (zh) | 一种场景渲染方法及装置 | |
CN115908673A (zh) | 一种三维模型的显示方法、装置、电子设备及存储介质 | |
CN116975170A (zh) | 地图展示方法、地图数据生成方法、装置和电子设备 | |
CN112473135B (zh) | 移动游戏的实时光照模拟方法、装置、设备及存储介质 | |
CN112037292B (zh) | 天气系统的生成方法及装置、设备 | |
CN114782666A (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 |