本发明专利技术实施例提供一种图形绘制引擎及其实现方法,该方法包括:提取第一图形设备接口和第二图形设备接口的绘制功能信息;将所述第一图形设备接口和第二图形设备接口封装为图形绘制引擎接口;根据所述提取的绘制功能信息,定义所述封装的图形绘制引擎接口的成员函数;通过图形绘制引擎接口调用所述第一图形设备接口或第二图形设备接口实现所述成员函数对应的绘制功能。本发明专利技术提供的图形绘制引擎具有绘制效率高、CPU资源占用少、兼容性好和接口易用的优点。
【技术实现步骤摘要】
本专利技术涉及图形处理技术,尤其涉及ー种图形绘制引擎及其实现方法。
技术介绍
目前,在Windows操作系统下,绝大多数具备图形界面的应用程序都需要专门的图形设备接ロ对其进行绘制。除游戏外,绝大多数应用程序使用⑶KGraphics Device Interface,图形设备接ロ)和GDI+对其图形界面进行绘制。GDI绘制的基本原理是对内存中像素的运算和拷贝,使用者利用GDI或GDI+所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI和GDI+的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大 大方便了开发工作。⑶I和⑶I+在Windows平台下有着广泛、良好的兼容性。GDI和GDI+虽然兼容性好,但其致命缺点是绘制效率低。它被用在简单的图形应用程序中,效率尚可接受;但对于一些复杂的图形应用场景,如游戏和专业的作图、看图程序中,⑶I和⑶I+的效率明显低下。由于基于像素运算,⑶I和⑶I+对如下的渲染操作尤其低效 Alpha融合(即ー张图像半透明地绘制到另ー张图像上); 高质量图像缩放; 图像的任意角度旋转。而⑶I+虽然号称部分使用硬件加速,但其实际绘制效率比⑶I还要低。⑶I和⑶I+的另ー个缺点是占用CPU资源多。虽然现有技术中出现了用独立于CPU,专门用于图形渲染的具有强大的并行计算能力的GPU (Graphic Processing Unit,图形处理器)进行加速的技术,但GDI和GDI+并没有大量使用GPU来加速,依旧大大依赖着CPU。另ー种图形设备接ロ是D3D (Direct3D),它是由微软公司提供的3D图形接ロ,被广泛用于游戏等高级图形应用程序中。它绘制效率高,使用专门的GPU进行硬件加速。还有一种图形设备接ロ是OpenGL (Open Graphics Library),它定义了一个跨编程语言、跨平台的编程接ロ的规格,它用于三维图象(ニ维的亦可)的绘制。OpenGL是个专业的图形程序接ロ,是ー个功能強大的底层图形库。但是D3D和OpenGL具有以下两个缺点限制了它们难以被用于普通应用程序的绘制中 硬件相关性大,兼容性差,在图形渲染过程中很可能受到硬件环境的影响而出错; 接ロ复杂,一次渲染往往需要编写大量代码,不易于开发。专利技术人在本专利技术的创造过程中发现,用户对于图形处理的需求越来越高,不仅要求界面流畅华丽,更需要其性能更加快速高效优质。但现有技术中的图形处理接ロ⑶I和⑶I+,以及D3D和OpenGL已经很难满足对应用程序界面绘制的需求,因此提供ー种绘制效率高、CPU资源占用少、兼容性好和接ロ易用的图形绘制引擎成为亟待解决的技术问题。
技术实现思路
本专利技术实施例要解决的技术问题在于,提供ー种图形绘制引擎,其可以具有绘制效率高、CPU资源占用少、兼容性好和接ロ易用的特点,以满足对应用程序的绘制需求。为解决上述技术问题,本专利技术提供一种图形绘制引擎实现方法,包括 提取第一图形设备接口和第二图形设备接ロ的绘制功能信息; 将所述第一图形设备接口和第二图形设备接ロ封装为图形绘制引擎接ロ; 根据所述提取的绘制功能信息,定义所述封装的图形绘制引擎接ロ的成员函数;通过图形绘制引擎接ロ调用所述第一图形设备接ロ或第二图形设备接ロ实现所述成员函数对应的绘制功能。相应地,本专利技术还提供了ー种图形绘制引擎,包括 信息提取模块,用于提取第一图形设备接口和第二图形设备接ロ的绘制功能信息; 接ロ封装模块,将所述第一图形设备接口和第二图形设备接ロ封装为图形绘制引擎接Π ; 函数定义模块,用于根据所述信息提取模块提取的绘制功能信息,定义所述封装的图形绘制引擎接ロ的成员函数; 绘制处理模块,用于通过图形绘制引擎接ロ调用所述第一图形设备接ロ或第二图形设备接ロ实现所述成员函数对应的绘制功能。实施本专利技术,具有如下有益效果 由于第一图形设备接口和第二图形设备接ロ是两种不同的图形设备接ロ,本专利技术中将两种不同类型,各具优点的图形设备接ロ封装到一起,在对应用程序的界面进行绘制过程中,通过封装的图形绘制引擎接ロ对其中的一种图形设备接ロ进行调用以实现相应的绘制功能,这种可以兼具两种图形设备接ロ的优点,从而具有绘制效率高、CPU资源占用少、兼容性好和接ロ易用的特点。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I是本专利技术提供的图形绘制引擎的实现方法实施例一流程示意 图2是本专利技术提供的图形绘制引擎接ロ的成员函数的示意 图3是本专利技术提供的图形绘制引擎的实现方法的示意 图4是本专利技术提供的图形绘制引擎中封装接ロ的示意 图5是本专利技术提供的图形绘制引擎实施例ニ的流程示意 图6是本专利技术提供的图形绘制引擎实现方法实施例三的流程示意 图7是本专利技术提供的图形绘制引擎实施例一的组成示意图;图8是本专利技术提供的图形绘制引擎实施例ニ的组成示意 图9是本专利技术提供的图形绘制引擎实施例三的组成示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在描述本专利技术实施例之前,首先对本专利技术中使用到的技术术语和概念做ー些介绍,以便本领域技术人员更好的理解本专利技术的技术方案。渲染引擎,位于软件系统的最底层,为软件提供界面渲染等绘图服务。 ⑶I (Graphics Device Interface),微软提供的图形设备接ロ,用于在图形设备(如显示器)上进行图形绘制。⑶1+(⑶I Plus),对⑶I的一套封装和补充,ー些地方进行了优化,并增加了新的功能。以下在描述本专利技术实施例中,将⑶I和⑶I+统称为⑶I。D3D(Direct3D),微软提供的3D图形接ロ,是DirectX产品的一部分,可以实现基于硬件加速的快速渲染。OpenGL (Open Graphics Library),它定义了ー个跨编程语言、跨平台的编程接ロ的规格,它用于三维图像(ニ维的亦可)的绘制。OpenGL是个专业的图形程序接ロ,是ー个功能強大的底层图形库。CPU (Central Processing Unit),中央处理器,负责计算机的计算工作。GPU (Graphic Processing Unit),图形处理器,是相对于CPU的一个概念,独立于CPU,专门用于图形渲染中的一些计算,有很强的并行计算能力。为了实现高绘制效率、低CPU占用、高兼容性和接ロ易用的目的,本专利技术实施例提供的图形绘制引擎及其实现方法的核心如下 制定该图形绘制引擎的接ロ,该接ロ是对D3D和GDI的封装,或者是对OpenGL和GDI的封装,封装好本专利技术的图形绘制引擎接ロ后,提供ー套D3D绘制功能的实现方案和ー套GDI的绘制功能的实现方案;或者提供ー套OpenGL绘制功能本文档来自技高网...
【技术保护点】
一种图形绘制引擎实现方法,其特征在于,包括:提取第一图形设备接口和第二图形设备接口的绘制功能信息;将所述第一图形设备接口和第二图形设备接口封装为图形绘制引擎接口;根据所述提取的绘制功能信息,定义所述封装的图形绘制引擎接口的成员函数;通过图形绘制引擎接口调用所述第一图形设备接口或第二图形设备接口实现所述成员函数对应的绘制功能。
【技术特征摘要】
【专利技术属性】
技术研发人员:黄渊,黄飞跃,吴永坚,董立乾,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。