虚拟模型渲染方法及装置与流程

文档序号:20569023发布日期:2020-04-29 00:39阅读:193来源:国知局
虚拟模型渲染方法及装置与流程

本发明涉及模型渲染技术领域,尤其是涉及一种虚拟模型渲染方法及装置。



背景技术:

目前,在对画面中模型的平面进行渲染的过程中,由于人的视线角度的原因,模型中有很多平面被模型遮挡,但是这种被模型遮挡的平面也是要提交渲染的,最终在图形处理器运行时才被剔除掉,这使得需要渲染的内容较多,导致渲染帧率大大降低。



技术实现要素:

有鉴于此,本发明的目的在于提供一种虚拟模型渲染方法及装置,以改善渲染帧率大大降低的技术问题。

第一方面,本发明实施例提供了一种虚拟模型渲染方法,所述方法包括以下步骤:

如果监测到当前游戏场景中出现虚拟模型,获取所述虚拟模型的表面模型库,其中,所述表面模型库中包括多个所述虚拟模型的子模型,所述子模型包括对所述虚拟模型的外表面拆分后得到的至少一个平面子模型和非平面子模型;

提取所述表面模型库中的平面子模型,判断所述平面子模型是否满足预先设置的可见性条件;

如果是,对满足可见性条件的所述平面子模型进行渲染。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述判断所述平面子模型是否满足预先设置的可见性条件的步骤包括:

获取所述平面子模型的方向信息;

根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件。

结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方向信息包括所述平面子模型的面法线向量和所述平面子模型对应平面上的任一点的空间坐标;

所述根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件的步骤包括:

将所述面法线向量和所述任一点的空间坐标转换到所述当前显示界面对应的世界空间坐标系中,生成所述平面子模型在所述世界空间坐标系中的第一面法线向量和第一点坐标;

根据所述第一面法线向量和第一点坐标判断所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角是否大于90度;

如果是,确定所述平面子模型与所述当前显示界面的所述摄像机满足预先设置的所述可见性条件。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据所述第一面法线向量和第一点坐标判断所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角是否大于90度的步骤包括:

获取所述世界空间坐标系下所述当前显示界面的所述摄像机的空间坐标,标记为第二点坐标,并计算所述第二点坐标到所述第一点坐标的方向向量;

计算所述第一面法线向量与所述方向向量的点乘值;

如果所述点乘值小于0时,确定所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角大于90度。

第二方面,本发明实施例还提供一种虚拟模型渲染装置,所述装置包括:

表面模型库获取模块,用于如果监测到当前游戏场景中出现虚拟模型,获取所述虚拟模型的表面模型库,其中,所述表面模型库中包括多个所述虚拟模型的子模型,所述子模型包括对所述虚拟模型的外表面拆分后得到的至少一个平面子模型和非平面子模型;

判断模块,用于提取所述表面模型库中的平面子模型,判断所述平面子模型是否满足预先设置的可见性条件;

渲染模块,用于如果是,对满足可见性条件的所述平面子模型进行渲染。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述判断模块用于:

获取所述平面子模型的方向信息;

根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件。

结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述方向信息包括所述平面子模型的面法线向量和所述平面子模型对应平面上的任一点的空间坐标;

所述判断模块还用于:

将所述面法线向量和所述任一点的空间坐标转换到所述当前显示界面对应的世界空间坐标系中,生成所述平面子模型在所述世界空间坐标系中的第一面法线向量和第一点坐标;

根据所述第一面法线向量和第一点坐标判断所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角是否大于90度;

如果是,确定所述平面子模型与所述当前显示界面的所述摄像机满足预先设置的所述可见性条件。

结合第二方面的第二种可能的实施方式,本发明实施例提供了第三方面的第二种可能的实施方式,其中,所述判断模块还用于:

获取所述世界空间坐标系下所述当前显示界面的所述摄像机的空间坐标,标记为第二点坐标,并计算所述第二点坐标到所述第一点坐标的方向向量;

计算所述第一面法线向量与所述方向向量的点乘值;

如果所述点乘值小于0时,确定所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角大于90度。

第三方面,本发明实施例还提供一种服务器,所述服务器包括:处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上文所述的方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上文所述的方法。

本发明实施例带来了以下有益效果:本发明实施例提供的一种虚拟模型渲染方法及装置,通过获取虚拟模型的表面模型库,判断表面模型库中的平面子模型是否满足预先设置的可见性条件,并对满足可见性条件的平面子模型进行渲染。本发明实施例的虚拟模型渲染方法及装置通过判断平面子模型是否满足可见性条件,并仅对满足该可见性条件的平面子模型进行渲染,减少了需要渲染的平面子模型的数量,达到了提高渲染帧率的技术效果。

