专利名称:用于对象管理的三维图形引擎的制作方法
技术领域:
本发明涉及一种用于对象管理的三维图形引擎。
背景技术:
OpenGL (Open Graphics Library,开放的图形程序函数)是一个调用方便的底层图形库,用于二维(2D)或者三维(3D)图像。OpenGL ES(OpenGL for Embedded Systems)由桌面 OpenGL 子集组成,是 OpenGL 三维图形 API (Application Programming Interface,调用程序编程函数)的子集,针对手机、PDA和游戏主机等嵌入式设备而设计,它创造了软件与图形加速之间的底层交互函数。OpenGL ES等三维渲染技术广泛应用于嵌入式软件的开发过程,将它用对数字娱乐产品的绘图、动画等图形进行渲染,可使得数字娱乐产品具有三维展示效果和三维用户界面。但是,直接利用OpenGL ES进行嵌入式软件开发会有比较大的开发复杂度,并影响软件的开发效率和易维护性。
发明内容
本发明主要解决的技术问题是提供一种用于对象管理的三维图形引擎,对三维对象的进行管理,降低嵌入式软件的三维图形对象开发的复杂度,且提高嵌入式软件的开发效率,以及增强嵌入式软件的易维护性。为解决上述技术问题,本发明采用的一个技术方案是提供一种用于对象管理的三维图形引擎,包括添加对象单元、渲染对象单元、删除对象单元、更新对象单元和对象队列单元,所述添加对象单元用于添加对象到对象队列单元中,所述渲染对象单元用于渲染对象以达到三维运动效果,所述删除对象单元用于将不再需要的对象从对象队列单元中删除,所述更新对象单元用于更新对象队列单元中各对象的属性。其中,所述添加对象单元通过内存、图片地址或视频句柄路径添加对象。其中,所述删除对象单元在将渲染完毕的对象从对象队列单元中删除时,还同时释放掉该对象所占用的显存空间。本发明的有益效果是区别于现有技术的直接利用OpenGL ES进行嵌入式软件开发会有比较大的开发复杂度,并影响软件的开发效率和易维护性的缺陷,本发明利用三维图形引擎对三维对象进行管理,降低嵌入式软件的三维图形对象开发的复杂度,且提高嵌入式软件的开发效率,以及增强嵌入式软件的易维护性。
图I是本发明三维图形引擎结构方框图;图2是本发明普通对象纹理顶点示意图;图3是本发明三维对象纹理顶点示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。请参阅图1,本发明的用于对象管理的三维图形引擎,包括添加对象单元10、渲染对象单元11、删除对象单元12、更新对象单元13和对象队列单元14,所述添加对象单元10用于添加对象到对象队列单元中,所述渲染对象单元11用于渲染对象以达到三维运动效果,所述删除对象单元12用于将不再需要的对象从对象队列单元14中删除,所述更新对象单元13用于更新对象队列单元14中各对象的属性。本发明利用三维图形引擎对三维对象进行管理,降低嵌入式软件的三维图形对象开发的复杂度,且提高嵌入式软件的开发效率,以及增强嵌入式软件的易维护性。在一实施例中,所述添加对象单元通过内存、图片地址或视频句柄路径添加对象。 所述图形引擎给每个对象提供一个句柄,调用程序通过句柄识别和调用三维对象,所述图形引擎把要管理的对象用链表的方式连接起来形成一个对象队列,通过定时器来控制这些对象根据各个对象的属性每秒进行60次渲染以达到三维运动效果。在一实施例中,所述删除对象单元在将不再需要的对象从对象队列单元中删除时,还同时释放掉该对象所占用的显存空间。另外,在对特效对象进行处理时,是这样实现的为实现数字娱乐设备的特效要求,所述图形引擎还提供独立的特效处理函数以实现复杂的特效需要。在OpenGL中,有时需要给对象表面绘制指定的图像内容,所述图像内容就称为纹理,所述纹理必须放在surface空间(嵌入式的显存空间,下面简称显存空间)中并绑定一个OpenGL的纹理编号才可以绘制在对象的表面。纹理顶点坐标是纹理到对象表面的一个映射,通过纹理顶点坐标控制纹理绘制到对象的表面。采用对象绑定更多纹理顶点,并在渲染线程中去控制渲染线程运行中各个纹理顶点信息,根据对象的显存空间中内容来实现三维对象更复杂的特效。普通对象只绑定如图2所示的矩形区域的四个顶点为纹理顶点,所述特效处理函数所能起作用的将所述对象切割成如图3所示的规定级别的顶点和面,并优化对象的绑定和顶点计算算法。例如,要想实现阿拉丁神灯等特效,需要细化纹理顶点,设计阿拉丁的运动方式的顶点控制函数即可达到特效过程的绘制。对象的顶点数越多,硬件渲染复杂度就越大,影响渲染帧频。在渲染线程中添加对每个对象每种特效的计算与绘制方法,去控制这些顶点的运动,这样经过渲染线程中每秒几十帧的渲染可以产生出很多比较酷炫美观的三维特效。如果没有去绑定特效处理函数,特效对象就和普通对象的操作一样。所述图形引擎用在数字娱乐产品的开发过程中,调用程序可以方便地应用它实现三维用户交互,降低了应用层使用三维渲染技术的复杂度,加快了产品的开发效率并加强了产品的稳定性。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种用于对象管理的三维图形引擎,其特征在于包括添加对象单元、渲染对象单元、删除对象单元、更新对象单元和对象队列单元,所述添加对象单元用于添加对象到对象队列单元中,所述渲染对象单元用于渲染对象以达到三维运动效果,所述删除对象单元用于将不再需要的对象从对象队列单元中删除,所述更新对象单元用于更新对象队列单元中各对象的属性。
2.根据权利要求I所述的用于对象管理的三维图形引擎,其特征在于所述添加对象单元通过内存、图片地址或视频句柄路径添加对象。
3.根据权利要求I所述的用于对象管理的三维图形引擎,其特征在于所述删除对象单元在将不需要的对象从对象队列单元中删除时,还同时释放掉该对象所占用的显存空间。
全文摘要
本发明公开了一种用于对象管理的三维图形引擎,所述三维图形引擎包括添加对象单元、渲染对象单元、删除对象单元、更新对象单元和对象队列单元,所述添加对象单元用于添加对象到对象队列单元中,所述渲染对象单元用于渲染对象以达到三维运动效果,所述删除对象单元用于将不再需要的对象从对象队列单元中删除,所述更新对象单元用于更新对象队列单元中各对象的属性。本发明利用三维图形引擎对三维对象进行管理,降低嵌入式软件的三维图形对象开发的复杂度,且提高嵌入式软件的开发效率,以及增强嵌入式软件的易维护性。
文档编号G06T15/00GK102654921SQ201110051158
公开日2012年9月5日 申请日期2011年3月3日 优先权日2011年3月3日
发明者徐继芸, 汤周文 申请人:福建星网视易信息系统有限公司