[发明专利]基于QT的2D/3D的图形绘制方法及装置有效
申请号: | 201110448029.2 | 申请日: | 2011-12-29 |
公开(公告)号: | CN102567025A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 林舜大 | 申请(专利权)人: | 深圳TCL新技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518052 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 qt 图形 绘制 方法 装置 | ||
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种基于QT的2D/3D的图形绘制方法及装置。
背景技术
随着嵌入式系统的越来越广泛的应用,特别是linux嵌入式系统的应用,越来越多的用户追求图形系统的交互,对图形系统也提出越来越高的要求。QT是一个跨平台的C++应用程序框架,广泛用于开发图形界面程序,提供给开发者建立建立艺术级图形界面所需要的功能。因此,QT做为一款开源的图形系统得到了广泛的应用,例如Linux操作的图形操作环境KDE(Kool Desktop Environment,K桌面环境)就是基于QT图形引擎开发的。
从进几年的发展趋势来看,3D技术得到很大的发展,OpenGL做为跨平台的3D图像库在嵌入式系统的应用也越来越多,OpenGL是一个功能强大,调用方便的底层3D图形库,用于生成二维,三维图像的跨平台编程接口规范,OpenGL ES是用在嵌入式系统中OpenGL简化图形库。
在QT中,已经为3D程序设计好其应用程序框架,如图1所示。该框架是由QT基于PowerVR上建立的,QT会使用一个叫QGLScreen driver的模块去和PowerVR的驱动对接,PowerVR是一款应用在嵌入式系统中的图形加速芯片。但QT本身并没有提供任何和PowerVR相关的驱动。因此,如果需要把QT做为3D图形引擎,则在嵌入式系统中的应用时,必须为OpenGL ES提供一个窗口系统,即EGL。具体地,QGLScreen driver从PowerVR的图形驱动里创建EGL给OpenGL ES使用。但是,其创建难度非常高:
首先,必须要有图形加速的驱动代码,从而可以在驱动代码上根据QGLScreen Driver的架构修改成适合QT使用OpenGL ES的格式;
其次,由于原框架和图形加速的驱动代码是紧密相联的,所以必须对图形加速的驱动原理和Power VR的QGLScreen Driver很精通才有可能编写成功,花的时间和精力会很多;
再次,因为修改的目标是能绘制3D的OpenGL ES的EGL,难于保证QT的2D绘制会不会出问题。
发明内容
本发明的主要目的是提供一种基于QT的2D/3D的图形绘制方法,旨在实现基于QT,将QT作为3D的图像引擎。
本发明提供了一种基于QT的2D/3D图形绘制方法,包括以下步骤:
接收QT应用程序,并根据QT应用程序的继承对象进行相应的处理;
根据应用程序的应用类型,建立相应的应用底层,并根据该应用程序,创建相应的窗口,并返回窗口句柄;所述应用类型包括2D及3D。
优选地,所述接收QT应用程序,并判断该QT应用程序的应用类型;所述应用类型包括2D及3D的步骤具体包括:
接收QT应用程序;
若QT应用程序的继承对象为为QWidget,则在QT应用程序的继承过程中自动将QWidget预先增加的图形标志属性设置为假;
若QT应用程序的继承对象为QGLWidget,则在QT应用程序的继承过程中自动将QGLWidget继承的QWidget预先增加的绘图标志属性设置为真。
优选地,所述根据应用程序的应用类型,建立相应的应用底层,并根据该应用程序,创建相应的窗口,并返回窗口句柄的步骤具体包括:
判断应用程序的应用类型;
若应用类型为2D,则通过QDirectFbScreen底层建立相应的QScreen底层,并根据应用程序,创建相应的2D窗口,并返回窗口句柄;
若应用类型为3D,则通过QDirectFbScreen底层建立相应的QGLScreen底层,并根据应用程序,创建相应的3D窗口,并返回窗口句柄。
优选地,所述QDirectFbScreen底层继承QGLScreen底层,而且QGLScreen底层又继承QScreen底层。
优选地,所述判断应用程序的应用类型的步骤具体为:
若绘图标志属性的值为假,则判断应用程序的应用类型为2D;
若绘图标志属性的值为真,则判断应用程序的应用类型为3D。
本发明还提供了一种基于2D/3D的图形绘制装置,包括:
应用程序处理模块,用于接收QT应用程序,并根据QT应用程序的继承对象进行相应的处理;
窗口建立模块,用于根据应用程序的应用类型,建立相应的应用底层,并根据该应用程序,创建相应的窗口,并返回窗口句柄;所述应用类型包括2D及3D。
优选地,应用程序处理模块具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳TCL新技术有限公司,未经深圳TCL新技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110448029.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:沟槽MOSFET器件及其制作方法
- 下一篇:用于地线融冰的多功能接线盒