本发明的其他特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构中实现和获得。

为使本发明的上述目的、特征和优点能够更加明显易懂,下文特举优选实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明的具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种虚拟模型渲染方法的流程图;

图2为本发明实施例提供的另一种虚拟模型渲染方法的流程图;

图3为本发明实施例提供的一种虚拟模型渲染装置的结构示意图;

图4为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

现如今,三维(threedimensions(3d))游戏作为一种画面效果逼真、人物刻画精细的游戏形式,越来越受到游戏玩家的追捧。在三维游戏中,经常会有对游戏画面中的模型进行渲染的操作,在该渲染过程中,模型中除了有可见平面之外,还有很多平面在游戏玩家的视野中是不可见的,但是这种不可见平面也是要提交渲染的,最终在图形处理器运行时才被剔除掉,使得需要渲染的平面的数量增多,这导致渲染帧率大大降低。基于此,本发明实施例提供了一种虚拟模型渲染方法及装置,以缓解上述问题。

为了便于对本实施例进行理解,首先对本发明实施例所公开的一种虚拟模型渲染方法进行详细介绍。

在一种可能的实施方式中,本发明提供了一种虚拟模型渲染方法。如图1所示为一种虚拟模型渲染方法的流程图,该方法包括以下步骤:

步骤s102:如果监测到当前游戏场景中出现虚拟模型,获取所述虚拟模型的表面模型库。

其中,表面模型库中包括多个虚拟模型的子模型,该子模型包括对虚拟模型的外表面拆分后得到的至少一个平面子模型和非平面子模型。

需要进行说明的是,该非平面子模型的个数可为0个,也可为至少一个。

步骤s104:提取所述表面模型库中的平面子模型,判断所述平面子模型是否满足预先设置的可见性条件。

需要进行说明的是,本发明实施例仅需要获取虚拟模型的表面模型库中的平面子模型,并对平面子模型是否满足预先设置的可见性条件进行判断,而对于非平面子模型例如曲面不进行提取。

步骤s106:如果是,对满足可见性条件的所述平面子模型进行渲染。

本发明实施例带来了以下有益效果:本发明实施例通过一种虚拟模型渲染方法,通过获取虚拟模型的表面模型库,判断表面模型库中的平面子模型是否满足预先设置的可见性条件,并对满足可见性条件的平面子模型进行渲染。本发明实施例的虚拟模型渲染方法及装置通过判断平面子模型是否满足可见性条件,并仅对满足该可见性条件的平面子模型进行渲染,减少了需要渲染的平面子模型的数量,达到了提高渲染帧率的技术效果。

在实际使用时,在判断平面子模型是否满足预先设置的可见性条件的过程中,需要首先平面子模型的方向信息,然后再进行判断,因此,为了针对判断平面子模型是否满足预先设置的可见性条件的步骤进行更详细的说明,本发明实施例在图2中示出了另一种虚拟模型渲染方法的流程图,该方法包括以下步骤:

步骤s202:如果监测到当前游戏场景中出现虚拟模型,获取所述虚拟模型的表面模型库。

步骤s204:提取所述表面模型库中的平面子模型。

步骤s206:获取所述平面子模型的方向信息。

其中,所述方向信息包括所述平面子模型的面法线向量和所述平面子模型对应平面上的任一点的空间坐标。

进一步地,该平面子模型的面法线向量能够通过以下过程来获取:选取平面子模型上的不共线的两个向量,将面法线向量设定未知量并分别与不共线的两个向量分别进行叉乘运算组建方程组,求解方程组便可得到该平面子模型的面法线向量。

步骤s208:根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件。

具体地,根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件的过程通过以下步骤来实现:

(1)将所述面法线向量和所述任一点的空间坐标转换到所述当前显示界面对应的世界空间坐标系中,生成所述平面子模型在所述世界空间坐标系中的第一面法线向量和第一点坐标;

(2)根据所述第一面法线向量和第一点坐标判断所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角是否大于90度;以及,

(3)如果是,确定所述平面子模型与所述当前显示界面的所述摄像机满足预先设置的所述可见性条件。

此时,该平面子模型为可见的。

同时,如果否,即当所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量小于90度,此时,该平面子模型为不可见的。

