CN109448099B - 画面的渲染方法、装置、存储介质及电子装置 - Google Patents
画面的渲染方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN109448099B CN109448099B CN201811106500.8A CN201811106500A CN109448099B CN 109448099 B CN109448099 B CN 109448099B CN 201811106500 A CN201811106500 A CN 201811106500A CN 109448099 B CN109448099 B CN 109448099B
- Authority
- CN
- China
- Prior art keywords
- model
- shadow
- rendering
- geometric
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种画面的渲染方法、装置、存储介质及电子装置。其中,该方法包括:获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;根据模型数据和阴影贴图渲染目标场景对应的画面。本发明解决了相关技术中在画面中渲染阴影的开销过大影响画面显示效率的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种画面的渲染方法、装置、存储介质及电子装置。
背景技术
目前在画面中渲染阴影的方案中主要的不足是在性能上的,渲染加深度图的创建和采样的方式和3pass加阴影体的构建方式对系统的资源开销很大,而为了解决一些表现上的不足如阴影太硬、锯齿等更需要额外的资源开销,对于移动平台难以承受。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种画面的渲染方法、装置、存储介质及电子装置,以至少解决相关技术中在画面中渲染阴影的开销过大影响画面显示效率的技术问题。
根据本发明实施例的一个方面,提供了一种画面的渲染方法,包括:获取目标场景中的目标对象的模型数据,其中,所述模型数据用于表示所述目标对象在所述目标场景中所展示的模型;将所述模型数据转换成与所述目标对象对应的形状数据,其中,所述形状数据用于表示所述模型的几何形状;根据所述形状数据生成所述模型在所述目标场景中的阴影贴图,其中,所述阴影贴图用于承载所述模型在所述目标场景中形成的阴影;根据所述模型数据和所述阴影贴图渲染所述目标场景对应的画面。
根据本发明实施例的另一方面,还提供了一种画面的渲染装置,包括:获取模块,用于获取目标场景中的目标对象的模型数据,其中,所述模型数据用于表示所述目标对象在所述目标场景中所展示的模型;转换模块,用于将所述模型数据转换成与所述目标对象对应的形状数据,其中,所述形状数据用于表示所述模型的几何形状;生成模块,用于根据所述形状数据生成所述模型在所述目标场景中的阴影贴图,其中,所述阴影贴图用于承载所述模型在所述目标场景中形成的阴影;渲染模块,用于根据所述模型数据和所述阴影贴图渲染所述目标场景对应的画面。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述任一项中所述的方法。
在本发明实施例中,采用获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;根据模型数据和阴影贴图渲染目标场景对应的画面的方式,将获取到的目标对象的模型数据转换为用于表示其几何形状的形状数据,将给形状数据作为渲染目标对象在目标场景中所呈现的阴影的输入数据,生成目标对象在目标场景中所展示的模型的阴影贴图,再将模型数据和阴影贴图渲染到目标场景的画面中,从而适当地简化了渲染目标对象的阴影的输入数据,从而减少了渲染阴影的开销,使得显示画面的效率得以提高,从而实现了降低在画面中渲染阴影的开销使得画面显示效率得到提高的技术效果,进而解决了相关技术中在画面中渲染阴影的开销过大影响画面显示效率的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的画面的渲染方法的示意图;
图2是根据本发明实施例的一种可选的画面的渲染方法的应用环境示意图;
图3是根据本发明可选的实施方式的一种可选的画面的渲染方法的示意图;
图4是根据本发明可选的实施方式的另一种可选的画面的渲染方法的示意图;
图5是根据本发明可选的实施方式的另一种可选的画面的渲染方法的示意图;
图6是根据本发明可选的实施方式的另一种可选的画面的渲染方法的示意图;
图7是根据本发明可选的实施方式的另一种可选的画面的渲染方法的示意图;
图8是根据本发明实施例的一种可选的画面的渲染装置的示意图;
图9是根据本发明实施例的一种可选的画面的渲染方法的应用场景示意图;以及
图10是根据本发明实施例的一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种画面的渲染方法,如图1所示,该方法包括:
S102,获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;
S104,将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;
S106,根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;
S108,根据模型数据和阴影贴图渲染目标场景对应的画面。
可选地,在本实施例中,上述画面的渲染方法可以应用于如图2所示的服务器202和客户端204所构成的硬件环境中。如图2所示,服务器202获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;根据模型数据和阴影贴图渲染目标场景对应的画面。服务器202渲染出目标场景对应的画面后将其发送至客户端204进行显示。
可选地,在本实施例中,上述画面的渲染方法可以但不限于应用于渲染和显示画面的场景中。其中,上述客户端可以但不限于为各种类型的应用,例如,在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。具体的,可以但不限于应用于在上述游戏应用中渲染和显示游戏画面的场景中,或还可以但不限于应用于在上述多媒体应用中渲染和显示视频画面的场景中,以降低在画面中渲染阴影的开销使得画面显示效率得到提高。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述目标场景可以但不限于包括:游戏场景、视频场景、动画场景、图片场景等等。例如:游戏中的一帧游戏画面可以称为是一个游戏场景、动画视频中的一帧动画称为一个动画场景等等。
可选地,在本实施例中,上述目标对象为目标场景中会产生阴影的对象。比如:游戏场景中的游戏角色、环境中的树木、石头、坐骑、障碍物、建筑物等等。动画场景中的动画角色、家具、餐具、宠物等等。
可选地,在本实施例中,模型数据用于表示目标对象在目标场景中所展示的模型。对于同一个目标对象在不同的场景中可能会有不同的形态表现。比如:游戏中的游戏角色可能会根据游戏帐号对其执行的控制操作展现不同的动作,或者,该游戏角色可能会根据游戏帐号对其执行的配置操作在不同的场景中具有不同角色属性(比如:皮肤、装备等等),目标对象的模型数据用来表示目标对象在目标场景中所展示的样子。比如:如图3所示,游戏角色1在场景2中,装饰了皮肤3、佩戴了装备4,表现了动作5的模型。
可选地,在本实施例中,模型数据是能够展示出目标对象全部细节的数据,相关技术中将目标对象全部的模型数据作为生成目标对象阴影的输入数据,在消耗大量资源的同时,也会造成阴影过于清晰、锐化效果过于严重、边缘过硬的弊端,为了使得阴影表现的更加真实,后续还要进行其他处理来降低这些现象对阴影显示效果的影响,从而又更加增加了系统资源的开销。本实施例将能够展示出目标对象全部细节的模型数据转换为能够展示目标对象几何形状的形状数据,降低了阴影生成过程的数据输入量,减少了系统资源的开销,同时避免了阴影过于清晰,锐化效果过于严重、边缘过硬等现象的出现,省去了后续对这些问题的处理过程,从而在保证阴影展示效果的同时更加节省了系统资源的开销。
可选地,在本实施例中,形状数据用于表示模型的几何形状,比如:一个游戏角色的形状数据可能就是由几个能够代表头部、四肢、躯干形状的几何体组成的。再比如:动画场景中车辆的形状数据可能是能够代表车身、车轮形状的数据。
可选地,在本实施例中,用于表示模型几何形状的形状数据可以但不限于是从用于表示模型细节的模型数据中提取得到的,或者,形状数据也可以是根据模型数据生成的,比如:在模型的外部生成能够包裹住模型的立方体,再对立方体进行调整使得立方体尽量表现出模型的构造,形状数据即为调整后的能够表现出模型构造的立方体。
在一个可选的实施方式中,以对游戏场景的画面进行渲染为例,如图4所示,目标场景为游戏中的一个地点(沙漠A),目标对象为出现在该地点的游戏角色(法师B),获取沙漠A中的法师B的模型数据C,将模型数据C转换成与法师B对应的形状数据D,形状数据D包括用于表示法师B头部、四肢、躯干、装备的几何形状的几何体1-6的数据,其中,几何体1用于表示头部的几何形状,几何体2和3用于表示两个手臂的几何形状,几何体4和5用于表示两条腿的几何形状,几何体6用于表示身体的几何形状,根据形状数据D生成模型在沙漠A中的阴影贴图E,根据模型数据C和阴影贴图E渲染沙漠A对应的画面F。
可见,通过上述步骤,将获取到的目标对象的模型数据转换为用于表示其几何形状的形状数据,将给形状数据作为渲染目标对象在目标场景中所呈现的阴影的输入数据,生成目标对象在目标场景中所展示的模型的阴影贴图,再将模型数据和阴影贴图渲染到目标场景的画面中,从而适当地简化了渲染目标对象的阴影的输入数据,从而减少了渲染阴影的开销,使得显示画面的效率得以提高,从而实现了降低在画面中渲染阴影的开销使得画面显示效率得到提高的技术效果,进而解决了相关技术中在画面中渲染阴影的开销过大影响画面显示效率的技术问题。
作为一种可选的方案,将模型数据转换成目标对象所对应的形状数据包括:
S1,从模型数据中获取目标对象上的一个或者多个关键节点,其中,一个或者多个关键节点中的每个关键节点用于指示目标对象上的一个部位;
S2,在一个或者多个关键节点中每个关键节点在模型中所在的位置,生成与关键节点对应的几何体模型,得到模型集合,其中,几何体模型用于表示在目标对象上与关键节点所对应的部位的几何形状,模型集合包括一个或者多个几何体模型;
S3,将模型集合确定为形状数据。
可选地,在本实施例中,可以在目标对象的模型上识别出一个或者多个关键节点,再在关键节点所在的位置生成几何体模型用来表示该关键节点在模型上所对应的部位的几何形状。
可选地,在本实施例中,上述几何体模型可以但不限于包括任何几何形状的模型。例如:长方体模型、圆柱体模型、立方体模型、棱柱体(三棱柱、五棱柱、六棱柱、七棱柱等等)模型等等。
可选地,在本实施例中,多个关键节点可以但不限于指至少两个关键节点。
可选地,在本实施例中,上述一个或者多个关键节点可以由服务器通过对目标对象的检测来确定,也可以通过接收技术人员的输入信息来获取。例如:服务器可以通过识别算法自动识别出模型上的各个部位,并确定各个部位上的关键节点。或者,可以由技术人员指定目标对象上的关键节点。
可选地,在本实施例中,目标对象上关键节点的数量可以根据目标对象上各个部位呈现出的状态来确定,比如:对于一个游戏角色的手臂来说,当其处于伸直的状态时,可以将该手臂作为一个部位获取到用于指示该手臂的一个关键节点,当其处于弯曲状态时,可以将该手臂分为两个部位,大臂和小臂,并分别获取用于指示它们的两个关键节点。
可选地,在本实施例中,将各个几何体模型组合在一起,得到一个新的表示目标对象几何形状的模型,即为上述模型集合。
可选地,在本实施例中,以几何体模型为长方体模型为例,可以通过如下方式生成与关键节点对应的几何体模型,得到模型集合:
S1,在一个或者多个关键节点中的每个关键节点在模型中所在的位置,生成与关键节点对应的长方体模型;
S2,获取对每个长方体模型所执行的编辑操作,其中,编辑操作用于使编辑后的目标长方体模型符合关键节点所对应的部位的几何结构的结构特征;
S3,合并一个或者多个关键节点所对应的目标长方体模型,得到模型集合。
可选地,在本实施例中,首先在关键节点的位置生成该部位对应的长方体模型包裹住该部位,再根据该部位的实际结构特征编辑该长方体模型,得到更加贴合该部位的目标长方体模型来表示该部位的几何形状。
可选地,在本实施例中,获取到的编辑操作可以但不限于是由服务器对长方体模型执行的编辑操作,或者,也可以是由技术人员对长方体模型执行的编辑操作,比如:移动、缩放、旋转等等。服务器可以自动识别出模型的形状,并将各个长方体模型编辑到与各自所对应的部位尽量地贴合,使得编辑后的目标长方体模型符合所述关键节点所对应的部位的几何结构的结构特征,更精确地代表该部位的几何形状。
在一个可选的实施方式中,以对游戏场景的画面进行渲染为例,如图5所示,在该游戏场景中的目标对象为游戏角色,服务器获取到目标对象的原始模型,对其骨骼结构进行分析识别出多个关键节点,对各个关键节点所对应的部位进行长方体模型的拟合,对于游戏场景中展示的不同状态的模型可以拟合出不同的模型集合。
作为一种可选的方案,根据形状数据生成模型在目标场景中的阴影贴图包括:
S1,生成每个几何体模型对应的面片对象,其中,面片对象用于承载几何体模型的阴影纹理,面片对象始终朝向目标场景中的光源,几何体模型位于面片对象和光源之间;
S2,根据光源所在的位置以及每个几何体模型的几何形状,在每个面片对象上渲染每个几何体模型对应的阴影纹理;
S3,将一个或者多个几何体模型所对应的阴影纹理渲染成一个阴影贴图。
可选地,在本实施例中,上述面片对象可以但不限于包括billboard面片子对象,这里将其称为子对象是由于可以将其对应的长方体模型作为其父对象。无论自身和相机如何移动billboard面片能够始终朝向相机,即朝向光源。
可选地,在本实施例中,针对每个拟合长方体模型,生成始终朝向光源的billboard面片子对象,赋以圆形的阴影纹理,当模型播放动画时,billboard面片受到父对象拟合长方体模型所在坐标空间的限制,得以产生形变以反映长方体模型的几何形状。
可选地,在本实施例中,由于面片对象始终朝向光源,因此,面片对象上呈现出的阴影图案会根据几何体模型与光源之间相对位置的改变而改变,从而实现了实时动态阴影的呈现,从而真实地反映出目标对象的动作和状态等等。
作为一种可选的方案,根据光源所在的位置以及每个几何体模型的几何形状,在每个面片对象上渲染每个几何体模型对应的阴影纹理包括:
S1,以光源所在的位置为第一视点,将每个几何体模型的几何形状投影到每个几何体模型所对应的面片对象上,得到每个面片对象上的投影区域;
S2,在每个面片对象上的投影区域上绘制阴影纹理。
可选地,在本实施例中,如图6所示,在光源空间渲染全部的阴影billboard面片到一张阴影贴图上,因为不管模型是什么材质,是否是蒙皮骨骼,阴影billboard面片全部是同材质的简单mesh,因而它们可以被全部合并,这个绘制过程只消耗一个drawcall。
作为一种可选的方案,根据模型数据和阴影贴图渲染目标场景对应的画面包括:
S1,以画面所对应的视点为第二视点,将模型数据渲染到画面上,并以目标场景中的光源所在位置为第一视点,将阴影贴图渲染到画面上。
可选地,在本实施例中,第二视点为画面所对应的视点,画面所在的视点即为画面的摄像机所在的位置,以此位置为视点对目标场景中的各个对象进行渲染。
可选地,在本实施例中,第一视点为目标场景中的光源所在位置,即光源处的摄像机所在的位置,以该位置为视点对目标场景中的各个阴影进行渲染。
作为一种可选的方案,以目标场景中的光源所在位置为第一视点将阴影贴图渲染到画面上包括:
S1,从目标场景中获取目标对象所对应的阴影接受体,其中,阴影接受体用于在画面中呈现目标对象的阴影;
S2,在将阴影接受体渲染到画面上的过程中,以目标场景中的光源所在位置为第一视点,将阴影贴图渲染到阴影接受体上。
可选地,在本实施例中,阴影接受体是目标场景中用于在画面中呈现目标对象的阴影的对象。例如:阴影接受体可以但不限于包括:地面、墙体、桌面等等对象以及这些对象的组合。比如:一个游戏角色的阴影可以投影到地面或者墙面上,还可以一部分投射到地面上,另一部分投射到墙面上。
可选地,在本实施例中,在将阴影接受体渲染到画面上的过程中,可以但不限于通过以下方式将阴影贴图渲染到阴影接受体上:
S1,在将阴影接受体上的每个第一像素点渲染到画面上的过程中,以目标场景中的光源所在位置为第一视点,对第一像素点在阴影贴图上所对应的第二像素点的颜色值进行采样;
S2,将第二像素点的颜色值叠加到画面上的第一像素点的颜色值上。
可选地,在本实施例中,如图7所示,在渲染阴影接受体时变换视点到光源空间,采样阴影贴图上对应像素点的颜色值,作为当前像素点的阴影值,混合到阴影接受体模型渲染之后的颜色值上。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述画面的渲染方法的画面的渲染装置,如图8所示,该装置包括:
获取模块82,用于获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;
转换模块84,用于将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;
生成模块86,用于根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;
渲染模块88,用于根据模型数据和阴影贴图渲染目标场景对应的画面。
可选地,在本实施例中,上述画面的渲染装置可以应用于如图2所示的服务器202和客户端204所构成的硬件环境中。如图2所示,服务器202获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;根据模型数据和阴影贴图渲染目标场景对应的画面。服务器202渲染出目标场景对应的画面后将其发送至客户端204进行显示。
可选地,在本实施例中,上述画面的渲染装置可以但不限于应用于渲染和显示画面的场景中。其中,上述客户端可以但不限于为各种类型的应用,例如,在线教育应用、即时通讯应用、社区空间应用、游戏应用、购物应用、浏览器应用、金融应用、多媒体应用、直播应用等。具体的,可以但不限于应用于在上述游戏应用中渲染和显示游戏画面的场景中,或还可以但不限于应用于在上述多媒体应用中渲染和显示视频画面的场景中,以降低在画面中渲染阴影的开销使得画面显示效率得到提高。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述目标场景可以但不限于包括:游戏场景、视频场景、动画场景、图片场景等等。例如:游戏中的一帧游戏画面可以称为是一个游戏场景、动画视频中的一帧动画称为一个动画场景等等。
可选地,在本实施例中,上述目标对象为目标场景中会产生阴影的对象。比如:游戏场景中的游戏角色、环境中的树木、石头、坐骑、障碍物、建筑物等等。动画场景中的动画角色、家具、餐具、宠物等等。
可选地,在本实施例中,模型数据用于表示目标对象在目标场景中所展示的模型。对于同一个目标对象在不同的场景中可能会有不同的形态表现。比如:游戏中的游戏角色可能会根据游戏帐号对其执行的控制操作展现不同的动作,或者,该游戏角色可能会根据游戏帐号对其执行的配置操作在不同的场景中具有不同角色属性(比如:皮肤、装备等等),目标对象的模型数据用来表示目标对象在目标场景中所展示的样子。比如:如图3所示,游戏角色1在场景2中,装饰了皮肤3、佩戴了装备4,表现了动作5的模型。
可选地,在本实施例中,模型数据是能够展示出目标对象全部细节的数据,相关技术中将目标对象全部的模型数据作为生成目标对象阴影的输入数据,在消耗大量资源的同时,也会造成阴影过于清晰、锐化效果过于严重、边缘过硬的弊端,为了使得阴影表现的更加真实,后续还要进行其他处理来降低这些现象对阴影显示效果的影响,从而又更加增加了系统资源的开销。本实施例将能够展示出目标对象全部细节的模型数据转换为能够展示目标对象几何形状的形状数据,降低了阴影生成过程的数据输入量,减少了系统资源的开销,同时避免了阴影过于清晰,锐化效果过于严重、边缘过硬等现象的出现,省去了后续对这些问题的处理过程,从而在保证阴影展示效果的同时更加节省了系统资源的开销。
可选地,在本实施例中,形状数据用于表示模型的几何形状,比如:一个游戏角色的形状数据可能就是由几个能够代表头部、四肢、躯干形状的几何体组成的。再比如:动画场景中车辆的形状数据可能是能够代表车身、车轮形状的数据。
可选地,在本实施例中,用于表示模型几何形状的形状数据可以但不限于是从用于表示模型细节的模型数据中提取得到的,或者,形状数据也可以是根据模型数据生成的,比如:在模型的外部生成能够包裹住模型的立方体,再对立方体进行调整使得立方体尽量表现出模型的构造,形状数据即为调整后的能够表现出模型构造的立方体。
在一个可选的实施方式中,以对游戏场景的画面进行渲染为例,如图4所示,目标场景为游戏中的一个地点(沙漠A),目标对象为出现在该地点的游戏角色(法师B),获取沙漠A中的法师B的模型数据C,将模型数据C转换成与法师B对应的形状数据D,形状数据D包括用于表示法师B头部、四肢、躯干、装备的几何形状的几何体1-6的数据,其中,几何体1用于表示头部的几何形状,几何体2和3用于表示两个手臂的几何形状,几何体4和5用于表示两条腿的几何形状,几何体6用于表示身体的几何形状,根据形状数据D生成模型在沙漠A中的阴影贴图E,根据模型数据C和阴影贴图E渲染沙漠A对应的画面F。
可见,通过上述装置,将获取到的目标对象的模型数据转换为用于表示其几何形状的形状数据,将给形状数据作为渲染目标对象在目标场景中所呈现的阴影的输入数据,生成目标对象在目标场景中所展示的模型的阴影贴图,再将模型数据和阴影贴图渲染到目标场景的画面中,从而适当地简化了渲染目标对象的阴影的输入数据,从而减少了渲染阴影的开销,使得显示画面的效率得以提高,从而实现了降低在画面中渲染阴影的开销使得画面显示效率得到提高的技术效果,进而解决了相关技术中在画面中渲染阴影的开销过大影响画面显示效率的技术问题。
作为一种可选的方案,转换模块包括:
获取单元,用于从模型数据中获取目标对象上的一个或者多个关键节点,其中,一个或者多个关键节点中的每个关键节点用于指示目标对象上的一个部位;
第一生成单元,用于在一个或者多个关键节点中每个关键节点在模型中所在的位置,生成与关键节点对应的几何体模型,得到模型集合,其中,几何体模型用于表示在目标对象上与关键节点所对应的部位的几何形状,模型集合包括一个或者多个几何体模型;
确定单元,用于将模型集合确定为形状数据。
可选地,在本实施例中,可以在目标对象的模型上识别出一个或者多个关键节点,再在关键节点所在的位置生成几何体模型用来表示该关键节点在模型上所对应的部位的几何形状。
可选地,在本实施例中,上述几何体模型可以但不限于包括任何几何形状的模型。例如:长方体模型、圆柱体模型、立方体模型、棱柱体(三棱柱、五棱柱、六棱柱、七棱柱等等)模型等等。
可选地,在本实施例中,多个关键节点可以但不限于指至少两个关键节点。
可选地,在本实施例中,上述一个或者多个关键节点可以由服务器通过对目标对象的检测来确定,也可以通过接收技术人员的输入信息来获取。例如:服务器可以通过识别算法自动识别出模型上的各个部位,并确定各个部位上的关键节点。或者,可以由技术人员指定目标对象上的关键节点。
可选地,在本实施例中,目标对象上关键节点的数量可以根据目标对象上各个部位呈现出的状态来确定,比如:对于一个游戏角色的手臂来说,当其处于伸直的状态时,可以将该手臂作为一个部位获取到用于指示该手臂的一个关键节点,当其处于弯曲状态时,可以将该手臂分为两个部位,大臂和小臂,并分别获取用于指示它们的两个关键节点。
可选地,在本实施例中,将各个几何体模型组合在一起,得到一个新的表示目标对象几何形状的模型,即为上述模型集合。
作为一种可选的方案,第一生成单元包括:
生成子单元,用于在一个或者多个关键节点中的每个关键节点在模型中所在的位置,生成与关键节点对应的长方体模型;
第一获取子单元,用于获取对每个长方体模型所执行的编辑操作,其中,编辑操作用于使编辑后的目标长方体模型符合关键节点所对应的部位的几何结构的结构特征;
合并子单元,用于合并一个或者多个关键节点所对应的目标长方体模型,得到模型集合。
可选地,在本实施例中,首先在关键节点的位置生成该部位对应的长方体模型包裹住该部位,再根据该部位的实际结构特征编辑该长方体模型,得到更加贴合该部位的目标长方体模型来表示该部位的几何形状。
可选地,在本实施例中,获取到的编辑操作可以但不限于是由服务器对长方体模型执行的编辑操作,或者,也可以是由技术人员对长方体模型执行的编辑操作,比如:移动、缩放、旋转等等。服务器可以自动识别出模型的形状,并将各个长方体模型编辑到与各自所对应的部位尽量地贴合,使得编辑后的目标长方体模型符合所述关键节点所对应的部位的几何结构的结构特征,更精确地代表该部位的几何形状。
在一个可选的实施方式中,以对游戏场景的画面进行渲染为例,如图5所示,在该游戏场景中的目标对象为游戏角色,服务器获取到目标对象的原始模型,对其骨骼结构进行分析识别出多个关键节点,对各个关键节点所对应的部位进行长方体模型的拟合,对于游戏场景中展示的不同状态的模型可以拟合出不同的模型集合。
作为一种可选的方案,生成模块包括:
第二生成单元,用于生成每个几何体模型对应的面片对象,其中,面片对象用于承载几何体模型的阴影纹理,面片对象始终朝向目标场景中的光源,几何体模型位于面片对象和光源之间;
第一渲染单元,用于根据光源所在的位置以及每个几何体模型的几何形状,在每个面片对象上渲染每个几何体模型对应的阴影纹理;
第二渲染单元,用于将一个或者多个几何体模型所对应的阴影纹理渲染成一个阴影贴图。
可选地,在本实施例中,上述面片对象可以但不限于包括billboard面片子对象,这里将其称为子对象是由于可以将其对应的长方体模型作为其父对象。无论自身和相机如何移动billboard面片能够始终朝向相机,即朝向光源。
可选地,在本实施例中,针对每个拟合长方体模型,生成始终朝向光源的billboard面片子对象,赋以圆形的阴影纹理,当模型播放动画时,billboard面片受到父对象拟合长方体模型所在坐标空间的限制,得以产生形变以反映长方体模型的几何形状。
可选地,在本实施例中,由于面片对象始终朝向光源,因此,面片对象上呈现出的阴影图案会根据几何体模型与光源之间相对位置的改变而改变,从而实现了实时动态阴影的呈现,从而真实地反映出目标对象的动作和状态等等。
作为一种可选的方案,第一渲染单元包括:
投影子单元,用于以光源所在的位置为第一视点,将每个几何体模型的几何形状投影到每个几何体模型所对应的面片对象上,得到每个面片对象上的投影区域;
绘制子单元,用于在每个面片对象上的投影区域上绘制阴影纹理。
可选地,在本实施例中,如图6所示,在光源空间渲染全部的阴影billboard面片到一张阴影贴图上,因为不管模型是什么材质,是否是蒙皮骨骼,阴影billboard面片全部是同材质的简单mesh,因而它们可以被全部合并,这个绘制过程只消耗一个drawcall。
作为一种可选的方案,渲染模块包括:
第三渲染单元,用于以画面所对应的视点为第二视点,将模型数据渲染到画面上,并以目标场景中的光源所在位置为第一视点,将阴影贴图渲染到画面上。
可选地,在本实施例中,第二视点为画面所对应的视点,画面所在的视点即为画面的摄像机所在的位置,以此位置为视点对目标场景中的各个对象进行渲染。
可选地,在本实施例中,第一视点为目标场景中的光源所在位置,即光源处的摄像机所在的位置,以该位置为视点对目标场景中的各个阴影进行渲染。
作为一种可选的方案,第三渲染单元包括:
第二获取子单元,用于从目标场景中获取目标对象所对应的阴影接受体,其中,阴影接受体用于在画面中呈现目标对象的阴影;
渲染子单元,用于在将阴影接受体渲染到画面上的过程中,以目标场景中的光源所在位置为第一视点,将阴影贴图渲染到阴影接受体上。
可选地,在本实施例中,阴影接受体是目标场景中用于在画面中呈现目标对象的阴影的对象。例如:阴影接受体可以但不限于包括:地面、墙体、桌面等等对象以及这些对象的组合。比如:一个游戏角色的阴影可以投影到地面或者墙面上,还可以一部分投射到地面上,另一部分投射到墙面上。
作为一种可选的方案,渲染子单元用于:
在将阴影接受体上的每个第一像素点渲染到画面上的过程中,以目标场景中的光源所在位置为第一视点,对第一像素点在阴影贴图上所对应的第二像素点的颜色值进行采样;
将第二像素点的颜色值叠加到画面上的第一像素点的颜色值上。
可选地,在本实施例中,如图7所示,在渲染阴影接受体时变换视点到光源空间,采样阴影贴图上对应像素点的颜色值,作为当前像素点的阴影值,混合到阴影接受体模型渲染之后的颜色值上。
本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述实时通信的连接方法的一种可选的具体应用示例。
作为一种可选的实施例,上述画面的渲染方法可以但不限于应用于如图9所示的在游戏场景中为游戏角色生成阴影的场景中。
传统真实感阴影的实现均是基于物体的完整几何信息,无论是shadow mapping的方式还是shadow volume的方式,计算都是从物体的全部顶点开始的,也就是说,阴影的计算过程中数据输入是物体的完整几何信息。但是,计算阴影是一个信息丢失的过程,由于计算过程中视空间和光源空间的不对称,以即数据离散化之后带来的精度缺失等等,阴影计算过程中信息量是不断的在减少的。由于光源的数量和多次反射散射,现实中的阴影都是非常柔和的,极少出现非常锐利的边界,而传统的阴影实现方案则都有阴影过硬的问题,为了让阴影边缘更柔和,还需要做额外的处理,从某种意义上说,传统方案的输出结果对于需求(更符合现实中阴影的特点)来说,信息量仍然是过剩的,这也导致了性能上的浪费。替代方案例如面片法的数据输入只有一个点,这显然无法表示物体的实际形状,是远远不够的,而传统方案的输入是完整几何信息,这又是过剩的,那能否从数据源头着手,找到一种满足真实感需求同时数据规模又合适的输入就称为解决阴影渲染问题的关键。
在本场景中,考虑到实际应用场景尤其是移动端,实时阴影更多的是为了表现游戏的空间感和带给用户更明确的深度感知,从阴影中所能认知到的信息只是物体的大致几何形状,而很多细节,比如手指、小饰物等等,即使在现实中也很难在阴影中观察到,那么如果能将输入数据的信息量控制在只反映物体的大致几何形状,就可以实现满足需求的阴影,同时避免了过量信息计算的开销。
例如:在本场景中,提供了一种阴影渲染的方法,如图9所示,该方法包括以下流程:
步骤1,简化数据源:将阴影的计算数据输入简化到只反映物体的大致几何形状,以一个常见的人形骨骼的模型为例,在控制几何形状变化的关键节点上,如骨盆、颈部、膝部、肘部上,添加编辑用的长方体模型,调整各长方体模型的位置、缩放、旋转以使其符合模型的几何结构,以这套挂在骨骼节点的长方体模型来拟合完整的目标对象的模型结构。
步骤2,生成用于阴影投射的billboard面片:针对每个拟合长方体模型,生成始终朝向摄像机的billboard面片子对象,赋以圆形的阴影纹理,当模型播放动画时,billboard面片受到父对象拟合长方体模型所在坐标空间的限制,得以产生形变以反映长方体的几何形状。
步骤3,绘制阴影到阴影贴图:在光源空间渲染全部的阴影billboard面片到一张阴影贴图上。
步骤4,渲染阴影接受体时采样阴影贴图:在渲染阴影接受体时变换顶点到光源空间,采样阴影贴图上对应像素点的颜色值,作为当前像素点的阴影值,混合到模型渲染之后的颜色值上。
可选地,在本场景中,渲染阴影接受体时采样阴影贴图的步骤4可以包括如下流程:
步骤402,渲染开始:开始正常渲染阴影接受体的网格。
步骤404,渲染阴影接受体上每个像素点时,确定是否向该像素点透射阴影,如果是,则执行步骤406,如果不是,则执行步骤412。
步骤406,变换顶点到光源空间。
步骤408,采样阴影图上对应的像素点。
步骤410,将阴影图上采样到的颜色值混合到正常渲染的颜色值上。
步骤412,将像素点最终的颜色值渲染到画面缓冲中。
根据本发明实施例的又一个方面,还提供了一种用于实施上述画面的渲染的电子装置,如图10所示,该电子装置包括:一个或多个(图中仅示出一个)处理器1002、存储器1004、传感器1006、编码器1008以及传输装置1010,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;
S2,将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;
S3,根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;
S4,根据模型数据和阴影贴图渲染目标场景对应的画面。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的画面的渲染方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的目标组件的控制方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1010用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1010包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1010为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1002用于存储应用程序。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标场景中的目标对象的模型数据,其中,模型数据用于表示目标对象在目标场景中所展示的模型;
S2,将模型数据转换成与目标对象对应的形状数据,其中,形状数据用于表示模型的几何形状;
S3,根据形状数据生成模型在目标场景中的阴影贴图,其中,阴影贴图用于承载模型在目标场景中形成的阴影;
S4,根据模型数据和阴影贴图渲染目标场景对应的画面。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种画面的渲染方法,其特征在于,包括:
获取目标场景中的目标对象的模型数据,其中,所述模型数据用于表示所述目标对象在所述目标场景中所展示的模型;
基于所述模型数据所指示的所述目标对象上各个部位所呈现的状态,确定所述目标对象上的关键节点;
为每个所述关键节点生成对应的几何体模型,以得到包括一个或多个所述几何体模型的形状数据,其中,所述形状数据用于表示所述几何体模型在所述状态下的几何形状;
生成每个所述几何体模型对应的面片对象,其中,所述面片对象用于承载所述几何体模型的阴影纹理,所述面片对象始终朝向所述目标场景中的光源,所述几何体模型位于所述面片对象和所述光源之间;
根据所述光源所在的位置以及每个所述几何体模型的几何形状,在每个所述面片对象上渲染每个所述几何体模型对应的阴影纹理,其中,每个所述面片对象是相同材质的简单模型网格;
将一个或者多个所述几何体模型所对应的所述阴影纹理渲染成所述模型在所述目标场景中的阴影贴图;
根据所述模型数据和所述阴影贴图渲染所述目标场景对应的画面。
2.根据权利要求1所述的方法,其特征在于,
所述基于所述模型数据所指示的所述目标对象上各个部位所呈现的状态,确定所述目标对象上的关键节点包括:从所述模型数据中获取所述目标对象上各个部位在所述状态下的一个或者多个关键节点,其中,所述一个或者多个关键节点中的每个关键节点用于指示所述目标对象上的一个部位;
所述为每个所述关键节点生成对应的几何体模型,以得到包括一个或多个所述几何体模型的形状数据包括:基于所述关键节点在所述状态下所述模型中所在的位置,生成与所述关键节点对应的所述几何体模型,得到模型集合,其中,所述几何体模型用于表示在所述目标对象上与所述关键节点所对应的部位的几何形状,所述模型集合包括一个或者多个所述几何体模型;将所述模型集合确定为所述形状数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述关键节点在所述状态下所述模型中所在的位置,生成与所述关键节点对应的所述几何体模型,得到模型集合包括:
在所述一个或者多个关键节点中的每个关键节点在所述模型中所在的位置,生成与所述关键节点对应的长方体模型;
获取对每个所述长方体模型所执行的编辑操作,其中,所述编辑操作用于使编辑后的目标长方体模型符合所述关键节点所对应的部位的几何结构的结构特征;
合并所述一个或者多个关键节点所对应的目标长方体模型,得到所述模型集合。
4.根据权利要求1所述的方法,其特征在于,根据所述光源所在的位置以及每个所述几何体模型的几何形状,在每个所述面片对象上渲染每个所述几何体模型对应的所述阴影纹理包括:
以所述光源所在的位置为第一视点,将每个所述几何体模型的几何形状投影到每个所述几何体模型所对应的所述面片对象上,得到每个所述面片对象上的投影区域;
在每个所述面片对象上的投影区域上绘制所述阴影纹理。
5.根据权利要求1至4中任一项所述的方法,其特征在于,根据所述模型数据和所述阴影贴图渲染所述目标场景对应的画面包括:
以所述画面所对应的视点为第二视点,将所述模型数据渲染到所述画面上,并以所述目标场景中的光源所在位置为第一视点,将所述阴影贴图渲染到所述画面上。
6.根据权利要求5所述的方法,其特征在于,以所述目标场景中的光源所在位置为第一视点将所述阴影贴图渲染到所述画面上包括:
从所述目标场景中获取所述目标对象所对应的阴影接受体,其中,所述阴影接受体用于在所述画面中呈现所述目标对象的阴影;
在将所述阴影接受体渲染到所述画面上的过程中,以所述目标场景中的光源所在位置为第一视点,将所述阴影贴图渲染到所述阴影接受体上。
7.根据权利要求6所述的方法,其特征在于,在将所述阴影接受体渲染到所述画面上的过程中,以所述目标场景中的光源所在位置为第一视点将所述阴影贴图渲染到所述阴影接受体上包括:
在将所述阴影接受体上的每个第一像素点渲染到所述画面上的过程中,以所述目标场景中的光源所在位置为第一视点,对所述第一像素点在所述阴影贴图上所对应的第二像素点的颜色值进行采样;
将所述第二像素点的颜色值叠加到所述画面上的所述第一像素点的颜色值上。
8.一种画面的渲染装置,其特征在于,包括:
获取模块,用于获取目标场景中的目标对象的模型数据,其中,所述模型数据用于表示所述目标对象在所述目标场景中所展示的模型;
转换模块,用于基于所述模型数据所指示的所述目标对象上各个部位所呈现的状态,确定所述目标对象上的关键节点;为每个所述关键节点生成对应的几何体模型,以得到包括一个或多个所述几何体模型的形状数据,其中,所述形状数据用于表示所述几何体模型在所述状态下的几何形状;
生成模块,用于生成每个所述几何体模型对应的面片对象,其中,所述面片对象用于承载所述几何体模型的阴影纹理,所述面片对象始终朝向所述目标场景中的光源,所述几何体模型位于所述面片对象和所述光源之间;
第一渲染单元,用于根据所述光源所在的位置以及每个所述几何体模型的几何形状,在每个所述面片对象上渲染每个所述几何体模型对应的阴影纹理,其中,每个所述面片对象是相同材质的简单模型网格;
第二渲染单元,用于将一个或者多个所述几何体模型所对应的所述阴影纹理渲染成所述模型在所述目标场景中的阴影贴图;
渲染模块,用于根据所述模型数据和所述阴影贴图渲染所述目标场景对应的画面。
9.根据权利要求8所述的装置,其特征在于,所述转换模块包括:
获取单元,用于从所述模型数据中获取所述目标对象上各个部位在所述状态下的一个或者多个关键节点,其中,所述一个或者多个关键节点中的每个关键节点用于指示所述目标对象上的一个部位;
第一生成单元,用于基于所述关键节点在所述状态下所述模型中所在的位置,生成与所述关键节点对应的所述几何体模型,得到模型集合,其中,所述几何体模型用于表示在所述目标对象上与所述关键节点所对应的部位的几何形状,所述模型集合包括一个或者多个所述几何体模型;
确定单元,用于将所述模型集合确定为所述形状数据。
10.根据权利要求9所述的装置,其特征在于,所述第一生成单元包括:
生成子单元,用于在所述一个或者多个关键节点中的每个关键节点在所述模型中所在的位置,生成与所述关键节点对应的长方体模型;
第一获取子单元,用于获取对每个所述长方体模型所执行的编辑操作,其中,所述编辑操作用于使编辑后的目标长方体模型符合所述关键节点所对应的部位的几何结构的结构特征;
合并子单元,用于合并所述一个或者多个关键节点所对应的目标长方体模型,得到所述模型集合。
11.根据权利要求8所述的装置,其特征在于,第一渲染单元包括:
投影子单元,用于以所述光源所在的位置为第一视点,将每个所述几何体模型的几何形状投影到每个所述几何体模型所对应的所述面片对象上,得到每个所述面片对象上的投影区域;
绘制子单元,用于在每个所述面片对象上的投影区域上绘制所述阴影纹理。
12.根据权利要求8至11中任一项所述的装置,其特征在于,所述渲染模块包括:
第三渲染单元,用于以所述画面所对应的视点为第二视点,将所述模型数据渲染到所述画面上,并以所述目标场景中的光源所在位置为第一视点,将所述阴影贴图渲染到所述画面上。
13.根据权利要求12所述的装置,其特征在于,所述第三渲染单元包括:
第二获取子单元,用于从所述目标场景中获取所述目标对象所对应的阴影接受体,其中,所述阴影接受体用于在所述画面中呈现所述目标对象的阴影;
渲染子单元,用于在将所述阴影接受体渲染到所述画面上的过程中,以所述目标场景中的光源所在位置为第一视点,将所述阴影贴图渲染到所述阴影接受体上。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106500.8A CN109448099B (zh) | 2018-09-21 | 2018-09-21 | 画面的渲染方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811106500.8A CN109448099B (zh) | 2018-09-21 | 2018-09-21 | 画面的渲染方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109448099A CN109448099A (zh) | 2019-03-08 |
CN109448099B true CN109448099B (zh) | 2023-09-22 |
Family
ID=65530616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811106500.8A Active CN109448099B (zh) | 2018-09-21 | 2018-09-21 | 画面的渲染方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109448099B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838167B (zh) * | 2019-11-05 | 2024-02-06 | 网易(杭州)网络有限公司 | 模型的渲染方法、装置和存储介质 |
CN110827391B (zh) * | 2019-11-12 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN110956703B (zh) * | 2019-11-19 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 碰撞体贴图方法和装置、存储介质及电子装置 |
CN111191919B (zh) * | 2019-12-27 | 2021-03-09 | 珠海必要工业科技股份有限公司 | 一种商品模型处理方法、装置、设备及存储介质 |
CN111340684B (zh) * | 2020-02-12 | 2024-03-01 | 网易(杭州)网络有限公司 | 一种游戏中图形处理的方法和装置 |
CN111371966B (zh) * | 2020-03-24 | 2022-02-08 | 深圳市励得数码科技有限公司 | 一种在虚拟演播室中合成前景人物阴影的方法、装置及存储介质 |
CN111798556B (zh) * | 2020-06-18 | 2023-10-13 | 完美世界(北京)软件科技发展有限公司 | 图像渲染方法、装置、设备和存储介质 |
CN111773719A (zh) * | 2020-06-23 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 虚拟对象的渲染方法和装置、存储介质、电子装置 |
CN111815748B (zh) * | 2020-07-08 | 2024-03-19 | 上海米哈游天命科技有限公司 | 一种动画处理方法、装置、存储介质及电子设备 |
CN111862295B (zh) * | 2020-07-17 | 2024-07-02 | 完美世界(重庆)互动科技有限公司 | 一种虚拟对象的展示方法、装置、设备和存储介质 |
CN112184922B (zh) * | 2020-10-15 | 2024-01-26 | 洛阳众智软件科技股份有限公司 | 二维视频与三维场景的融合方法、装置、设备及存储介质 |
CN112235634A (zh) * | 2020-10-16 | 2021-01-15 | 广州虎牙科技有限公司 | 对象渲染方法、装置、电子设备及存储介质 |
CN113256781B (zh) * | 2021-06-17 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 虚拟场景的渲染和装置、存储介质及电子设备 |
CN113706683B (zh) * | 2021-08-06 | 2023-09-26 | 网易(杭州)网络有限公司 | 虚拟三维模型的阴影处理方法、阴影处理装置及电子装置 |
CN113947657B (zh) * | 2021-10-18 | 2024-07-23 | 网易(杭州)网络有限公司 | 目标模型的渲染方法、装置、设备及存储介质 |
CN117270721B (zh) * | 2023-11-21 | 2024-02-13 | 虚拟现实(深圳)智能科技有限公司 | 基于多用户交互xr场景的数字形象渲染方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0935087A (ja) * | 1995-07-20 | 1997-02-07 | Hitachi Ltd | 陰影処理方法及び装置 |
CN101127127A (zh) * | 2007-09-29 | 2008-02-20 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及渲染装置 |
CN108038897A (zh) * | 2017-12-06 | 2018-05-15 | 北京像素软件科技股份有限公司 | 阴影贴图生成方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
EP3352137A1 (en) * | 2017-01-24 | 2018-07-25 | Thomson Licensing | Method and apparatus for processing a 3d scene |
-
2018
- 2018-09-21 CN CN201811106500.8A patent/CN109448099B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0935087A (ja) * | 1995-07-20 | 1997-02-07 | Hitachi Ltd | 陰影処理方法及び装置 |
CN101127127A (zh) * | 2007-09-29 | 2008-02-20 | 腾讯科技(深圳)有限公司 | 阴影绘制方法及渲染装置 |
CN108038897A (zh) * | 2017-12-06 | 2018-05-15 | 北京像素软件科技股份有限公司 | 阴影贴图生成方法及装置 |
Non-Patent Citations (4)
Title |
---|
一种分析风电场工程风机阴影影响的新方法;王志光 等;《贵州水力发电》;20110415;第25卷(第02期);第66-69页 * |
一种基于GPU构造阴影线的软阴影绘制算法;高山晓 等;《系统仿真学报》;20180408;第30 卷(第04期);第1279-1286页 * |
布告板云树木模型的阴影快速生成与绘制;魏厚明 等;《计算机辅助设计与图形学学报》;20110515;第23卷(第05期);第771-777页 * |
应用阴影图的航天器迎风面积计算方法;杨成 等;《计算机辅助设计与图形学学报》;20151115;第27卷(第11期);第2155-2160页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109448099A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448099B (zh) | 画面的渲染方法、装置、存储介质及电子装置 | |
CN110163943B (zh) | 图像的渲染方法和装置、存储介质、电子装置 | |
CN111145326B (zh) | 三维虚拟云模型的处理方法、存储介质、处理器及电子装置 | |
CN104732585B (zh) | 一种人体体型重构的方法及装置 | |
CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN112215934A (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
CN111368137A (zh) | 视频的生成方法、装置、电子设备及可读存储介质 | |
GB2543913A (en) | Virtual conference room | |
CN110689626A (zh) | 游戏模型渲染方法和装置 | |
US9754398B1 (en) | Animation curve reduction for mobile application user interface objects | |
CN111738935B (zh) | 残影渲染方法和装置、存储介质和电子装置 | |
CN108837510B (zh) | 信息的展示方法和装置、存储介质、电子装置 | |
CN108043027B (zh) | 存储介质、电子装置、游戏画面的显示方法和装置 | |
CN112530005B (zh) | 一种三维模型直线结构识别与自动修复方法 | |
CN111862295A (zh) | 一种虚拟对象的展示方法、装置、设备和存储介质 | |
WO2012097556A1 (zh) | 3d图标的处理方法、装置及移动终端 | |
CN114047824A (zh) | 多终端用户在虚拟空间交互的方法 | |
CN101477702A (zh) | 计算机显卡的植入式真三维立体驱动方法 | |
CN110119199B (zh) | 实时渲染影像的追踪系统、方法及非暂态电脑可读取媒体 | |
CN113230659B (zh) | 一种游戏的显示控制方法及装置 | |
CN112862968B (zh) | 目标植被模型的渲染显示方法、装置、设备及存储介质 | |
CN110751026B (zh) | 视频处理方法及相关装置 | |
CN114452646A (zh) | 虚拟对象透视处理方法、装置及计算机设备 | |
KR102026857B1 (ko) | Vr기술 기반의 3d모델링 저작도구를 이용한 3d프린팅 시스템 | |
JP2023153534A (ja) | 画像処理装置、画像処理方法、およびプログラム |
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 |