一种基于二维和三维一体化矢量渲染引擎的装置制造方法及图纸

技术编号:9719240 阅读:172 留言:0更新日期:2014-02-27 06:10
本发明专利技术公开了一种二维和三维一体化矢量渲染引擎的装置,所述引擎提供绘制原语转换功能,即将二维绘制原语转换成三维绘制原语,二维绘制原语是功能的输入,三维绘制原语是功能的输出,所述引擎完成二维矢量数据和三维矢量数据的渲染,三维矢量数据直接调用三维矢量渲染引擎完成渲染,二维矢量数据将经过一体化渲染引擎分线、面、图片和文字不同类型处理形成三维绘制原语,然后由三维矢量渲染引擎完成最终渲染。

【技术实现步骤摘要】
一种基于二维和三维一体化矢量渲染引擎的装置
本专利技术属于对地观测与导航
,更具体是涉及计算机上二、三维空间矢量数据可视化过程中的渲染装置,可用于地理信息系统与服务的应用开发。
技术介绍
二、三维矢量渲染是计算机图形技术应用的一个重要方面。矢量渲染引擎是指将矢量数据以渲染原语渲染到位图或者显示设备上。二维矢量渲染引擎通过定义线宽、线型、颜色、填充类型等渲染原语来达到多样化渲染二维矢量数据的目的。三维矢量渲染引擎通过定义三角形、顶点索引、颜色、纹理坐标等渲染原语来达到多样化渲染三维矢量数据的目的。二维矢量渲染引擎,如⑶I,⑶I+,Agg, Skia, Cario等一般是基于CPU直接实现的,它们具备以二维渲染原语渲染矢量数据的能力。但受限于CPU整数运算器,基于CPU运算的二维矢量渲染引擎的图形渲染性能不如基于GPU的三维矢量渲染引擎。三维矢量渲染引擎,如OpenGL,Direct3D,OpenGL ES,WebGL等都是基于GPU硬件实现的,它们具有非常高的渲染性能,更好的渲染效果,也更加节能。虽然各种三维引擎都是以三维矢量渲染原语为基础,但是不同的三维渲染引擎在调用接口上比较迥异。为了提高二维矢量渲染的性能,一些二维矢量渲染引擎也具备使用GPU硬件加速的能力,实际上是将三维矢量渲染引擎内置于二维矢量渲染引擎的内部,二维矢量渲染引擎将二维渲染原语转换成三维渲染原语并直接调用三维渲染引擎渲染出结果,如Skia,Cario等二维矢量渲染引擎就具备这样的硬件加速能力。在地理信息系统领域,一些三维场景应用中需要在某个平面上渲染出二维图形,也就是需要同时使用到三维和二维矢量渲染引擎的能力。然而,计算机二维、三维矢量渲染引擎在引擎的输入数据类型、渲染原语定义上存在区别,导致二维、三维一体化矢量渲染难以达到理想的效果,比较突出的问题有:I)目前常用的二维矢量渲染引擎和一些操作系统平台或者硬件平台耦合比较紧密,这导致使用二维矢量渲染引擎的图形软件在不同平台上移植的时候需要更高的成本。2)在同一图形软件中,如果同时使用基于GPU硬件加速的二维矢量渲染引擎渲染二维场景,使用三维矢量渲染引擎渲染三维场景时可能会导致不同或者多个三维矢量渲染引擎因使用GPU硬件出现冲突。3)通常情况下,将二维矢量数据渲染到三维场景中都是先渲染二维矢量数据为位图,然后转换成纹理并渲染到三维场景中,其性能较低并且降低了矢量数据最终显示的效果O为此,针对上述技术问题,本专利技术提供一种二、三维一体化矢量渲染引擎的装置,所述引擎提供绘制原语转换功能,即将二维绘制原语转换成三维绘制原语,二维绘制原语是功能的输入,三维绘制原语是功能的输出。三维矢量数据直接调用三维矢量渲染引擎完成渲染,二维矢量数据将经过一体化渲染引擎分线、面、图片和文字不同类型处理形成三维绘制原语,然后由三维矢量渲染引擎完成最终渲染,中间并不生成位图,从而达到二、三维一体化快速显示的目的。
技术实现思路
针对现有技术中的不足,本专利技术实现了一种二维和三维一体化矢量渲染引擎的装置和方法,提供绘制原语转换功能,即将二维绘制原语转换成三维绘制原语,二维绘制原语是功能的输入,三维绘制原语是功能的输出,如图1所示,所述引擎完成二维矢量数据和三维矢量数据的渲染,三维矢量数据直接调用三维矢量渲染引擎完成渲染,二维矢量数据将经过一体化渲染引擎分线、面、图片和文字不同类型处理形成三维绘制原语,然后由三维矢量渲染引擎完成最终渲染,如图2所示。线渲染通过定义颜色、线宽、线型语义来渲染折线、曲线矢量数据。线绘制原语转换根据颜色、线宽、线型转换为三维绘制原语,一个带颜色值的顶点数组和一个索引数组就是线绘制原语到三维绘制原语转换的结果,线原语转换过程需要根据线的类型转换线的端头为平头或者圆头,如果是圆头则需要插入多个顶点形成三角形扇形模拟端头的圆弧,相应的顶点和索引应加入顶点和索引数组形成更为复杂的三维渲染原语;对于多段折线也需要在线段间衔接处生成圆弧衔接的扇形,平角衔接类型的线型需要考虑线段夹角为锐角时会计算出的尖头。面填充渲染通过定义填充类型、填充颜色语义来渲染面矢量数据。面渲染原语转换主要使用三角剖分算法实现,以面的轮廓线为基础将面剖分成若干镶嵌的三角形,所有这些镶嵌的三角形最终覆盖面的范围。面渲染原语转换输出的结果和线渲染原语转换的结果类似,也是一个带颜色值的顶点数组和一个索引数组。面颜色填充包括是纯色填充和渐变色填充,纯色填充时输出的三维渲染原语中顶点颜色值为相同的颜色值,渐变色填充时,在三角形剖分过程中添加若干以填充中心为圆心圆的辅助线,剖分出更为复杂的镶嵌三角形,并根据三角形顶点距离渐变色填充中心点的距离来计算剖分出来的三角形顶点的颜色值。基于路径的渐变色填充采用圆心渐变填充类似的方式,在剖分过程中添加若干的辅助线来加密剖分的三角形,根据到路径起点的距离计算剖分出来的三角形顶点颜色值。位图渲染原语的转换主要是换算出位图显示的矩形范围、以及该范围对应于位图上的纹理坐标。字体渲染原语转换方法和面渲染原语转换相似,对于字体渲染过程来说,使用者输入的数据不是面范围,而是字体、颜色、字体大小、文字,排版布局信息,渲染引擎根据字体和字体大小从字体库中获取字体渲染的轮廓,通过面三角剖分算法形成字体渲染的三维渲染原语。一体化矢量渲染引擎具备二维矢量渲染引擎的核心能力,和具体操作系统平台或者硬件平台没有明确的依赖关系,使用一体化渲染引擎的图形软件可以快速到移植到不同平台,并能够保持不同平台上渲染效果一致,解决了常用二维矢量渲染引擎和平台过于紧耦的问题。一体化渲染引擎不严格依赖特定的三维矢量渲染引擎来做最终的渲染,用户可以在图形软件中根据开发的需要选择使用不同的三维矢量渲染引擎来做最终的渲染,图形软件中同时基于硬件加速渲染二维、三维图形时不会出现硬件争抢的情况,解决了不同三维引擎争抢GPU硬件或者创建多个硬件引擎带来更多的开销的问题。一体化渲染引擎直接将二维矢量数据渲染到三维场景中的某个平面上,并不采用纹理贴图的方式,先绘制数据到位图,再将位图转换成纹理后贴图,过程简单且不会造成失真,提高二维矢量渲染的速度,也可以提升渲染的效果。一种二、三维一体化矢量渲染引擎的原理如下:I)虽然二维、三维矢量渲染引擎在引擎的输入数据类型、渲染原语定义上存在区另O,但最终输出都可以保持一致,即以栅格(像素)的形式渲染到位图或者显示设备上。三维矢量渲染引擎在理论上比二维矢量渲染引擎多一个维度,二维矢量渲染引擎的功能只是三维矢量渲染引擎在一个平面上的功能。也就是说,三维矢量渲染引擎理论上可以兼容二维矢量渲染引擎的功能。2)针对常用二维矢量渲染引擎在不同平台上移植难度较大的缺点,本专利技术提供的二、三维一体化矢量渲染引擎与方法可以减少使用该引擎的图形软件在不同平台上移植的成本,并能够保持不同平台上渲染效果一致。二维矢量渲染用途广泛,但基于CPU计算的渲染速度逐渐不能满足图形软件开发需要。基于GPU硬件加速的二维矢量渲染引擎具有很广的使用前途,但是,现有基于GPU硬件加速的二维矢量渲染引擎都是将三维矢量渲染引擎以紧耦合的方式置于二维矢量渲染引擎内部。例如,Skia和Cario渲染引擎都紧耦了 OpenGL三维渲染引擎,Direc本文档来自技高网
...

