一种渲染引擎跨小程序平台运行方法、设备、存储介质技术

技术编号:37817731 阅读:18 留言:0更新日期:2023-06-09 09:49
本申请提供一种渲染引擎跨小程序平台的运行方法、设备、存储介质,应用于Three.js渲染引擎,本方法包括以下步骤:步骤S1、声明全局对象及对象属性;步骤S2、在Three.is源文件中,将浏览器的原生接口修改为全局对象中的重新映射;步骤S3、获取小程序的平台类别,根据小程序平台的类别进行渲染引擎的接口适配,完成Three.js依赖。本发明专利技术实现在小程序平台接入成熟的渲染引擎方案,降低复杂3D渲染任务的开发难度,以较低成本实现渲染引擎在小程序平台的运行统一,提高开发效率。提高开发效率。提高开发效率。

【技术实现步骤摘要】
一种渲染引擎跨小程序平台运行方法、设备、存储介质


[0001]本申请涉及计算机
,具体涉及一种渲染引擎跨小程序平台的运行方法、设备、存储介质。

技术介绍

[0002]Three.js是一个使用WebGL(WebGraphicsLibrary)技术实现在网页浏览器中创建和显示复杂3D计算机图形的JavaScript脚本库,因其功能完备、开发友好和开放包容而成为广泛传播和使用的Web渲染引擎,但同时Three.js依赖于浏览器平台的运行环境,其对网络、文件、媒体等管理基于浏览器接口(如document,window,XMLHttpRequset等)实现。
[0003]随着WebGL技术普及和推广,越来越多平台(如小程序)对Web渲染引擎产生强烈需求,将Three.js渲染引擎移植到这些平台,可以快速发挥其能力,并实现生态迁移。当前,主流小程序平台对Three.js支持并不统一,如微信小程序率先推出平台适配版threejs

miniprogram,是基于Three.jsr108版本定制后发布,无法兼容其他版本,若要使用需开发者自行修改;而如支付宝小程序、抖音小程序、快手小程序等,仅提供原生WebGL接口,未能对渲染引擎支持。不同小程序平台,缺乏统一和完善的渲染引擎,这给小程序开发者发布3D体验项目带来了较高的成本,对形如AR(AugmentedReality,增强现实)、VR(VirtualReality,虚拟现实)、元宇宙类体验在跨小程序平台分发造成阻碍。主流小程序平台通过修改网页浏览器Three.js源码库进行平台适配,具有局限性,丧失原始Three.js版本迭代能力和自主性。

技术实现思路

