一种跨渲染引擎的中间装置、数据处理方法及存储介质制造方法及图纸

技术编号:32346535 阅读:15 留言:0更新日期:2022-02-20 02:05
本申请实施例提供一种跨渲染引擎的中间装置、数据处理方法及存储介质,涉及计算机技术领域。该装置包括至少一个应用层,用于接收业务层发送的待渲染数据,并将所述待渲染数据转化成项目适配的逻辑数据结构;中间层,用于将所述应用层的数据从逻辑数据结构转变为链式列表;至少一个实现层,用于根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染,在业务模块和渲染引擎之间建立中间接口,能够确保引擎的快速、方便地切换,解决现有方法引擎切换困难的问题。难的问题。难的问题。

【技术实现步骤摘要】
一种跨渲染引擎的中间装置、数据处理方法及存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种跨渲染引擎的中间装置、数据处理方法及存储介质。

技术介绍

[0002]随着渲染技术的发展,市场上已经出现了越来越多的渲染引擎,如Unity、UE、Cocos等,每一款引擎都能够渲染出非常优秀的画面,而且各个引擎还有各自的偏重和重点。另外一方面,云引擎也在积极的发展当中,各大引擎厂商也都在积极的部署自己的云端平台。
[0003]一般会在立项初期确定使用的引擎,且具有独立的接口,当将业务从引擎A迅速的切换到引擎B的时候,大量的业务代码与引擎强耦合在一起,而没有一个明显的边界,不适合进行扩展和引擎的切换验证。

技术实现思路