【技术保护点】
一种基于二维和三维一体化矢量渲染引擎的装置,其特征在于:所述装置包括二维和三维一体化矢量渲染引擎,提供绘制原语转换功能,即将二维绘制原语转换成三维绘制原语,二维绘制原语是功能的输入,三维绘制原语是功能的输出,所述引擎完成二维矢量数据和三维矢量数据的渲染,三维矢量数据直接调用三维矢量渲染引擎完成渲染,二维矢量数据将经过一体化渲染引擎分线、面、图片和文字不同类型处理形成三维绘制原语,然后由三维矢量渲染引擎完成最终渲染。

【技术特征摘要】
1.一种基于二维和三维一体化矢量渲染引擎的装置,其特征在于:所述装置包括二维和三维一体化矢量渲染引擎,提供绘制原语转换功能,即将二维绘制原语转换成三维绘制原语,二维绘制原语是功能的输入,三维绘制原语是功能的输出,所述引擎完成二维矢量数据和三维矢量数据的渲染,三维矢量数据直接调用三维矢量渲染引擎完成渲染,二维矢量数据将经过一体化渲染引擎分线、面、图片和文字不同类型处理形成三维绘制原语,然后由三维矢量渲染引擎完成最终渲染。2.根据权利要求1所述的装置,其特征在于:所述引擎包括线渲染、面填充渲染、位图渲染和字体渲染,其中,所述线渲染,通过定义颜色、线宽、线型语义来渲染折线、曲线矢量数据;所述面填充渲染,通过定义填充类型、填充颜色语义来渲染面矢量数据;所述位图渲染,将位图数据渲染到特定范围内;所述字体渲染,将文字以特定的字体、大小渲染出来。3.根据权利要求2所述的装置,其特征在于:所述的线渲染为线绘制原语转换根据颜色、线宽、线型转换为三维绘制原语,一个带颜色值的顶点数组和一个索引数组就是线绘制原语到三维绘制原语转换的结果,线原语转换过程需要根据线的类型转换线的端头为平头或者圆头,如果是圆头则需要插入多个顶点形成三角形扇形模拟端头的圆弧,相应的顶点和索引应加入顶点和索引数组形成更为复杂的三维渲染原语;对于多段折线也需要在线段间衔接处生成圆弧衔接的...

【专利技术属性】
技术研发人员:贺楷锴张立周耀学卫东程方邓跃进宋爱红范业稳魏延峰朱伟奇张龙黄俊韬陈胜鹏许振华曹斌苏俊
申请(专利权)人:武大吉奥信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1