一种渲染方法及装置制造方法及图纸

技术编号:9739073 阅读:134 留言:0更新日期:2014-03-06 19:24
本发明专利技术的实施方式提供了一种渲染方法。例如,该方法可以包括:接收至少一个客户端发送的三维(3D)渲染指示;获取所述3D渲染指示所针对的需要被渲染的数据;调用3D渲染引擎对所述数据执行3D渲染得到渲染结果;向相应客户端返回所述渲染结果。从而可以避免渲染引擎的计算资源浪费的问题,提高渲染引擎的计算资源的利用率。此外,本发明专利技术的实施方式还提供了一种渲染装置。

【技术实现步骤摘要】
一种渲染方法及装置
本专利技术的实施方式涉及计算机图形领域,更具体地,本专利技术的实施方式涉及一种渲染方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在早期的游戏中,主要是2D(二维)游戏,因此渲染主要是2D(二维)渲染。随着游戏技术的发展,后来出现了3D(三维)游戏,因此,也随之出现了2D/3D混合游戏,以及2D/3D混合渲染的客户端。为了能够支持3D渲染,2D/3D混合渲染的客户端会相应开启一个3D渲染引擎以执行3D渲染。
技术实现思路
但是,在2D/3D混合渲染的客户端中,大多数客户端的3D渲染的渲染量并不大,而每个2D/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示意性地示出了根据本专利技术实施方式的渲染指示对应的数据集的示意图;图6示意性地示出了根据本专利技术实施方式的渲染装置的结构示意图;在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本领域技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。根据本专利技术的实施方式,提出了一种渲染方法及装置。在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本专利技术的若干代表性实施方式,详细阐释本专利技术的原理和精神。专利技术概述本专利技术人发现以单独的进程接收至少一个客户端的3D渲染指示,调用一个公共3D渲染引擎集中对所接收的各个客户端的3D渲染指示所针对的数据执行3D渲染,各个客户端则无需都开启3D渲染引擎去分别处理少量的渲染任务,可以避免渲染引擎的计算资源浪费的问题。在介绍了本专利技术的基本原理之后,下面具体介绍本专利技术的各种非限制性实施方式。应用场景总览首先参考图1,例如,在如图1所示的客户端101、102等客户端中分别存在少量需要被执行3D渲染的数据。其中,客户端101、102例如是安装于同一台设备,例如个人计算机、智能手机等上的同一款游戏的客户端。如本领域的技术人员可以理解的,游戏软件通常支持客户端多开。根据本专利技术实施例,中心渲染进程103可以接收客户端101、102等客户端的3D渲染指示,为这些客户端集中处理3D渲染任务,各个客户端无需开启各自3D引擎,从而提高渲染引擎计算资源的利用率。其中,在打开客户端时,会检测环境中是否存在中心渲染进程。当检测到不存在中心渲染进程时,会同时打开中心渲染进程;而当检测到已经存在中心渲染进程时,就不再打开中心渲染进程。更具体地,在一般情况下,在打开第一个客户端时,会同时打开中心渲染进程,该中心渲染进程一直保存活跃,直到关闭了所有打开的客户端为止。示例性方法之一下面结合图1的应用场景,参考图2来描述根据本专利技术示例性实施方式的渲染方法。需要注意的是,上述应用场景仅是为了便于理解本专利技术的精神和原理而示出,本专利技术的实施方式在此方面不受任何限制。相反,本专利技术的实施方式可以应用于适用的任何场景。例如,参见图2,为本专利技术实施例提供的一种渲染方法流程示意图。如图所示,一种可能的实施方式可以包括:S210、接收至少一个客户端发送的三维(3D)渲染指示。可以理解的是,本专利技术实施例中接收的3D渲染指示可以携带需要被渲染的数据,也可以不携带需要被渲染的数据。在不携带需要被渲染的数据的情况下,该3D渲染指示应包含能够确定需要被渲染的数据的指示信息。例如,3D渲染指示可以包含需要被渲染的数据的存储地址,或者,可以包含需要被渲染的数据的标识等。其中,该所述标识可以对应例如mesh(网格)、挂接关系、贴图、动作名称、渲染所需帧数等具体需要被渲染的数据。S220、获取所述3D渲染指示所针对的需要被渲染的数据。例如,在所述3D渲染指示携带需要被渲染的数据的情况下,可以通过解析3D渲染指示,从中获取需要被渲染的数据;或者,在所述3D渲染指示包含需要被渲染的数据的存储地址的情况下,可以通过解析3D渲染指示,从中获取需要被渲染的数据的存储地址,从存储地址中读取出需要被渲染的数据;或者,在所述3D渲染指示包含需要被渲染的数据的标识的情况下,在能够执行渲染时,可以通过向客户端发送携带所述标识的反馈请求获取客户端根据反馈请求返回的需要被渲染的数据。需要说明的是,上述3D渲染指示以及获取需要被渲染的数据的具体实现方式均为示意性说明,在实际应用中可以有其他任何可能的实现方式,在本专利技术中并不进行限制。S230、调用3D渲染引擎对所述数据执行3D渲染得到渲染结果。例如,可以由中心渲染进程直接调用3D渲染引擎对所述数据执行3D渲染得到渲染结果,或者,也可以由中心渲染进程为所述数据创建渲染线程,将所述数据提交给所述渲染线程以便所述渲染线程调用3D渲染引擎对所述数据执行3D渲染。在创建渲染线程的实现方式本文档来自技高网...
一种渲染方法及装置