其中,上述步骤(2)的过程通过以下步骤来实现:

1)获取所述世界空间坐标系下所述当前显示界面的所述摄像机的空间坐标,标记为第二点坐标,并计算所述第二点坐标到所述第一点坐标的方向向量;

其中,利用第二点坐标的各个分量(x2分量、y2分量、z2分量)减去第一点坐标的对应分量(x1分量、y1分量、z1分量),便可得到第二点坐标到第一点坐标的方向向量。

2)计算所述第一面法线向量与所述方向向量的点乘值;以及,

其中,将第一面法线向量与该方向向量的对应分量相乘后求和,便可计算出第一面法线向量与该方向向量的点乘值。

3)如果所述点乘值小于0时,确定所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角大于90度。

此时,该平面子模型为可见的。

其中,该确定过程是根据点乘运算法则来判断的,同时,根据该点乘运算规则,如果点乘值小大于0时,确定所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量小于90度,此时,该平面子模型为不可见的。

步骤s210:如果是,对满足可见性条件的所述平面子模型进行渲染。

综上所述,本发明的虚拟模型渲染方法通过获取虚拟模型的表面模型库,判断表面模型库中的平面子模型是否满足预先设置的可见性条件,并对满足可见性条件的平面子模型进行渲染。本发明实施例的虚拟模型渲染方法及装置通过判断平面子模型是否满足可见性条件,并仅对满足该可见性条件的平面子模型进行渲染,减少了需要渲染的平面子模型的数量,达到了提高渲染帧率的技术效果。

在另一种可能的实施方式中,对应于上述实施方式提供的虚拟模型渲染方法,本发明实施例还提供了一种虚拟模型渲染装置,图3为本发明实施例提供的一种虚拟模型渲染装置的结构示意图。如图3所示,该装置包括:

表面模型库获取模块301,用于如果监测到当前游戏场景中出现虚拟模型,获取所述虚拟模型的表面模型库,其中,所述表面模型库中包括多个所述虚拟模型的子模型,所述子模型包括对所述虚拟模型的外表面拆分后得到的至少一个平面子模型和非平面子模型;

判断模块302,用于提取所述表面模型库中的平面子模型,判断所述平面子模型是否满足预先设置的可见性条件;

渲染模块303,用于如果是,对满足可见性条件的所述平面子模型进行渲染。

在实际使用时,上述判断模块302用于:

获取所述平面子模型的方向信息;

根据所述方向信息判断所述平面子模型与当前显示界面的摄像机是否满足预先设置的所述可见性条件。

在实际使用时,所述方向信息包括所述平面子模型的面法线向量和所述平面子模型对应平面上的任一点的空间坐标。

上述判断模块302还用于:

将所述面法线向量和所述任一点的空间坐标转换到所述当前显示界面对应的世界空间坐标系中,生成所述平面子模型在所述世界空间坐标系中的第一面法线向量和第一点坐标;

根据所述第一面法线向量和第一点坐标判断所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角是否大于90度;

如果是,确定所述平面子模型与所述当前显示界面的所述摄像机满足预先设置的所述可见性条件。

在实际使用时,上述判断模块302还用于:

获取所述世界空间坐标系下所述当前显示界面的所述摄像机的空间坐标,标记为第二点坐标,并计算所述第二点坐标到所述第一点坐标的方向向量;

计算所述第一面法线向量与所述方向向量的点乘值;

如果所述点乘值小于0时,确定所述平面子模型的所述第一面法线向量与所述当前显示界面的所述摄像机到第一点坐标的向量的向量夹角大于90度。

在又一种可能的实施方式中,本发明实施例还提供了一种服务器,图4示出了本发明实施例提供的一种服务器的结构示意图,参见图4,该服务器包括:处理器400、存储器401、总线402和通信接口403,该处理器400、存储器401、通信接口403和通过总线402连接;处理器400用于执行存储器401中存储的可执行模块,例如计算机程序。

其中,存储器401存储有能够被处理器400执行的计算机可执行指令,处理器400执行计算机可执行指令以实现上文所述的方法。

进一步地,存储器401可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线402可以是isa总线、pci总线或eisa总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器401用于存储程序,处理器400在接收到程序执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的虚拟模型渲染方法可以应用于处理器400中,或者由处理器400实现。

此外,处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。

在又一种可能的实施方式中,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上文所述的方法。

本发明实施例提供的虚拟模型渲染装置,与上述实施例提供的虚拟模型渲染方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例所提供的虚拟模型渲染方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1