渲染方法及装置转让专利

申请号 : CN202010489956.8

文献号 : CN111798504A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姜明余

申请人 : 完美世界(北京)软件科技发展有限公司

摘要 :

本申请实施例提供一种渲染方法方法及装置,涉及计算机应用技术领域。其中,收集视野内与目标物体产生交互的交互物体;从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。本申请实施例提供的技术方案解决了现有技术中得到的高度偏移纹理只支持平面上的目标物体渲染,而无法支持复杂表面上的目标物体渲染的问题。

权利要求 :

1.一种渲染方法,其特征在于,包括:

收集视野内与目标物体产生交互的交互物体;

从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;

利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;

利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。

2.根据权利要求1所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格;

基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。

3.根据权利要求1所述的方法,其特征在于,所述利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理包括:利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。

4.根据权利要求2或3所述的方法,其特征在于,所述基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面包括:计算所述变形的目标物体网格的切线空间法线;

利用所述切线空间法线以及所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。

5.根据权利要求1或3所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理;

利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。

6.根据权利要求1或3所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:提取所述高度偏移纹理中的边缘纹理;

增加所述边缘纹理的高度,获得增强高度偏移纹理;

利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。

7.根据权利要求1所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理;

利用当前帧的累积高度纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。

8.根据权利要求7所述的方法,其特征在于,所述将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理包括:将所述高度偏移纹理与前一帧的累积高度纹理进行比较,选取较小值作为当前帧的累积高度纹理。

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:将所述当前帧的累积高度纹理与预定高度值进行融合,获得恢复高度值;

利用所述恢复高度值,渲染获得所述目标物体的形变恢复画面。

10.一种渲染装置,其特征在于,包括:

收集模块,用于收集视野内与目标物体产生交互的交互物体;

获取模块,用于从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;

裁剪模块,用于利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;

第一渲染模块,用于利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。

说明书 :

渲染方法及装置

技术领域

[0001] 本申请实施例涉及计算机应用技术领域,尤其涉及一种渲染方法及装置。

背景技术

[0002] 随着图像处理技术的不断提升,很多三维场景画面可以在显示设备中进行渲染显示。
[0003] 对于三维场景中具有柔软表面的目标物体的渲染,可以通过对与目标物体的柔软表面产生交互动作的交互物体进行渲染以获得深度纹理,并将深度纹理作为目标物体的高度偏移纹理,对目标物体的高度进行偏移,渲染获得交互物体与目标物体的交互效果画面。其中,具有柔软表面的目标物体可以是例如雪地,交互物体可以是例如处于雪地场景中的人,渲染获得该人物处于雪地场景中时雪地的交互效果画面,例如雪地凹陷。
[0004] 现有技术中,利用高度偏移纹理进行渲染时,是直接将深度纹理作为目标物体的高度偏移纹理,也即只利用相机远近裁剪面对该深度纹理进行裁剪,此时获得的高度偏移纹理只支持平面上的目标物体渲染,而无法支持复杂表面上的目标物体渲染,例如不同地形上的雪地渲染。

发明内容

[0005] 本申请实施例提供一种渲染方法及装置,用以解决现有技术中得到的高度偏移纹理只支持平面上的目标物体渲染,而无法支持复杂表面上的目标物体渲染的问题。
[0006] 本发明的第一方面提供了一种渲染方法,该方法包括:
[0007] 收集视野内与目标物体产生交互的交互物体;
[0008] 从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;
[0009] 利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;
[0010] 利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0011] 本发明的第二方面提供了一种渲染装置,该装置包括:
[0012] 收集模块,用于收集视野内与目标物体产生交互的交互物体;
[0013] 获取模块,用于从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的,深度纹理;
[0014] 裁剪模块,用于利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;
[0015] 第一渲染模块,用于利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0016] 本发明中,通过目标物体的高度图对深度纹理进行裁剪,获得相对目标物体可变形区域的高度偏移纹理,利用该高度偏移纹理进行渲染时,可以实现复杂表面上的目标物体渲染,例如,不同地形上的雪地渲染。解决了现有技术中只支持表面为平面上的目标物体渲染,而不支持复杂表面的情况,提高了渲染得到的目标物体与交互物体的交互效果画面的真实性,改善了用户体验。
[0017] 本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

[0018] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019] 图1是本发明实施例的一种渲染方法的一个实施例的流程图;
[0020] 图2是本发明实施例的一种渲染方法的另一个实施例的流程图;
[0021] 图2-1是本发明实施例的雪地网格法线错误的示意图;
[0022] 图2-2是本发明实施例的雪地网格法线重新计算之后的示意图;
[0023] 图3是本发明实施例的一种渲染方法的另一个实施例的流程图;
[0024] 图3-1是本发明实施例的雪地网格不平滑的示意图;
[0025] 图3-2是本发明实施例的雪地网格平滑之后的示意图;
[0026] 图4是本发明实施例的一种渲染方法的另一个实施例的流程图;
[0027] 图5是本发明实施例的一种渲染装置的一个实施例的结构示意图。

具体实施方式

