CN103970966A - 一种跨嵌入式平台的三维渲染引擎的构建方法 - Google Patents

一种跨嵌入式平台的三维渲染引擎的构建方法 Download PDF

Info

Publication number
CN103970966A
CN103970966A CN201410226870.0A CN201410226870A CN103970966A CN 103970966 A CN103970966 A CN 103970966A CN 201410226870 A CN201410226870 A CN 201410226870A CN 103970966 A CN103970966 A CN 103970966A
Authority
CN
China
Prior art keywords
submodule
rendering engine
module
platform
management module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410226870.0A
Other languages
English (en)
Other versions
CN103970966B (zh
Inventor
郑坤
张柱
刘培
冉秀桃
张红萍
答海玲
易云蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Zhao Tu Science And Technology Ltd
Original Assignee
Wuhan Zhao Tu Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Zhao Tu Science And Technology Ltd filed Critical Wuhan Zhao Tu Science And Technology Ltd
Priority to CN201410226870.0A priority Critical patent/CN103970966B/zh
Publication of CN103970966A publication Critical patent/CN103970966A/zh
Application granted granted Critical
Publication of CN103970966B publication Critical patent/CN103970966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种跨嵌入式平台的三维渲染引擎的构建方法,构建三维渲染引擎的第一层;各模块由一个以上子模块组成;对各子模块按照是否与底层硬件平台有关进行分类:对于与底层硬件平台无关的各子模块进行封装;对于与底层硬件平台有关的各子模块,定义该子模块的抽象基类;创建3D API屏蔽层作为三维渲染引擎的第二层,针对不同的底层硬件平台,将与底层硬件平台有关的子模块分别调用各底层硬件平台的3D API,分别将各子模块封装在3D API屏蔽层;创建每个底层硬件平台的插件子模块,各插件子模块调用对应的封装在3D API屏蔽层的子模块。利用本发明可以构造接入多种3D API、实现跨多种嵌入式平台的三维渲染引擎。

Description

一种跨嵌入式平台的三维渲染引擎的构建方法
技术领域
本发明涉及嵌入式平台三维可视化,尤其是一种跨嵌入式平台的三维渲染引擎的构建方法。
背景技术
当今,存在着多种操作系统,如Unix平台、Windows平台和用于嵌入式设备的各种实时操作系统等,每一种操作系统可能又由不同的生产商来提供。让开发出来的应用来支持多种平台或不同生产商提供的同一平台的不同版本一直是软件业面临的主要挑战之一。
目前得到广泛应用的嵌入式操作系统也有WinCE、Adroid、Vxworks、Linux和Nucleus等十几种。在嵌入式平台上开发应用软件一般是强依赖于操作系统平台,在一种操作系统平台上开发的应用软件很难直接移植应用于另一款操作系统,而是需要重新设计和编码调试,这种状况导致软件模块复用率低、管理维护难度大、软件开发周期长、并且扩展性差。随着嵌入式系统的发展、三维图形硬件加速器的广泛使用,基于嵌入式设备的三维图形应用系统发展迅速。由于三维程序的特殊性和复杂性,在一种嵌入式平台上开发的三维应用系统就更难移植到另一嵌入式平台上。
三维应用程序的设计与开发需要了解显卡特性。3D API是指显卡与应用程序之间的接口,能让编程人员不必再去了解显卡硬件的具体性能和参数,只要调用3D API内的程序,让API自动和硬件的驱动程序沟通,启动3D芯片内强大的3D图形处理功能,从而大幅度地提高了3D程序的设计效率。但是现在,在多种嵌入式平台上,存在着多种3D API,有DirectX、OpenGL、OpenGL ES、Glide、Heidi等,且3D API之间的差异性太大,即使同种3D API在不同平台上也存在区别,这给三维应用系统在嵌入式平台上的移植带来了直接的问题和巨大的挑战。
发明内容
本发明的主要目的在于提供一种跨嵌入式平台的三维渲染引擎的实现方法,使基于嵌入式平台开发的三维应用系统可以基于统一的代码进行开发,实现与嵌入式操作系统无关、独立于硬件平台,实现嵌入式三维应用系统可以轻松快速地移植在各种嵌入式平台上。
为达到上述目的,本发明提供了一种跨嵌入式平台的三维渲染引擎的实现方法,具体包括以下步骤:
(1)构建至少包括插件管理模块的且由一个以上模块组成的三维渲染引擎的第一层;各模块由一个以上子模块组成;
(2)对各子模块按照是否与底层硬件平台有关进行分类:对于与底层硬件平台无关的各子模块进行封装以对上层三维应用系统提供接口;对于与底层硬件平台有关的各子模块,定义该子模块的抽象基类,以对上层三维应用系统提供统一的接口;
(3)创建3D API屏蔽层作为三维渲染引擎的第二层,针对2个以上不同的底层硬件平台,将步骤(2)中与底层硬件平台有关的子模块分别调用各底层硬件平台的3D API,分别将各子模块封装在3D API屏蔽层;
(4)创建每个底层硬件平台的插件子模块构成插件管理模块,各插件子模块调用对应的步骤(3)中封装在3D API屏蔽层的子模块。
所述三维渲染引擎的第一层由数学计算模块、场景管理模块、插件管理模块、资源管理模块和渲染管理模块组成。
所述三维渲染引擎的第一层的各模块具体细分为以下子模块:所述数学计算模块细分为矩阵子模块、向量子模块和角度子模块;所述场景管理模块细分为场景管理器子模块、实体子模块、相机子模块、灯光子模块、场景节点子模块、场景环境子模块组成;所述资源管理模块细分为资源管理器子模块、模型子模块、材质子模块、GPU程序子模块和纹理对象子模块;所述渲染管理模块细分为渲染对象子模块、渲染窗口子模块、渲染系统子模块和硬件缓冲区子模块。
资源管理模块中的GPU程序子模块、纹理子模块以及渲染管理模块中的渲染窗口子模块、渲染系统子模块、硬件缓冲区子模块与底层硬件平台有关,其它子模块与底层硬件平台无关。
本发明基于其技术方案所具有的有益效果在于:
(1)本发明利用3D API屏蔽层,可以接入多种3D API,实现跨多种嵌入式平台的三维渲染引擎;
(2)本发明实现的跨嵌入式平台的三维渲染引擎可以向上层的三维应用系统提供一套统一的开发代码;
(3)在本发明实现的跨嵌入式平台三维渲染引擎之上开发的三维应用程序可以不经修改直接运行在多种嵌入式平台上。
附图说明
图1是跨嵌入式平台的三维渲染引擎的层次体系框架示意图。
具体实施方式
本发明提供了一种跨嵌入式平台的三维渲染引擎的实现方法,结合图1,具体包括以下步骤:
(1)构建三维渲染引擎的第一层,该层由模块1、模块2、模块3、模块4和插件管理模块组成;其中模块1表示数学计算模块,其中模块2表示场景管理模块、其中模块3表示资源管理模块,其中模块4表示渲染管理模块;所述数学计算模块细分为矩阵子模块、向量子模块和角度子模块;所述场景管理模块细分为场景管理器子模块、实体子模块、相机子模块、灯光子模块、场景节点子模块、场景环境子模块组成;所述资源管理模块细分为资源管理器子模块、模型子模块、材质子模块、GPU程序子模块和纹理对象子模块;所述渲染管理模块细分为渲染对象子模块、渲染窗口子模块、渲染系统子模块和硬件缓冲区子模块;
(2)对各子模块按照是否与底层硬件平台有关进行分类:资源管理模块中的GPU程序子模块、纹理子模块以及渲染管理模块中的渲染窗口子模块、渲染系统子模块、硬件缓冲区子模块与底层硬件平台有关,其它子模块与底层硬件平台无关;对于与底层硬件平台无关的各子模块进行封装以对上层三维应用系统提供接口;对于与底层硬件平台有关的各子模块,定义该子模块的抽象基类,以对上层三维应用系统提供统一的接口;
(3)创建3D API屏蔽层作为三维渲染引擎的第二层,针对2个以上不同的底层硬件平台,将步骤(2)中与底层硬件平台有关的子模块分别调用各底层硬件平台的3DAPI,分别将各子模块封装在3D API屏蔽层;
(4)创建每个底层硬件平台的插件子模块构成插件管理模块,各插件子模块调用对应的步骤(3)中封装在3D API屏蔽层的子模块。
结合图1说明其原理:嵌入式三维应用系统基于三维渲染引擎开发,三维渲染引擎基于某种3D API实现,3D API是在嵌入式平台之上的接口层。不同的嵌入式操作系统有不同的3D API,例如ios平台上的3D API是OpenGL ES,Android平台上的是Direct3D。跨平台的三维渲染引擎通过3D API屏蔽层实现基于各种3D API的有关功能模块。例如,基于OpenGL,3D API屏蔽层实现一套有关模块的功能插件M1,基于OpenGL ES,3D API屏蔽层实现一套有关模块的功能插件M2,基于Direct3D,3D API屏蔽层实现一套有关模块的功能插件M3,跨平台的三维渲染引擎通过插件管理模块可以统一管理M1、M2、M3这些插件组,因此,本发明方法实现了跨嵌入式平台。
进而,假设开发某嵌入式三维应用系统A,需实现在嵌入式平台ios上运行,ios平台上的3D API是OpenGL ES,则三维渲染引擎需基于OpenGL ES,实现有关模块功能插件M2;如再将三维应用系统A移植在嵌入式平台Android上运行,则开发三维应用系统A使用的三维渲染引擎实现有关模块功能插件M3,M2、M3是可以快速实现的,所以,基于跨平台的三维渲染引擎开发的三维应用系统,三维应用系统可以快速移植到各种嵌入式平台上。

Claims (4)

1.一种跨嵌入式平台的三维渲染引擎的构建方法,其特征在于具体包括以下步骤:
(1)构建至少包括插件管理模块的且由一个以上模块组成的三维渲染引擎的第一层;各模块由一个以上子模块组成;
(2)对各子模块按照是否与底层硬件平台有关进行分类:对于与底层硬件平台无关的各子模块进行封装以对上层三维应用系统提供接口;对于与底层硬件平台有关的各子模块,定义该子模块的抽象基类,以对上层三维应用系统提供统一的接口;
(3)创建3D API屏蔽层作为三维渲染引擎的第二层,针对2个以上不同的底层硬件平台,将步骤(2)中与底层硬件平台有关的子模块分别调用各底层硬件平台的3D API,分别将各子模块封装在3D API屏蔽层;
(4)创建每个底层硬件平台的插件子模块构成插件管理模块,各插件子模块调用对应的步骤(3)中封装在3D API屏蔽层的子模块。
2.根据权利要求1所述跨嵌入式平台的三维渲染引擎的构建方法,其特征在于:所述三维渲染引擎的第一层由数学计算模块、场景管理模块、插件管理模块、资源管理模块和渲染管理模块组成。
3.根据权利要求2所述跨嵌入式平台的三维渲染引擎的构建方法,其特征在于:所述三维渲染引擎的第一层的各模块具体细分为以下子模块:
所述数学计算模块细分为矩阵子模块、向量子模块和角度子模块;
所述场景管理模块细分为场景管理器子模块、实体子模块、相机子模块、灯光子模块、场景节点子模块、场景环境子模块组成;
所述资源管理模块细分为资源管理器子模块、模型子模块、材质子模块、GPU程序子模块和纹理对象子模块;
所述渲染管理模块细分为渲染对象子模块、渲染窗口子模块、渲染系统子模块和硬件缓冲区子模块。
4.根据权利要求2所述跨嵌入式平台的三维渲染引擎的构建方法,其特征在于:资源管理模块中的GPU程序子模块、纹理子模块以及渲染管理模块中的渲染窗口子模块、渲染系统子模块、硬件缓冲区子模块与底层硬件平台有关,其它子模块与底层硬件平台无关。
CN201410226870.0A 2014-05-27 2014-05-27 一种跨嵌入式平台的三维渲染引擎的构建方法 Active CN103970966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410226870.0A CN103970966B (zh) 2014-05-27 2014-05-27 一种跨嵌入式平台的三维渲染引擎的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410226870.0A CN103970966B (zh) 2014-05-27 2014-05-27 一种跨嵌入式平台的三维渲染引擎的构建方法

Publications (2)

Publication Number Publication Date
CN103970966A true CN103970966A (zh) 2014-08-06
CN103970966B CN103970966B (zh) 2018-01-16

Family

ID=51240456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410226870.0A Active CN103970966B (zh) 2014-05-27 2014-05-27 一种跨嵌入式平台的三维渲染引擎的构建方法

Country Status (1)

Country Link
CN (1) CN103970966B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018161812A1 (zh) * 2017-03-08 2018-09-13 阿里巴巴集团控股有限公司 一种用户界面渲染方法及装置
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109284454A (zh) * 2018-08-02 2019-01-29 平安科技(深圳)有限公司 页面渲染方法、装置、计算机设备及存储介质
CN110865800A (zh) * 2019-11-01 2020-03-06 浙江大学 一种基于引擎模块化的全平台三维重建代码处理方法
CN111833429A (zh) * 2019-04-04 2020-10-27 厦门雅基软件有限公司 三维游戏渲染方法、三维引擎、电子设备及可读存储介质
CN112070871A (zh) * 2020-09-02 2020-12-11 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814024A (zh) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 一种跨平台3d界面设计架构和工具
CN102508644A (zh) * 2011-09-22 2012-06-20 Tcl集团股份有限公司 一种3d用户界面图形引擎架构
WO2013103728A1 (en) * 2012-01-05 2013-07-11 Intel Corporation Multimedia driver architecture for reusability across operating systems and hardware platforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814024A (zh) * 2009-10-23 2010-08-25 深圳创维-Rgb电子有限公司 一种跨平台3d界面设计架构和工具
CN102508644A (zh) * 2011-09-22 2012-06-20 Tcl集团股份有限公司 一种3d用户界面图形引擎架构
WO2013103728A1 (en) * 2012-01-05 2013-07-11 Intel Corporation Multimedia driver architecture for reusability across operating systems and hardware platforms

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李琳: "三维图形引擎设计及其光影特效的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
杨波 等: "基于引擎模式的三维巷道漫游系统架构研究", 《工矿自动化》 *
王欣 等: "基于OpenGL的三维引擎SR的设计与实现", 《石油化工建设》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018161812A1 (zh) * 2017-03-08 2018-09-13 阿里巴巴集团控股有限公司 一种用户界面渲染方法及装置
CN109284454A (zh) * 2018-08-02 2019-01-29 平安科技(深圳)有限公司 页面渲染方法、装置、计算机设备及存储介质
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109254793B (zh) * 2018-09-20 2022-02-15 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN111833429A (zh) * 2019-04-04 2020-10-27 厦门雅基软件有限公司 三维游戏渲染方法、三维引擎、电子设备及可读存储介质
CN110865800A (zh) * 2019-11-01 2020-03-06 浙江大学 一种基于引擎模块化的全平台三维重建代码处理方法
CN112070871A (zh) * 2020-09-02 2020-12-11 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质
CN112070871B (zh) * 2020-09-02 2024-01-19 山东天兑信息科技有限公司 一种跨平台三维可视化引擎构建系统、方法、终端及储存介质

Also Published As

Publication number Publication date
CN103970966B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
CN103970966A (zh) 一种跨嵌入式平台的三维渲染引擎的构建方法
EP3753614B1 (en) Map rendering method and apparatus, computer device and storage medium
CN106776012B (zh) 一种虚拟资源的管理方法及系统
CN102508644B (zh) 一种3d用户界面图形引擎系统
CN105005473B (zh) 一种用于开发3d游戏的游戏引擎系统
CN107393013B (zh) 虚拟漫游文件生成、显示方法、装置、介质、设备和系统
CN106990961B (zh) 一种WebGL图形渲染引擎的建立方法
CN105511943A (zh) 一种Docker容器运行方法和装置
KR102047615B1 (ko) 입자 시스템을 위한 처리 방법 및 장치
CN101059760B (zh) Opengl到opengl│es翻译器和opengl│es仿真器
US20150262426A1 (en) Spatial Augmented Reality (SAR) Application Development System
CN105637563A (zh) 在屏幕上显示3d场景图的方法
CN107369200B (zh) 一种3d场景特效处理方法及存储设备
CN1763784A (zh) 一种三维场景实时绘制框架和绘制方法
CN108537891A (zh) 三维材质和贴图数据自动转换到ue4的方法
US20200258291A1 (en) Method and system for computer graphics rendering
CN103176838A (zh) 兼容Android本机程序的方法及系统
CN110930492B (zh) 模型渲染的方法、装置、计算机可读介质及电子设备
CN105630483A (zh) 一种组态图元的显示方法及装置
CN113750516A (zh) 一种在游戏引擎中实现三维gis数据加载方法、系统及设备
CN104958900A (zh) 用于开发2d场景和3d角色的游戏引擎系统及调用方法
CN104166552A (zh) 一种可移植内存位图图形库使用方法
CN104035768A (zh) Android平台兼容本地代码OpenGL程序的系统及方法
CN114237826A (zh) 安卓容器的高速渲染方法及装置
CN104133942A (zh) 智能3d生活数据云服务系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140806

Assignee: Suzhou Mdt InfoTech Ltd

Assignor: Wuhan Zhao Tu Science and Technology Ltd.

Contract record no.: 2018420000013

Denomination of invention: Method for constructing three-dimensional rendering engine crossing embedded platforms

Granted publication date: 20180116

License type: Exclusive License

Record date: 20180529

EE01 Entry into force of recordation of patent licensing contract