[发明专利]一种跨嵌入式平台的三维渲染引擎的构建方法有效
申请号: | 201410226870.0 | 申请日: | 2014-05-27 |
公开(公告)号: | CN103970966B | 公开(公告)日: | 2018-01-16 |
发明(设计)人: | 郑坤;张柱;刘培;冉秀桃;张红萍;答海玲;易云蕾 | 申请(专利权)人: | 武汉兆图科技有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06T15/00 |
代理公司: | 武汉华旭知识产权事务所42214 | 代理人: | 刘荣,周宗贵 |
地址: | 430073 湖北省武汉市光*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 平台 三维 渲染 引擎 构建 方法 | ||
技术领域
本发明涉及嵌入式平台三维可视化,尤其是一种跨嵌入式平台的三维渲染引擎的构建方法。
背景技术
当今,存在着多种操作系统,如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,具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉兆图科技有限公司,未经武汉兆图科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410226870.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:磨床人身安全保护器
- 下一篇:一种基于车速检测的辅助保护装置