【技术保护点】
一种渲染方法,包括:接收至少一个客户端发送的三维(3D)渲染指示;获取所述3D渲染指示所针对的需要被渲染的数据;调用3D渲染引擎对所述数据执行3D渲染得到渲染结果;向相应客户端返回所述渲染结果。

【技术特征摘要】
1.一种渲染方法,由中心渲染进程执行,所述中心渲染进程随着第一个客户端的打开而打开,用于处理所有客户端的三维(3D)渲染任务,所述中心渲染进程随着所有客户端的关闭而关闭,各个客户端位于同一设备上并由所述中心渲染进程集中执行3D渲染,所述方法包括:接收至少一个客户端发送的3D渲染指示;获取所述3D渲染指示所针对的需要被渲染的数据;调用3D渲染引擎对所述数据执行3D渲染得到渲染结果;向相应客户端返回所述渲染结果。2.根据权利要求1所述的方法,其中,所述调用3D渲染引擎对所述数据执行3D渲染包括:为所述数据创建渲染线程,将所述数据提交给所述渲染线程以便所述渲染线程调用3D渲染引擎对所述数据执行3D渲染。3.根据权利要求1所述的方法,其中,所述3D渲染指示由所述至少一个客户端按照预设规则组装生成,包含所述至少一个客户端将3D对象进行结构分解得到的一个或多个需要被执行3D渲染的数据集的标识。4.根据权利要求3所述的方法,还包括:在所述接收至少一个客户端发送的3D渲染指示之后,将所述3D渲染指示放入渲染队列。5.根据权利要求4所述的方法,其中所述获取3D渲染指示所针对的需要被渲染的数据包括:当所述3D渲染指示在渲染队列中的位置达到允许被渲染的位置时,从所述渲染队列中读取出所述3D渲染指示;向相应客户端发送携带所述3D渲染指示的反馈请求;接收相应客户端根据所述反馈请求返回的与所述3D渲染指示包含的标识对应的数据集。6.根据权利要求1所述的方法,还包括:将所述渲染结果放入缓存以便当再次接收到针对所述数据的3D渲染指示时,从所述缓存中读取出所述渲染结果。7.一种渲染装置,用于执行中心渲染进程,所述中心渲染进程随着第一个客户端的打...

【专利技术属性】
技术研发人员:吴国瑞吴海育万晋森张志豪曾芳文
申请(专利权)人:广州博冠信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1