[0004]为了解决上述的问题,本申请的实施例中提供了一种渲染引擎跨小程序平台的运行方法、设备、存储介质,实现在小程序平台接入渲染引擎方案,降低复杂3D渲染任务的开发难度,提高开发效率。
[0005]为此,本申请的一个方面,提供一种渲染引擎跨小程序平台的运行方法,应用于Three.js渲染引擎,本方法包括以下步骤:
[0006]步骤S1、声明全局对象及对象属性;
[0007]步骤S2、在Three.js源文件中,将浏览器的原生接口修改为全局对象中的重新映射;
[0008]步骤S3、获取小程序的平台类别,根据小程序平台的类别进行渲染引擎的接口适配,完成Three.js依赖。
[0009]可选地,结合上述任一方面,在本方面的另一种实现方式中,还包括以下步骤:
[0010]步骤S4、将完成Three.js依赖的渲染引擎动态映射至各个小程序平台,生成适配器;当需要进行小程序渲染时,确定对应小程序的适配器进行渲染。
[0011]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述步骤S3中,根据小程序平台的类别进行渲染引擎的接口适配,具体为,根据小程序平台的类别,对原生
Three.js渲染引擎框架的事件机制、文档对象模型、DOM窗口、服务器交互进行接口适配。
[0012]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述事件机制包括事件与目标事件,其中事件涉及类型、目标属性,且所述事件与preventDefault方法适配,所述目标事件与事件监听、事件移除、自定义事件触发方法适配。
[0013]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述服务器交互进行接口适配,具体为,将小程序服务器请求接口与浏览器XMLHttpRequset对象进行适配,请求关键字段在接口层对齐封装,实现网络交互。
[0014]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述文档对象模型按照浏览器命名规范设置为文档,所述文档的标准接口与createElementNS方法适配,Three.js渲染引擎依赖createElementNS方法创建Canvas和Image对象;小程序平台提供组件Canvas作为适配,并且等价的createImage接口输出Image对象。
[0015]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述全局对象的对象属性包括窗口、文档、XMLHttpRequset,通过渲染适配器基座对全局对象进行管理,使用渲染适配器基座的构造方法中的参数对所述对象属性实例化。
[0016]可选地,结合上述任一方面,在本方面的另一种实现方式中,所述小程序的平台类别包括但不限于:微信小程序、支付宝小程序、抖音小程序。
[0017]本申请的另一方面,提供一种电子设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一所述的一种渲染引擎跨小程序平台的运行方法。
[0018]本申请的另一方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上任一所述的一种渲染引擎跨小程序平台的运行方法。
[0019]如上所述,本申请提供了一种渲染引擎跨小程序平台的运行方法、设备、存储介质,基于原生Three.js渲染引擎,对Three.js渲染引擎依赖的浏览器接口进行解耦,实现在小程序平台接入成熟的渲染引擎方案,降低复杂3D渲染任务的开发难度,以较低成本实现渲染引擎在小程序平台的运行统一,提高开发效率。同时,继续保留Three.js在小程序平台的功能迭代,便于对接原生Three.js版本维护和生态能力,延续Three.js的开放性和自主性,保持Three.js较高兼容性和扩展性,方便快速接入新平台。
[0020]提供上述
技术实现思路
以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步详细描述。上述
技术实现思路
既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。本申请所要求保护的主题不限于解决
技术介绍
中指出的任何或所有缺点的实施方式。
附图说明
[0021]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
[0022]图1为本申请所提供的一种渲染引擎跨小程序平台的运行方法流程示意图;
[0023]图2为本申请所提供的一种渲染引擎跨小程序平台的运行方法的框架流程示意图。
具体实施方式
[0024]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种渲染引擎跨小程序平台的运行方法,其特征在于,应用于Three.js渲染引擎,本方法包括以下步骤:步骤S1、声明全局对象及对象属性;步骤S2、在Three.js源文件中,将浏览器的原生接口修改为全局对象中的重新映射;步骤S3、获取小程序的平台类别,根据小程序平台的类别进行渲染引擎的接口适配,完成Threejs依赖。2.如权利要求1所述的一种渲染引擎跨小程序平台的运行方法,其特征在于:还包括以下步骤:步骤S4、将完成Three.js依赖的渲染引擎动态映射至各个小程序平台,生成适配器;当需要进行小程序渲染时,确定对应小程序的适配器进行渲染。3.如权利要求2所述的一种渲染引擎跨小程序平台的运行方法,其特征在于:所述步骤S3中,根据小程序平台的类别进行渲染引擎的接口适配,具体为,根据小程序平台的类别,对原生Three.js渲染引擎框架的事件机制、文档对象模型、DOM窗口、服务器交互进行接口适配。4.如权利要求3所述的一种渲染引擎跨小程序平台的运行方法,其特征在于:所述事件机制包括事件与目标事件,其中事件涉及类型、目标属性,且所述事件与preventDefault方法适配,所述目标事件与事件监听、事件移除、自定义事件触发方法适配。5.如权利要求4所述的一种渲染引擎跨小程序平台的运行方法,其特征在于:所述服务器交互进行接口适配,具体为,将小程序服务器请求接口与浏览器X...

【专利技术属性】
技术研发人员:张少杰徐宁浩丛林
申请(专利权)人:杭州易现先进科技有限公司
类型:发明
国别省市:

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

1