[0004]本申请实施例的目的在于提供一种跨渲染引擎的中间装置、数据处理方法及存储介质,在业务模块和渲染引擎之间建立中间接口,能够确保引擎的快速、方便地切换,解决现有方法引擎切换困难的问题。
[0005]本申请实施例提供了一种跨渲染引擎的中间装置,所述装置包括:
[0006]至少一个应用层,用于接收业务层发送的待渲染数据,并将所述待渲染数据转化成项目适配的逻辑数据结构;
[0007]中间层,用于将所述应用层的数据从逻辑数据结构结构转变为链式列表;
[0008]至少一个实现层,用于根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染。
[0009]在上述实现过程中,通过设置中间装置,能够对接业务层和各个渲染引擎,可切换和快速对接各种引擎,保证了业务侧的稳定,解决现有方法引擎切换困难的问题。
[0010]进一步地,所述中间层包括:
[0011]结构,用于管理场景,所述场景包括相机和渲染对象;
[0012]资源,包括模型、材质和纹理,所述渲染对象通过引用对应的资源以生成可绘制的渲染对象。
[0013]在上述实现过程中,中间层中的结构作为负责管理场景的对象,全局唯一,渲染对象通过引用资源来形成可绘制的渲染对象。
[0014]进一步地,所述逻辑数据结构包括树形结构,所述应用层用于:
[0015]在node节点上标识三维空间中的位置信息;
[0016]在mesh节点上挂接模型,所述模型包括顶点数据、索引数据和纹理数据以及对应的数据类型。
[0017]在上述实现过程中,作为一种实施方式,可通过树形结构来组织渲染场景,通过数
据的mesh节点对应的顶点数据、索引数据和纹理数据和数据类型,通过传递和分发各个数据的数据类型,可做到多引擎、多平台的分发。
[0018]进一步地,所述实现层用于:
[0019]将所述链式列表中的数据的数据类型和数据顺序进行转化和处理,以适应webgl的数据要求,并将处理后的数据发送至webgl,所述数据类型包括数组类型、Float类型和Int类型。
[0020]在上述实现过程中,实现层用于将从中间层得到的数据再次组织,根据不同引擎的特点,转化成符合这些引擎或平台的形式。
[0021]进一步地,所述实现层用于:
[0022]将所述链式列表中的数据的数据类型转化为通信协议要求的形式,并将转化后的数据通过所述通信协议发送至云端进行云渲染。
[0023]在上述实现过程中,通信协议约定了mesh数据如何传输到服务器,实现层可将数据转化成通信协议要求的形式。
[0024]本申请实施例还提供一种跨渲染引擎的数据处理方法,所述方法包括;
[0025]接收业务层发送的待渲染数据,并将所述待渲染数据转化成项目适配的逻辑数据结构;
[0026]将所述待渲染数据从逻辑数据结构转变为链式列表;
[0027]根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染。
[0028]在上述实现过程中,通过设置中间装置,能够对接业务层和各个渲染引擎,可切换和快速对接各种引擎,保证了业务侧的稳定,解决现有方法引擎切换困难的问题。
[0029]进一步地,所述逻辑数据结构包括树形结构,所述树形结构包括根节点、node节点和mesh节点,所述将所述待渲染数据转化成树形结构,包括:
[0030]在node节点上标识三维空间中的位置信息;
[0031]在mesh节点上挂接模型,所述模型包括顶点数据、索引数据和纹理数据以及对应的数据类型。
[0032]在上述实现过程中,作为一种实施方式,可通过树形结构来组织渲染场景,通过数据的mesh节点对应的顶点数据、索引数据和纹理数据和数据类型,通过传递和分发各个数据的数据类型,可做到多引擎、多平台的分发。
[0033]进一步地,所述根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染,包括:
[0034]将所述链式列表中的数据的数据类型和数据顺序进行转化和处理,以适应webgl的数据要求,并将处理后的数据发送至webgl,所述数据类型包括数组类型、Float类型和Int类型。
[0035]在上述实现过程中,实现层用于将从中间层得到的数据再次组织,根据不同引擎的特点,转化成符合这些引擎或平台的形式。
[0036]进一步地,所述根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染,包括:
[0037]将所述链式列表中的数据的数据类型转化为通信协议要求的形式,并将转化后的
数据通过所述通信协议发送至云端进行云渲染。
[0038]在上述实现过程中,通信协议约定了mesh数据如何传输到服务器,实现层可将数据转化成通信协议要求的形式。
[0039]本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的跨渲染引擎的数据处理方法。
附图说明
[0040]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041]图1为本申请实施例提供的一种跨渲染引擎的中间装置的结构框图;
[0042]图2为本申请实施例提供的渲染引擎渲染时所需要的数据示意图;
[0043]图3为本申请实施例提供的现有的业务模块与引擎的关系示意图;
[0044]图4为本申请实施例提供的中间层的结构示意图;
[0045]图5为本申请实施例提供的树形结构示意图;
[0046]图6为本申请实施例提供的模型结构示意图;
[0047]图7为本申请实施例提供的跨渲染引擎的数据处理方法的流程图。
具体实施方式
[0048]下面将结合本申请实施例中的附图,对本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨渲染引擎的中间装置,其特征在于,所述装置包括:至少一个应用层,用于接收业务层发送的待渲染数据,并将所述待渲染数据转化成项目适配的逻辑数据结构;中间层,用于将所述应用层的数据从逻辑数据结构转变为链式列表;至少一个实现层,用于根据渲染引擎的数据类型,对所述链式列表中的数据进行相应处理,并发送至所述渲染引擎进行渲染。2.根据权利要求1所述的跨渲染引擎的中间装置,其特征在于,所述中间层包括:结构,用于管理场景,所述场景包括相机和渲染对象;资源,包括模型、材质和纹理,所述渲染对象通过引用对应的资源以生成可绘制的渲染对象。3.根据权利要求1所述的跨渲染引擎的中间装置,其特征在于,所述逻辑数据结构包括树形结构,所述应用层用于:在node节点上标识三维空间中的位置信息;在mesh节点上挂接模型,所述模型包括顶点数据、索引数据和纹理数据以及对应的数据类型。4.根据权利要求1所述的跨渲染引擎的中间装置,其特征在于,所述实现层用于:将所述链式列表中的数据的数据类型和数据顺序进行转化和处理,以适应webgl的数据要求,并将处理后的数据发送至webgl,所述数据类型包括数组类型、Float类型和Int类型。5.根据权利要求1所述的跨渲染引擎的中间装置,其特征在于,所述实现层用于:将所述链式列表中的数据的数据类型转化为通信协议要求的形式,并将转化后的数据通过所述通信协议发送至云端进行云渲染。6.一种跨渲染引擎的数据处理方法,其特征在于,所述方法包括;接收业务层发送的待渲染数据,并将所述待渲染...

【专利技术属性】
技术研发人员:邱辉平孙中伟
申请(专利权)人:广东三维家信息科技有限公司
类型:发明
国别省市:

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

1