[0028] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0029] 在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0030] 本发明实施例主要适用于三维场景中具有柔软表面的目标物体的渲染,可以通过对与目标物体的柔软表面产生交互动作的交互物体进行渲染以获得深度纹理,并由深度纹理获得目标物体的高度偏移纹理,基于高度偏移纹理对目标物体的高度进行偏移,渲染获得交互物体与目标物体的交互效果画面。
[0031] 现有技术中,通过相机对与目标物体的柔软表面产生交互动作的交互物体进行渲染,得到深度纹理,深度纹理指该交互物体相对于相机远近裁剪面的高度值,将该深度纹理直接作为目标物体的高度偏移纹理,利用高度偏移纹理对目标物体高度进行偏移,以获得交互物体与目标物体的交互效果画面。其中,该具有柔软表面的目标物体可以是雪地、沙地、泥地等;该与目标物体的柔软表面产生交互动作的交互物体可以是动态物体,如人等。以目标物体为雪地,交互物体为处于雪地环境中的人为例,通过对处于雪地环境中的人进行渲染,得到深度纹理,也即该人物相对于相机远近裁剪面的高度值,将该深度纹理直接作为雪地高度偏移纹理,利用雪地高度偏移纹理对雪地高度进行偏移,获得该人物处于雪地环境中时雪地的效果画面,即雪地凹陷。
[0032] 但是,现有技术的方案中,利用高度偏移纹理进行渲染时,是直接将深度纹理作为目标物体的高度偏移纹理,也即只利用相机远近裁剪面对该深度纹理进行裁剪,得到的结果在同一平面上,不会有高度的变化,也即此时获得的高度偏移纹理只支持平面上的目标物体渲染。而实际场景中,目标物体并非只存在于平面上,而往往处于各种复杂表面上,以雪地为例,其往往附着在各种地形或静态物体的上表面,如建筑物的上表面等。显然,现有技术的方案并不支持复杂表面上的目标物体渲染。
[0033] 因此,需要获得支持复杂表面上目标物体渲染的高度偏移纹理,才能实现复杂表面上的目标物体渲染。发明人想到,在利用相机远近裁剪面对深度纹理进行裁剪的基础上,可以添加额外的高度图对深度纹理进行裁剪,即目标物体的高度图。由于目标物体本身的高度图包含了其处于复杂表面上的信息,利用该高度图对深度纹理裁剪获得的高度偏移纹理也可以支持复杂表面上的目标物体渲染,从而实现复杂表面上的目标物体渲染。于是,提出了本发明的技术方案:收集视野内与目标物体产生交互的交互物体;从所述目标物体底部对所述交互物体进行拍摄,获得深度纹理;利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。通过结合目标物体的高度图对深度纹理进行裁剪,获得支持复杂表面上目标物体渲染的高度偏移纹理,再利用该高度偏移纹理对目标物体进行渲染,则可以实现复杂表面上的目标物体渲染。解决了现有技术中只支持平面上的目标物体渲染,而不支持复杂表面的情况,提高了渲染得到的目标物体与交互物体的交互效果画面的真实性。
[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 如图1所示,为本发明实施例提供的一种渲染方法一个实施例的流程图,该方法可以包括以下几个步骤:
[0036] 101:收集视野内与目标物体产生交互的交互物体。
[0037] 目标物体可以指场景中具有柔软表面,且该柔软表面基于交互物体的交互动作而能够发生形变的物体,例如,雪地、沙地、泥地等。能够与该目标物体产生交互的交互物体可以指场景中能够执行交互动作,使得该目标物体的柔软表面发生形变的动态物体,例如,人、野生动物等。其中,交互物体与目标物体产生交互可以指交互物体对目标物体执行交互动作。
[0038] 以目标物体是雪地、交互物体是处于雪地场景中的人为例,交互物体与目标物体产生交互可以包括该人物站立在该雪地中,或者该人物在该雪地中行走等。由此,在实际场景中,收集视野内与目标物体产生交互的交互物体可以是收集相机视野内在雪地场景中站立或行走的人物。
[0039] 可选地,收集视野内与目标物体产生交互的交互物体的方法可以包括:
[0040] 利用正交相机收集相机视口内的多个物体;
[0041] 从所述多个物体中确定配置有交互标签的交互物体。
[0042] 其中,交互标签可以由用户提前设定,以指定需要与目标物体发生交互作用的交互物体。例如,在实际的雪地场景中,交互标签可以为站立的人,则收集视野内与目标物体产生交互的交互物体可以是利用正交相机收集相机视口内的多个物体,并从中选择站立的人作为与目标物体产生交互的交互物体。
[0043] 102:从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理。
[0044] 可选地,可以是利用正交相机从目标物体底部对交互物体进行拍摄,获得深度纹理,该深度纹理内可以指交互物体相对于相机远近裁剪面的高度值。
[0045] 在实际场景中,以雪地为例,利用正交相机从雪地的底部对处于雪地场景中的人进行拍摄,可以获得包含该人物相对相机远近裁剪面的高度值的深度纹理。
[0046] 其中,目标物体位于水平面上时,可选地,从所述目标物体底部对所述交互物体进行拍摄,获得深度纹理的方法可以包括:
[0047] 利用正交相机,从所述目标物体底部自下而上对所述交互物体进行渲染,获得深度纹理。
[0048] 其中,正交相机的视口应该与目标物体网格大小一致,正交相机的屏幕空间与目标物体网格的纹理贴图坐标空间对齐,正交相机的近裁剪面与目标物体网格共面,以目标物体网格所在平面为基准,按照该平面的法线方向自下而上对交互物体进行渲染以获得深度纹理。
[0049] 103:利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0050] 目标物体的高度图中包含了目标物体网格中不同顶点的高度值。以目标物体是雪地为例,雪地高度图的获取可以有不同的可实现方式。作为一种可实现方式,由于雪地通常附着在不同的地形上,雪地表面与地表相贴合,因此可以直接选择地形高度图作为雪地高度图。其中,地形高度图可以通过地形编辑器生成。
[0051] 作为另一种可实现方式,可以选择正交相机离线烘焙的高度图作为雪地高度图。正交相机离线烘焙的高度图指利用正交相机自上到下渲染当前雪地在场景中的区域,得到区域内物体的高度图。
[0052] 将正交相机的近裁剪面与目标物体网格共面,则正交相机的远近裁剪平面之间的距离即为目标物体的可变形区域。利用正交相机对交互物体进行拍摄,获得包含交互物体相对于正交相机远近裁剪面的高度值的深度纹理,也即获得包含交互物体相对于目标物体可变形区域的高度值的深度纹理,再利用目标物体高度图对该深度纹理进行裁剪,则可以获得相对目标物体可变形区域的高度偏移纹理。
[0053] 104:利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0054] 其中,交互效果画面可以指交互物体与目标物体产生交互形成一定交互效果的画面。以目标物体是雪地,交互物体是人为例,二者产生交互可以是人站在雪地上,获得的交互效果可以是雪地凹陷。
[0055] 基于获得的高度偏移纹理,对目标物体进行渲染时,可以利用该高度偏移纹理对目标物体的高度进行偏移,渲染获得交互物体与目标物体的交互效果画面。
[0056] 在本申请实施例中,通过目标物体的高度图对深度纹理进行裁剪,获得相对目标物体可变形区域的高度偏移纹理,利用该高度偏移纹理进行渲染时,可以实现复杂表面上的目标物体渲染,例如,不同地形上的雪地渲染。解决了现有技术中只支持表面为平面上的目标物体渲染,而不支持复杂表面的情况,提高了渲染得到的目标物体与交互物体的交互效果画面的真实性,改善了用户体验。
[0057] 在某些实施例中,利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理的方法可以包括:
[0058] 利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0059] 可选地,目标物体的高度图可以包括所述目标物体的最小高度值。在某些实施例中,利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理的方法可以包括:
[0060] 确定所述目标物体的最大高度值;
[0061] 将所述最大高度值和所述最小高度值的差值作为所述目标物体可变形区域的厚度值;
[0062] 基于所述深度纹理,计算所述深度纹理与所述最小高度值的差值;
[0063] 将所述深度纹理与所述最小高度值的差值与所述目标物体可变形区域的厚度值进行求商计算,并将商值作为相对所述目标物体可变形区域的高度偏移纹理。
[0064] 通过对深度纹理和最小高度值进行求差计算,得到的差值可以表示交互物体相对目标物体可变形区域的高度值,不再是现有技术中交互物体只相对于相机远近裁剪面的高度值,则由该差值得到的高度偏移纹理即可以实现支持复杂表面上的目标物体渲染。再利用该差值和目标物体可变形区域的厚度值进行求商计算,可以获得当前深度在目标可变形区域内所处的相对位置,也就是目标物体的变形程度系数,将该商值作为相对目标物体可变形区域的高度偏移纹理,可以实现利用目标物体的高度图对深度纹理进行裁剪,以得到相对目标物体可变形区域的高度偏移纹理。
[0065] 在实际场景中,目标物体的最大高度值可以为用户设定的最大高度值,目标物体的最小高度值可以为目标物体高度图内存储的高度值,其中,目标物体高度图可以为地形高度图或正交相机离线烘焙的高度图。
[0066] 以目标物体是雪地为例,高度偏移纹理可以由下面的公式进行计算获得:
[0067]
[0068] 其中,Displacement表示雪地高度偏移纹理,ZBuffer表示深度纹理,SnowHeightMin表示雪地高度最小值,SnowDisplacementMax表示雪地可变形区域的厚度值, 是用于计算当前深度纹理ZBuffer在雪地可变形区域内所处的相对位置,也就是雪地的变形程度系数,考虑到直接求商计算获得的数值不一定处于闭区间[0,1],则利用saturate函数将上述雪地的可变形程度系数数值夹取到闭区间[0,1],从而可以精确的表达出雪地变形程度的概念,其中,雪地可变形程度系数为0时,表示雪地完全凹陷;雪地可变形系数为1时,表示雪地没有凹陷。
[0069] 在某些实施例中,利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面的方法可以包括:
[0070] 利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格;
[0071] 基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0072] 基于得到的高度偏移纹理,利用硬件曲面细分模型和该高度偏移纹理对该目标物体的高度进行偏移,可以获得变形的目标物体网格。其中,利用硬件曲面细分模型和高度偏移纹理对目标物体的高度进行偏移的方法为常规方法,在此不再进行赘述。利用获得的变形的目标物体网格,进行渲染以得到交互物体与目标物体的交互效果画面。
[0073] 在实际场景中,利用获得的变形的目标物体网格,进行渲染以得到交互物体与目标物体的交互效果画面可以有多种实现方式。
[0074] 作为一种可实现方式,在利用硬件曲面细分模型进行细分获得目标物体网格的过程中,考虑到用于细分的硬件曲面细分模型采用的是平面网格,平面网格中各顶点的顶点法线都是固定值,由此进行细分之后计算获得的平面法线也是固定值。从而基于高度偏移纹理对细分之后的网格顶点进行高度偏移,通过差值计算获得的法线同样是固定值,导致目标物体可变形区域内的法线出现错误,进一步导致目标物体可变形区域内的光照结果出现错误,影响渲染效果。
[0075] 如图2-1所示,以目标物体是雪地为例,目标物体可变形区域可以是雪地凹陷区域,雪地凹陷区域的法线出现错误,则该凹陷区域内的光照结果也会出现错误,导致渲染获得的雪地凹陷区域的交互效果画面不理想,影响渲染效果。因此,作为一个实施例,需要对变形后的目标物体网格的法线进行重新计算,如图2所示,为本发明实施例提供的一种渲染方法另一个实施例的流程图,该方法可以包括以下几个步骤:
[0076] 201:收集视野内与目标物体产生交互的交互物体。
[0077] 202:从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理。
[0078] 203:利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0079] 步骤201-203的实现方式与图1所示实施例中步骤101-103的实现方式一致,上述步骤可以参考图1所示实施例中步骤101-103的具体实现方式,在此不再进行赘述。
[0080] 204:利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格。
[0081] 利用硬件曲面细分模型和获得的高度偏移纹理对目标物体的高度进行偏移,获得变形之后的目标物体网格。
[0082] 205:计算所述变形的目标物体网格的切线空间法线。
[0083] 在实际应用中,利用相对目标物体可变形区域的高度偏移纹理对目标物体进行高度偏移后,得到的目标物体网格不再是平面上的网格,网格的法线也不再是固定数值,因此,在获得变形的目标物体网格后,需要重新计算变形的目标物体网格的切线空间法线。
[0084] 206:利用所述切线空间法线以及所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0085] 利用计算得到的正确的网格的切线空间法线,可以渲染获得正确的交互物体与目标物体的交互效果画面。
[0086] 本发明实施例中,考虑到网格细分模型仅是平面,法线为固定值,则需要对变形之后目标物体网格的法线进行重新计算,如图2-2所示,也即使用相对所述目标物体可变形区域的高度偏移纹理进行计算后,可以获得正确的切线空间法线,解决了现有技术中目标物体可变形区域内法线出现错误,导致光照结果出现错误,渲染效果不理想的问题,基于正确的目标物体可变形区域的法线,可以获得正确的可变形区域的光照结果,从而改善渲染效果,提高渲染获得的交互物体与目标物体的交互效果画面的真实性。
[0087] 作为另一种可实现方式,在利用硬件曲面细分模型和高度偏移纹理对目标物体的高度进行偏移,获得变形的目标物体网格的过程中,由于交互物体模型本身的影响,如模型包含锯齿等,利用该交互物体模型进行渲染生成深度纹理,并基于该深度纹理计算获得高度偏移纹理时,得到的高度偏移纹理数据中会包含部分突变数据,导致利用该高度偏移纹理对目标物体高度进行偏移之后,获得的变形之后的目标物体网格不够平滑,网格变形效果不理想,从而影响渲染效果。
[0088] 如图3-1所示,以目标物体是雪地为例,由于动态物体模型本身具有尖刺,由此生成的高度偏移纹理中会产生突变数据,利用该高度偏移纹理对雪地高度进行偏移之后,获得的变形之后的雪地网格形状会带有锯齿,雪地网格变形效果不理想,会导致渲染获得的雪地交互效果画面不够平滑,交互效果真实性较差。因此,作为一个实施例,为了提高交互效果的真实性,改善目标物体网格变形效果不理想的问题,如图3所示,为本发明实施例提供的一种渲染方法另一个实施例的流程图,该方法可以包括以下几个步骤:
[0089] 301:收集视野内与目标物体产生交互的交互物体。
[0090] 302:从所述目标物体底部对所述交互物体进行拍摄,获得深度纹理。
[0091] 303:利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0092] 步骤301-303的实现方式与图1所示实施例中步骤101-103的实现方式一致,上述步骤可以参考图1所示实施例中步骤101-103的具体实现方式,在此不再进行赘述。
[0093] 304:将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理。
[0094] 平滑处理可以指对高度偏移纹理进行滤波处理,减少高度偏移纹理中的高频信号,得到较为平滑的高度偏移纹理,作为平滑高度偏移纹理。
[0095] 可选地,将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理的方法可以包括:
[0096] 对所述高度偏移纹理进行小半径的高斯模糊处理,获得平滑高度偏移纹理。
[0097] 通过对高度偏移纹理进行小半径的高斯模糊处理,可以减少高度偏移纹理中的高频信号,实现滤波处理,获得平滑高度偏移纹理。
[0098] 可选地,在进行高斯模糊处理之前,该方法还可以包括:
[0099] 利用正交相机渲染交互物体的简模以获得所述交互物体的深度纹理。
[0100] 利用正交相机渲染交互物体的简模,获得交互物体的深度纹理,可以使深度纹理中的高度值突变减少,从而使变形之后的目标物体网格更加平滑。
[0101] 在实际应用中,为了实现更好地渲染获得交互物体的深度纹理,需要选取合适的正交相机帧缓存纹理的分辨率。其中,该分辨率可以由像素密度计算获得,像素密度是指世界空间的单位长度对应的像素个数,具体可以是通过像素密度和正交相机视口的宽高计算获得,由像素密度与视口的宽度进行乘积计算可以得到帧缓存纹理的宽度,由像素密度与视口的高度进行乘积计算可以得到帧缓存纹理的高度。因此,可以选取合适的像素密度以获得合适的正交相机帧缓存纹理的分辨率,例如,像素密度可以是32像素/单位长度。
[0102] 305:利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0103] 通过对高度偏移纹理进行平滑处理,获得平滑高度偏移纹理,减少了高度偏移纹理数据中的突变数据,从而利用该平滑高度偏移纹理对目标物体高度进行偏移时,可以获得较为平滑的变形之后的目标物体网格,如图3-2所示,解决了现有技术中网格变形存在锯齿,网格变形效果不理想的问题,改善了目标物体的渲染效果。以目标物体是雪地为例,获得较为平滑的变形之后的雪地网格,使得雪地交互效果画面更加平滑,提高雪地交互效果的真实性。
[0104] 在实际场景中,为了获得更加真实的目标物体交互效果画面,获得平滑高度偏移纹理之后,该方法还可以包括:
[0105] 对所述平滑高度偏移纹理进行边缘增强。
[0106] 通过对平滑高度偏移纹理进行边缘增强,可以增加目标物体的边缘隆起效果,进一步增强目标物体与交互物体交互的真实感,实现更加真实的交互效果。以雪地为例,在实际场景中,真实雪地被雪地场景中的人物踩踏时,边缘会产生堆积效果,因此,对平滑高度偏移纹理进行边缘增强,可以获得雪地的边缘隆起效果,增强雪地与人物交互的真实感。
[0107] 如图4所示,为本发明实施例提供的一种渲染方法另一个实施例的流程图,该方法可以包括以下几个步骤:
[0108] 401:收集视野内与目标物体产生交互的交互物体。
[0109] 402:从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理。
[0110] 403:利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0111] 步骤401-403的实现方式与图1所示实施例中步骤101-103的实现方式一致,上述步骤可以参考图1所示实施例中步骤101-103的具体实现方式,在此不再进行赘述。
[0112] 404:提取所述高度偏移纹理中的边缘纹理。
[0113] 可以采用索贝尔边缘检测算法提取高度偏移纹理中的边缘纹理。
[0114] 405:增加所述边缘纹理的高度,获得增强高度偏移纹理。
[0115] 采用索贝尔边缘检测算法提取高斯模糊前的高度偏移纹理中的边缘,将提取的边缘纹理作为遮罩,增加高度偏移纹理中边缘区域的高度,再进行小半径的高斯模糊处理,获得增强高度偏移纹理。
[0116] 406:利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0117] 通过对高度偏移纹理进行边缘增强,增加目标物体的边缘隆起效果,提高渲染获得的目标物体交互效果画面的真实性,实现更加真实的交互效果。
[0118] 在某些实施例中,利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面的方法可以包括:
[0119] 将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理;
[0120] 利用当前帧的累积高度纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0121] 其中,可以将前一帧的累积高度纹理与当前帧的高度偏移纹理输入到累积渲染器中,利用乒乓算法对二者进行融合,获得当前帧的累积高度纹理。
[0122] 可选地,将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理的方法具体可以包括:
[0123] 将所述高度偏移纹理与前一帧的累积高度纹理进行比较,选取较小值作为当前帧的累积高度纹理。
[0124] 在实际应用中,可以首先创建两张用于累积高度偏移值的纹理,将两张纹理的索引进行交换,之后将两张纹理绑定至用于计算累积高度纹理的累积渲染器中。此时,累积渲染器的输入即为前一帧的累积高度纹理和当前帧的高度偏移纹理,将二者进行比较,选取比较结果的较小值进行输出,从而可以实现,对于同一位置,如果上一帧没有发生高度偏移,而当前帧发生了高度偏移,就将当前帧的高度偏移值输出保存;而如果上一帧发生了高度偏移,而当前帧没有发生高度偏移,就将上一帧的高度偏移值输出保存。
[0125] 对于第一帧累积之后的高度偏移纹理,则是指第一帧得到的高度偏移纹理,考虑到第一帧输入的上一帧累积的高度偏移纹理中没有任何高度偏移数据,则两者取最小值之后第一帧的高度偏移纹理会完全输出到累积的高度偏移纹理中。
[0126] 在实际场景中,在进行渲染获得目标物体与交互物体的交互效果画面的过程中,目标物体的表面会发生形变,同时,也可以在特定情况下进行恢复。以目标物体是雪地,交互物体是处于雪地场景中的人为例,二者产生交互可以是该人物在雪地场景中站立,雪地会呈现出凹陷效果。此时,若该雪地场景处于下雪状态,则雪地的凹陷效果可以进行恢复,更加符合真实场景变化。
[0127] 因此,在某些实施例中,上述方法还可以包括:
[0128] 将所述当前帧的累积高度纹理与预定高度值进行融合,获得恢复高度值;
[0129] 利用所述恢复高度值,渲染获得所述目标物体的形变恢复画面。
[0130] 利用当前帧累积之后的高度偏移纹理加上一个用户可控的高度值可以实现目标物体的形变恢复效果。以雪地为例,在实际场景中,若该雪地场景处于下雪状态,则雪地不会一直处于凹陷状态,雪地凹陷会逐渐恢复,此时,可以通过在获得累积高度纹理的基础上,添加用户可控的高度值的方法实现。具体可以是,根据用户添加的高度值,在累积渲染器中为每一帧累积高度纹理都结合该添加的高度值进行计算。其中,用户添加的高度值可以是大于0的数值,对每一帧累积高度纹理都增加该高度值,使得累积的高度偏移纹理中的数值逐渐全部变为1,也即雪地由完全凹陷的状态逐渐变为没有凹陷的状态,实现雪地恢复。
[0131] 通过对当前帧的累积高度纹理增加用户可控的高度值,实现雪地凹陷的逐渐恢复,得到更加真实的处于下雪状态时的雪地凹陷效果变化,更加符合真实场景变化。
[0132] 如图5所示,为本发明实施例提供的一种渲染装置一个实施例的结构示意图,该装置可以包括以下几个模块:
[0133] 收集模块501,用于收集视野内与目标物体产生交互的交互物体。
[0134] 可选地,收集模块501可以包括:
[0135] 收集单元,用于利用正交相机收集相机视口内的多个物体;
[0136] 确定单元,用于从所述多个物体中确定配置有交互标签的交互物体。
[0137] 获取模块502,用于从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理。
[0138] 可选地,可以是利用正交相机从目标物体底部对交互物体进行拍摄,获得深度纹理,该深度纹理内可以指交互物体相对于相机远近裁剪面的高度值。
[0139] 其中,目标物体位于水平面上时,可选地,获取模块502可以包括:
[0140] 第二获取单元,用于利用正交相机,从所述目标物体底部自下而上对所述交互物体进行渲染,获得深度纹理。
[0141] 裁剪模块503,用于利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0142] 第一渲染模块504,用于利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0143] 在本申请实施例中,通过目标物体的高度图对深度纹理进行裁剪,获得相对目标物体可变形区域的高度偏移纹理,利用该高度偏移纹理进行渲染时,可以实现复杂表面上的目标物体渲染,例如,不同地形上的雪地渲染。解决了现有技术中只支持表面为平面上的目标物体渲染,而不支持复杂表面的情况,提高了渲染得到的目标物体与交互物体的交互效果画面的真实性,改善了用户体验。
[0144] 在某些实施例中,裁剪模块503可以包括:
[0145] 裁剪单元,用于利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0146] 可选地,目标物体的高度图可以包括所述目标物体的最小高度值。在某些实施例中,裁剪单元可以包括;
[0147] 确定子单元,用于确定所述目标物体的最大高度值;
[0148] 第二计算子单元,用于将所述最大高度值和所述最小高度值的差值作为所述目标物体可变形区域的厚度值;
[0149] 第三计算子单元,用于基于所述深度纹理,计算所述深度纹理与所述最小高度值的差值;
[0150] 裁剪子单元,用于将所述深度纹理与所述最小高度值的差值与所述目标物体可变形区域的厚度值进行求商计算,并将商值作为相对所述目标物体可变形区域的高度偏移纹理。
[0151] 通过对深度纹理和最小高度值进行求差计算,得到的差值可以表示交互物体相对目标物体可变形区域的高度值,不再是现有技术中交互物体只相对于相机远近裁剪面的高度值,则由该差值得到的高度偏移纹理即可以实现支持复杂表面上的目标物体渲染。再利用该差值和目标物体可变形区域的厚度值进行求商计算,可以获得当前深度在目标可变形区域内所处的相对位置,也就是目标物体的变形程度系数,将该商值作为相对目标物体可变形区域的高度偏移纹理,可以实现利用目标物体的高度图对深度纹理进行裁剪,以得到相对目标物体可变形区域的高度偏移纹理。
[0152] 在某些实施例中,第一渲染模块504可以包括:
[0153] 第一获取单元,用于利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格;
[0154] 第一渲染单元,用于基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0155] 基于得到的高度偏移纹理,利用硬件曲面细分模型和该高度偏移纹理对该目标物体的高度进行偏移,可以获得变形的目标物体网格。其中,利用硬件曲面细分模型和高度偏移纹理对目标物体的高度进行偏移的方法为常规方法,在此不再进行赘述。利用获得的变形的目标物体网格,进行渲染以得到交互物体与目标物体的交互效果画面。
[0156] 在实际场景中,利用获得的变形的目标物体网格,进行渲染以得到交互物体与目标物体的交互效果画面可以有多种实现方式。
[0157] 作为一种可实现方式,在利用硬件曲面细分模型进行细分获得目标物体网格的过程中,考虑到用于细分的硬件曲面细分模型采用的是平面网格,平面网格中各顶点的顶点法线都是固定值,由此进行细分之后计算获得的平面法线也是固定值。从而基于高度偏移纹理对细分之后的网格顶点进行高度偏移,通过差值计算获得的法线同样是固定值,导致目标物体可变形区域内的法线出现错误,进一步导致目标物体可变形区域内的光照结果出现错误,影响渲染效果。因此,需要对变形后的目标物体网格的法线进行重新计算,在某些实施例中,第一渲染单元可以包括:
[0158] 第一计算子单元,用于计算所述变形的目标物体网格的切线空间法线;
[0159] 第一渲染子单元,用于利用所述切线空间法线以及所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0160] 考虑到网格细分模型仅是平面,法线为固定值,则需要对变形之后目标物体网格的法线进行重新计算,也即使用相对所述目标物体可变形区域的高度偏移纹理进行计算后,可以获得正确的切线空间法线,解决了现有技术中目标物体可变形区域内法线出现错误,导致光照结果出现错误,渲染效果不理想的问题,基于正确的目标物体可变形区域的法线,可以获得正确的可变形区域的光照结果,从而改善渲染效果,提高渲染获得的交互物体与目标物体的交互效果画面的真实性。
[0161] 作为另一种可实现方式,在利用硬件曲面细分模型和高度偏移纹理对目标物体的高度进行偏移,获得变形的目标物体网格的过程中,由于交互物体模型本身的影响,如模型包含锯齿等,利用该交互物体模型进行渲染生成深度纹理,并基于该深度纹理计算获得高度偏移纹理时,得到的高度偏移纹理数据中会包含部分突变数据,导致利用该高度偏移纹理对目标物体高度进行偏移之后,获得的变形之后的目标物体网格不够平滑,网格变形效果不理想,从而影响渲染效果。因此,为了提高交互效果的真实性,改善目标物体网格变形效果不理想的问题,在某些实施例中,第一渲染模块504可以包括:
[0162] 平滑单元,用于将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理;
[0163] 第二渲染单元,用于利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0164] 通过对高度偏移纹理进行平滑处理,获得平滑高度偏移纹理,减少了高度偏移纹理数据中的突变数据,从而利用该平滑高度偏移纹理对目标物体高度进行偏移时,可以获得较为平滑的变形之后的目标物体网格,解决了现有技术中网格变形存在锯齿,网格变形效果不理想的问题,改善了目标物体的渲染效果。以目标物体是雪地为例,获得较为平滑的变形之后的雪地网格,使得雪地交互效果画面更加平滑,提高雪地交互效果的真实性。
[0165] 可选地,平滑单元可以包括:
[0166] 处理子单元,用于对所述高度偏移纹理进行小半径的高斯模糊处理,获得平滑高度偏移纹理。
[0167] 在实际场景中,为了获得更加真实的目标物体交互效果画面,在某些实施例中,第二渲染单元可以包括:
[0168] 增强子单元,用于对所述平滑高度偏移纹理进行边缘增强,获得增强高度偏移纹理;
[0169] 第二渲染子单元,用于利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0170] 通过对平滑高度偏移纹理进行边缘增强,可以增加目标物体的边缘隆起效果,进一步增强目标物体与交互物体交互的真实感,实现更加真实的交互效果。以雪地为例,在实际场景中,真实雪地被雪地场景中的人物踩踏时,边缘会产生堆积效果,因此,对平滑高度偏移纹理进行边缘增强,可以获得雪地的边缘隆起效果,增强雪地与人物交互的真实感。
[0171] 在某些实施例中,第一渲染模块504可以包括:
[0172] 提取单元,用于提取所述高度偏移纹理中的边缘纹理;
[0173] 增强单元,用于增加所述边缘纹理的高度,获得增强高度偏移纹理;
[0174] 第三渲染单元,用于利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0175] 通过对高度偏移纹理进行边缘增强,增加目标物体的边缘隆起效果,提高渲染获得的目标物体交互效果画面的真实性,实现更加真实的交互效果。
[0176] 在某些实施例中,渲染模块可以包括:
[0177] 累计单元,用于将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理;
[0178] 第一渲染单元,用于利用当前帧的累积高度纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0179] 可选地,累积单元可以包括:
[0180] 累积子单元,用于将所述高度偏移纹理与前一帧的累积高度纹理进行比较,选取较小值作为当前帧的累积高度纹理。
[0181] 在实际应用中,可以首先创建两张用于累积高度偏移值的纹理,将两张纹理的索引进行交换,之后将两张纹理绑定至用于计算累积高度纹理的累积渲染器中。此时,累积渲染器的输入即为前一帧的累积高度纹理和当前帧的高度偏移纹理,将二者进行比较,选取比较结果的较小值进行输出,从而可以实现,对于同一位置,如果上一帧没有发生高度偏移,而当前帧发生了高度偏移,就将当前帧的高度偏移值输出保存;而如果上一帧发生了高度偏移,而当前帧没有发生高度偏移,就将上一帧的高度偏移值输出保存。
[0182] 对于第一帧累积之后的高度偏移纹理,则是指第一帧得到的高度偏移纹理,考虑到第一帧输入的上一帧累积的高度偏移纹理中没有任何高度偏移数据,则两者取最小值之后第一帧的高度偏移纹理会完全输出到累积的高度偏移纹理中。
[0183] 在实际场景中,在进行渲染获得目标物体与交互物体的交互效果画面的过程中,目标物体表面会发生形变,同时,也可以在特定情况下进行恢复。以目标物体是雪地,交互物体是处于雪地场景中的人为例,二者产生交互可以是该人物在雪地场景中站立,雪地会呈现出凹陷效果。此时,若该雪地场景处于下雪状态,则雪地的凹陷效果可以进行恢复,更加符合真实场景变化。
[0184] 因此,在某些实施例中,该装置还可以包括:
[0185] 恢复单元,用于将所述当前帧的累积高度纹理与预定高度值进行融合,获得恢复高度值;
[0186] 第五渲染单元,用于利用所述恢复高度值,渲染获得所述目标物体的形变恢复画面。
[0187] 利用当前帧累积之后的高度偏移纹理加上一个用户可控的高度值可以实现目标物体的形变恢复效果。以雪地为例,在实际场景中,若该雪地场景处于下雪状态,则雪地不会一直处于凹陷状态,雪地凹陷会逐渐恢复,此时,可以通过在获得累积高度纹理的基础上,添加用户可控的高度值的方法实现。具体可以是,根据用户添加的高度值,在累积渲染器中为每一帧累积高度纹理都结合该添加的高度值进行计算。其中,用户添加的高度值可以是大于0的数值,对每一帧累积高度纹理都增加该高度值,使得累积的高度偏移纹理中的数值逐渐全部变为1,也即雪地由完全凹陷的状态逐渐变为没有凹陷的状态,实现雪地恢复。
[0188] 通过对当前帧的累积高度纹理增加用户可控的高度值,实现雪地凹陷的逐渐恢复,得到更加真实的处于下雪状态时的雪地凹陷效果变化,更加符合真实场景变化。
[0189] 图5所述的渲染装置可以执行图1所示实施例所述的渲染方法,其实现原理和技术效果不再赘述。对于上述实施例中的渲染装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0190] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0191] 以上所描述的装置实施例仅仅是示意性的,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0192] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0193] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
[0194] 本发明实施例还包括在下列编号条款中规定的这些和其他方面:
[0195] 1、一种渲染方法,其特征在于,包括:
[0196] 收集视野内与目标物体产生交互的交互物体;
[0197] 从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;
[0198] 利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;
[0199] 利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0200] 2、根据条款1所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0201] 利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格;
[0202] 基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0203] 3、根据条款1所述的方法,其特征在于,所述利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理包括:
[0204] 利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0205] 4、根据条款2或3所述的方法,其特征在于,所述基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0206] 计算所述变形的目标物体网格的切线空间法线;
[0207] 利用所述切线空间法线以及所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0208] 5、根据条款1或3所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0209] 将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理;
[0210] 利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0211] 6、根据条款5所述的方法,其特征在于,所述将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理包括:
[0212] 对所述高度偏移纹理进行小半径的高斯模糊处理,获得平滑高度偏移纹理。
[0213] 7、根据条款5所述的方法,其特征在于,所述利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0214] 对所述平滑高度偏移纹理进行边缘增强,获得增强高度偏移纹理;
[0215] 利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0216] 8、根据条款1或3所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0217] 提取所述高度偏移纹理中的边缘纹理;
[0218] 增加所述边缘纹理的高度,获得增强高度偏移纹理;
[0219] 利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0220] 9、根据条款3所述的方法,其特征在于,所述利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理包括:
[0221] 确定所述目标物体的最大高度值;
[0222] 将所述最大高度值和所述最小高度值的差值作为所述目标物体可变形区域的厚度值;
[0223] 基于所述深度纹理,计算所述深度纹理与所述最小高度值的差值;
[0224] 将所述深度纹理与所述最小高度值的差值与所述目标物体可变形区域的厚度值进行求商计算,并将商值作为相对所述目标物体可变形区域的高度偏移纹理。
[0225] 10、根据条款1所述的方法,其特征在于,所述利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面包括:
[0226] 将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理;
[0227] 利用当前帧的累积高度纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0228] 11、根据条款10所述的方法,其特征在于,所述将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理包括:
[0229] 将所述高度偏移纹理与前一帧的累积高度纹理进行比较,选取较小值作为当前帧的累积高度纹理。
[0230] 12、根据条款11所述的方法,其特征在于,所述方法还包括:
[0231] 将所述当前帧的累积高度纹理与预定高度值进行融合,获得恢复高度值;
[0232] 利用所述恢复高度值,渲染获得所述目标物体的形变恢复画面。
[0233] 13、根据条款1所述的方法,其特征在于,所述从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理包括:
[0234] 利用正交相机,从所述目标物体底部自下而上对所述交互物体进行渲染,获得所述交互物体的深度纹理。
[0235] 14、根据条款1所述的方法,其特征在于,所述收集视野内与目标物体产生交互的交互物体包括:
[0236] 利用正交相机收集相机视口内的多个物体;
[0237] 从所述多个物体中确定配置有交互标签的交互物体。
[0238] 15、一种渲染装置,其特征在于,包括:
[0239] 收集模块,用于收集视野内与目标物体产生交互的交互物体;
[0240] 获取模块,用于从所述目标物体底部对所述交互物体进行拍摄,获得所述交互物体的深度纹理;
[0241] 裁剪模块,用于利用所述目标物体的高度图对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理;
[0242] 第一渲染模块,用于利用所述高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0243] 16、根据条款15所述的装置,其特征在于,所述第一渲染模块包括:
[0244] 第一获取单元,用于利用所述高度偏移纹理对所述目标物体进行高度偏移,获得变形的目标物体网格;
[0245] 第一渲染单元,用于基于所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0246] 17、根据条款15所述的装置,其特征在于,所述裁剪模块包括:
[0247] 裁剪单元,用于利用目标物体可变形区域的厚度值及所述目标物体高度图中配置的所述目标物体的最小高度值,对所述深度纹理进行裁剪,获得相对所述目标物体可变形区域的高度偏移纹理。
[0248] 18、根据条款16所述的装置,其特征在于,所述第一渲染单元包括:
[0249] 第一计算子单元,用于计算所述变形的目标物体网格的切线空间法线;
[0250] 第一渲染子单元,用于利用所述切线空间法线以及所述变形的目标物体网格,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0251] 19、根据条款15或17所述的装置,其特征在于,所述第一渲染模块包括:
[0252] 平滑单元,用于将所述高度偏移纹理进行平滑处理,获得平滑高度偏移纹理;
[0253] 第二渲染单元,用于利用所述平滑高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0254] 20、根据条款19所述的装置,其特征在于,所述平滑单元包括:
[0255] 处理子单元,用于对所述高度偏移纹理进行小半径的高斯模糊处理,获得平滑高度偏移纹理。
[0256] 21、根据条款19所述的装置,其特征在于,所述第二渲染单元包括:
[0257] 增强子单元,用于对所述平滑高度偏移纹理进行边缘增强,获得增强高度偏移纹理;
[0258] 第二渲染子单元,用于利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0259] 22、根据条款15或17所述的装置,其特征在于,所述第一渲染模块包括:
[0260] 提取单元,用于提取所述高度偏移纹理中的边缘纹理;
[0261] 增强单元,用于增加所述边缘纹理的高度,获得增强高度偏移纹理;
[0262] 第三渲染单元,用于利用所述增强高度偏移纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0263] 23、根据条款17所述的装置,其特征在于,所述裁剪单元包括:
[0264] 确定子单元,用于确定所述目标物体的最大高度值;
[0265] 第二计算子单元,用于将所述最大高度值和所述最小高度值的差值作为所述目标物体可变形区域的厚度值;
[0266] 第三计算子单元,用于基于所述深度纹理,计算所述深度纹理与所述最小高度值的差值;
[0267] 裁剪子单元,用于将所述深度纹理与所述最小高度值的差值与所述目标物体可变形区域的厚度值进行求商计算,并将商值作为相对所述目标物体可变形区域的高度偏移纹理。
[0268] 24、根据条款15所述的装置,其特征在于,所述渲染模块包括:
[0269] 累积单元,用于将所述高度偏移纹理与前一帧的累积高度纹理进行融合,获得当前帧的累积高度纹理;
[0270] 第四渲染单元,用于利用当前帧的累积高度纹理,渲染获得所述交互物体与所述目标物体的交互效果画面。
[0271] 25、根据条款24所述的装置,其特征在于,所述累积单元包括:
[0272] 累积子单元,用于将所述高度偏移纹理与前一帧的累积高度纹理进行比较,选取较小值作为当前帧的累积高度纹理。
[0273] 26、根据条款25所述的装置,其特征在于,所述装置还包括:
[0274] 恢复单元,用于将所述当前帧的累积高度纹理与预定高度值进行融合,获得恢复高度值;
[0275] 第五渲染单元,用于利用所述恢复高度值,渲染获得所述目标物体的形变恢复画面。
[0276] 27、根据条款15所述的装置,其特征在于,所述获取模块包括:
[0277] 第二获取单元,用于利用正交相机,从所述目标物体底部自下而上对所述交互物体进行渲染,获得所述交互物体的深度纹理。
[0278] 28、根据条款15所述的装置,其特征在于,所述收集模块包括:
[0279] 收集单元,用于利用正交相机收集相机视口内的多个物体;
[0280] 确定单元,用于从所述多个物体中确定配置有交互标签的交互物体。