一种基于元数据驱动的跨平台三维渲染引擎架构及方法与流程
本发明涉及三维渲染,具体地说,是涉及一种基于元数据驱动的跨平台三维渲染引擎架构及方法。
背景技术:
1、在数字孪生、工业互联网快速发展的背景下,三维可视化技术已成为工业监控、在线交互、虚拟仿真等场景的核心基础能力。当前,三维场景的应用发布终端覆盖pc端、移动端、web端等多类平台,对三维渲染引擎的跨平台能力、轻量级部署能力、渲染表现一致性提出了极高的要求。
2、目前,现有三维渲染引擎技术主要分为两类,且均存在无法解决的技术缺陷,无法满足多终端轻量化统一渲染的需求:
3、第一类为重型商业渲染引擎,以unity、unreal engine为代表,具备完善的渲染能力与跨平台发布功能,但存在显著缺陷:引擎包体庞大,基础发布包体的存储容量≥200mb,无法适配web端轻量化加载与低端移动端部署需求;引擎冗余度高,大量非必要功能会被强制打包,运行时内存占用高,在中低端设备上易出现卡顿、闪退;跨平台视觉一致性校准难度大,不同平台需要单独调整材质、光照参数,无法实现一套配置多端无差异表现。
4、第二类为轻量级专项渲染引擎,以three.js、babylon.js(web端专项)、openscenegraph(pc端专项)、cocos3d(移动端游戏专项)为代表,具备轻量化优势,但存在核心短板:跨平台能力弱,大多针对单一终端设计,不同平台需要单独编写渲染逻辑代码,开发效率低;缺乏标准化的全链路渲染抽象,渲染逻辑与平台api深度耦合,无法实现一套代码多端运行;材质、光照、管线的跨平台适配能力不足,不同终端的渲染视觉表现差异大,无法满足工业可视化等对精度要求高的场景。
5、现有跨平台渲染相关技术大多聚焦于渲染api的封装适配、单一平台的渲染性能优化,例如:部分技术仅实现了不同渲染api的统一接口封装,未解决渲染逻辑与平台解耦的核心问题;部分技术针对web端3d渲染进行性能优化,不具备全平台适配能力;部分技术采用元数据实现材质或场景的配置化,未实现渲染全链路的元数据抽象,无法从根源上解决跨平台渲染逻辑与表现的统一性问题。
6、上述缺陷,亟待解决。
技术实现思路
1、为了克服现有三维渲染引擎技术中无法兼顾轻量级体量、跨平台适配能力、渲染逻辑与视觉表现统一性的问题,本发明提供了一种基于元数据驱动的跨平台三维渲染引擎架构及方法,通过元数据定义层、引擎内核层、跨平台渲染适配层、功能插件层及应用接入层之间的联动配合,实现一套元数据定义,在pc、移动端、web端等各平台实现无差异的三维场景渲染,同时大幅降低引擎资源占用,提升跨平台三维应用的开发效率。
2、本发明技术方案如下所述:
3、第一方面,本发明提供一种基于元数据驱动的跨平台三维渲染引擎架构,包括:
4、元数据定义层,用于构建涵盖场景描述元数据、材质定义元数据、渲染管线配置元数据、平台适配规则元数据的四层标准化元数据模型;
5、引擎内核层,用于执行元数据的解析校验、渲染指令的调度分发、三维资源的生命周期管理;
6、跨平台渲染适配层,用于根据所述引擎内核层分发的渲染指令,将所述场景描述元数据、所述材质定义元数据、所述渲染管线配置元数据动态编译为对应平台的原生渲染指令,同时基于所述平台适配规则元数据进行平台适配与渲染表现校准;
7、功能插件层,用于基于所述元数据定义层的标准化schema封装功能插件;
8、应用接入层,用于提供统一的跨平台应用程序接口,对接上层业务应用,完成三维场景的加载、交互与渲染输出。
9、作为本发明的一个优选方案,所述四层标准化元数据模型的所有元数据均通过json schema规范进行标准化定义。
10、作为本发明的一个优选方案,所述四层标准化元数据模型,包括:
11、场景描述元数据,用于定义三维场景内的模型节点、变换关系、光照相机、交互逻辑的全要素属性;
12、材质定义元数据,用于定义pbr材质、自定义着色器的参数与计算逻辑;
13、渲染管线配置元数据,用于定义前向渲染、延迟渲染、后处理特效的渲染流程与执行顺序;
14、平台适配规则元数据,用于定义不同平台的渲染能力阈值、资源压缩格式、色彩空间映射、性能降级策略。
15、作为本发明的一个优选方案,所述引擎内核层包括:
16、元数据解析模块,用于对所述四层标准化元数据模型的元数据进行语法校验、语义解析、依赖关系分析;
17、渲染指令调度模块,用于基于元数据定义的渲染流程,构建多线程渲染指令队列,实现渲染任务的异步并行调度;
18、资源管理模块,用于执行三维模型、纹理、材质及管线资源的生命周期管理。
19、作为本发明的一个优选方案,所述跨平台渲染适配层,包括
20、平台适配核心模块,用于封装各平台的原生渲染api,提供统一的渲染能力抽象接口;
21、渲染指令编译模块,用于将所述场景描述元数据、所述材质定义元数据、所述渲染管线配置元数据动态编译为对应平台的原生渲染指令;
22、视觉一致性校准模块,用于基于所述平台适配规则元数据,自动完成不同平台的伽马校正、色域映射、光照精度适配、纹理压缩格式转码。
23、作为本发明的一个优选方案,所述功能插件层的功能插件,包括物理引擎插件、骨骼动画插件、粒子特效插件、交互事件插件、数字孪生数据对接插件。
24、作为本发明的一个优选方案,所述功能插件层通过所述引擎内核层的资源管理模块按需加载封装的所述功能插件。
25、作为本发明的一个优选方案,所述应用接入层提供统一的声明式api与命令式api;
26、所述声明式api,用于通过元数据配置文件驱动三维场景的加载与渲染;
27、所述命令式api,用于提供场景节点操作、材质参数修改、渲染管线控制的全量接口。
28、作为本发明的一个优选方案,还包括:
29、离线元数据预编译工具,用于在应用发布前,将所述场景描述元数据、所述材质定义元数据及所述渲染管线配置元数据预编译为平台无关的二进制中间格式。
30、第二方面,本发明提供一种基于元数据驱动的跨平台三维渲染引擎实现方法,应用于上述任一方案的基于元数据驱动的跨平台三维渲染引擎架构,包括以下步骤:
31、通过元数据定义层完成三维场景、材质、渲染管线、平台适配规则的元数据定义,生成符合json schema规范的元数据配置文件;
32、应用启动时,引擎内核层的元数据解析模块加载并解析所述元数据配置文件,所述引擎内核层的资源管理模块基于元数据依赖关系,按需加载对应的三维资源与功能插件;
33、所述引擎内核层的渲染指令调度模块基于元数据定义的渲染流程,构建多线程渲染指令队列,并分发至跨平台渲染适配层;
34、所述跨平台渲染适配层根据所述引擎内核层分发的渲染指令,将所述元数据定义层定义的场景描述元数据、材质定义元数据、渲染管线配置元数据动态编译为对应平台的原生渲染指令,同时基于所述元数据定义层定义的平台适配规则元数据进行平台适配与渲染表现校准,并提交至gpu执行渲染;
35、渲染完成后,通过应用接入层将渲染结果输出至对应平台的显示画布,同时响应上层业务应用的交互操作,基于元数据完成场景状态更新与重渲染。
36、根据上述方案的本发明,其有益效果在于:
37、1、通过构建覆盖场景描述、材质定义、渲染管线配置、平台适配规则的四层元数据模型,将渲染逻辑、材质计算、管线流程、平台适配全部转化为平台无关的元数据,实现渲染逻辑与硬件平台、渲染api的完全解耦;
38、2、通过全链路元数据抽象,实现一套元数据定义在pc端、移动端、web端的无差异渲染,无需针对不同平台编写重复的渲染逻辑代码,大幅提高跨平台开发效率,降低三维应用的开发与维护成本;
39、3、设计基于元数据的渲染指令动态编译机制,针对pc、移动端、web端的不同渲染api,将元数据动态编译为对应平台的原生渲染指令,同时进行平台适配与渲染表现校准,有效解决了跨平台渲染视觉表现不一致的问题;
40、4、采用无状态微内核设计,内核仅保留元数据解析模块、渲染指令调度模块、资源管理模块,存储容量小;且所有扩展功能均以插件形式存在,通过元数据定义实现按需加载,未启用的功能插件不会被打包,从而降低最终引擎发布包体的存储容量,完美适配低端移动端与浏览器轻量化加载需求;
41、5、设计离线元数据预编译工具,将元数据预编译为平台无关的二进制中间格式,大幅提高运行时元数据加载速度;
42、6、引擎架构无业务场景绑定,可广泛应用于数字孪生工厂、工业设备可视化、在线教育三维交互、元宇宙虚拟场景、bim模型浏览等多类场景,同时适配从高端pc到低端移动端、浏览器的全终端环境,具备极高的行业通用性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com