CN103729190B - 在移动终端上多种媒介统一解析显示的方法 - Google Patents

在移动终端上多种媒介统一解析显示的方法 Download PDF

Info

Publication number
CN103729190B
CN103729190B CN201310756473.XA CN201310756473A CN103729190B CN 103729190 B CN103729190 B CN 103729190B CN 201310756473 A CN201310756473 A CN 201310756473A CN 103729190 B CN103729190 B CN 103729190B
Authority
CN
China
Prior art keywords
data
vector
content
pel
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310756473.XA
Other languages
English (en)
Other versions
CN103729190A (zh
Inventor
杨晓峰
刘波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIANJIN HUAYONG WIRELESS TECHNOLOGY Co Ltd
Original Assignee
TIANJIN HUAYONG WIRELESS TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TIANJIN HUAYONG WIRELESS TECHNOLOGY Co Ltd filed Critical TIANJIN HUAYONG WIRELESS TECHNOLOGY Co Ltd
Priority to CN201310756473.XA priority Critical patent/CN103729190B/zh
Publication of CN103729190A publication Critical patent/CN103729190A/zh
Application granted granted Critical
Publication of CN103729190B publication Critical patent/CN103729190B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

一种在移动终端上多种媒介统一解析显示的方法,首先对移动终端上的三种媒介形式通过统一内容解析器进行处理,包括对swf矢量数据初步解析:建立矢量解析库;通过矢量解析库正确解析出flash数据中的矢量线,多边形,文字、渐变、蒙板、位图数据;将位图转换为纹理数据,渐变色转换为纹理数据;蒙版转换为3d图形中的蒙版;将矢量线和多边形拟合为参数可控的线条和多边形;对2D图文和3D模型初步解析处理:将2D图文在3D图形空间中变换视图矩阵为正视图方式,然后与3D模型一样进行处理;最后对初步解析后的数据进行统一处理,然后用通用的3D渲染算法进行统一渲染显示。本发明能够在小屏幕设备上实现动人心弦图形、动画和三维效果。

Description

在移动终端上多种媒介统一解析显示的方法
技术领域
本发明涉及一种移动计算终端显示方法。特别是涉及一种在移动终端上多种媒介统一解析显示的方法。
背景技术
鉴于当前移动计算终端具有显示屏幕小、对模型精度要求较低和处理能力相对较弱、处理高细节度的模型十分吃力,以及受带宽所限,需要对媒体内容进行组织管理等特点。而已有的媒介形式又十分庞杂,对移动计算终端的这些特点针对性不够。为此,围绕在移动计算终端上进行多种媒体图形的显示,根据移动计算终端的特点,提出了一个实现过程简单、多种媒介统一解析显示的方法,是十分需要的。
发明内容
本发明所要解决的技术问题是,提供一种实现过程简单、多种媒介统一显示的在移动终端上多种媒介统一解析显示的方法。
本发明所采用的技术方案是:一种在移动终端上多种媒介统一解析显示的方法,首先对移动终端上的三种媒介形式通过统一内容解析器进行处理,包括对swf矢量数据、2D图文和3D模型三种格式做初步解析处理,以及对初步解析后的数据进行统一处理,然后用通用的3D渲染算法进行统一渲染显示。
所述的对swf矢量数据的初步解析处理,是将swf矢量数据通过矢量解析库进行解析,读取矢量数据,包括路径、文字、位图内容,并组织为矢量图元数据,这些矢量图元数据在内存中以结构性的描述数据出现,所述结构性的描叙,是指使用端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值,以及端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值的组合来描叙矢量图形中的路径、矢量线、文字和位图内容,然后通过样条拟合,将矢量线拟合为具有一定量的曲线和多边形,并将位图和文字转换为纹理数据。
所述的对swf矢量数据的初步解析处理,包括如下步骤:
1)建立矢量解析库:根据swf文件格式说明,制作一个C++解析库,支持ActionScript脚本规范;
2)通过矢量解析库正确解析出flash数据中的矢量线,多边形,文字、渐变、蒙板、位图数据;
3)将步骤2)中的位图转换为纹理数据,渐变色转换为纹理数据;蒙版转换为3d图形中的蒙版;
4)将步骤2)中的矢量线和多边形拟合为参数可控的线条和多边形。
所述的C++矢量解析库,是指通过标准的swf文件格式说明及规范,通过对swf格式的文件头,文件内容,使用C++语言,对swf矢量媒介源进行读取,解析,并组织为C++语言形式的数据结构,将这些结构和读取方法组合为一个标准的C++模块,并对外提供获取swf各类形式内容的接口。
所述的对2D图文做初步解析处理,是将2D内容看作为3D空间变换的一个特例,在3D图形空间中,变换视图矩阵为正视图方式,然后采用对3D模型做初步解析处理的方法进行2D图形的处理和绘制。
所述的对3D模型做初步解析处理,是将3D模型数据通过OpenGL图形库直接解析为三维网格数据,所述的三维网格数据包括:三维空间的定义,可视范围的定义,三维模型所描叙的点在三维空间中的位置描叙、索引描叙、纹理坐标描叙。
所述的对初步解析后的数据进行统一处理,包括:
1)将初步解析处理得到的线条和多边形处理为自定义的2D图元内容;将初步解析处理得到的三维网格处理为自定义的3D图元内容;
2)以2D图元和3D图元容为基础处理数据,根据编号索引和空间位置关系,将2D图元作为Z轴固定的空间坐标,统一形成空间坐标系下的2D内容和3D内容,形成统一的场景管理;
3)将整个场景进行统一空间转换,将3D处理的空间变换矩阵实时传递给2D视图矩阵,从而使3D图元和2D图元绘制的内容能够混合在一起;
4)再经过统一的投影矩阵将统一化的内容投影到一个显示平面上,得到在矩形平面上的处理后的2D图元和3D图元,即是扁平化处理过的三角形图元缓存数据;
5)将步骤4)得到的纹理数据与编号后的2D图元和3D图元进行绑定,用于统一处理。
步骤1)所述的2D图元内容包含有各个2D单元的编号索引值、线条和多边形的图形点线坐标描述。
步骤1)所述的3D图元内容包含有三维网格组成点的编号索引值、空间位置关系、深度关系、灯光材质描叙信息。
所述的用3D渲染算法进行统一渲染显示,是采用通用OpenGL3D渲染方法,对统一的三角形图元缓存进行顶点处理,像素处理,深度处理,并统一进行反走样处理,从而达到内容的原生显示效果。
本发明的在移动终端上多种媒介统一解析显示的方法,是围绕在移动计算终端上进行多种媒体图形的显示,根据移动计算终端的特点,提出了一个实现过程简单、多种媒介统一显示的方法,本发明的方法能够在小屏幕设备上实现动人心弦图形、动画和三维效果,并支持硬件加速以在极低的处理器功率级别下实现流畅的交互性能。
附图说明
图1是本发明方法的整体流程图;
图2是对swf矢量数据的初步解析处理的流程图;
图3是2D图文数据和3D图文做初步解析处理的流程图;
图4是对初步解析后的数据进行统一处理的流程图;
图5是用3D渲染算法进行统一渲染显示的流程图;
图6是本发明实例转化的示意图
图中:①矢量数据,②矢量文字,③2D图像,④3D模型;
图7是原始flash显示的效果图;
图8是将图7转换为2D图元后解析得到的效果图;
图9是对图8的效果图通过渲染显示得到的效果图;
图10是卡通小鸡的内容组合效果图;
图11是图10中部分的图元解析结构组成的效果图。
具体实施方式
下面结合实施例和附图对本发明的在移动终端上多种媒介统一解析显示的方法做出详细说明。
目前在移动终端上有如下几种媒介形式,也是本发明的在移动终端上多种媒介统一解析显示的方法的输入数据:
a)swf矢量数据(即常用的flash数据),SWF格式文件广泛用于创建吸引人的应用程序,它们包含丰富的视频、声音、图形和动画。Flash可以包含简单的动画、视频内容、复杂演示文稿和应用程序以及介于它们之间的任何内容
b)2D图文数据,2D图形内容最显著的特征是所有图形元素是以平面图片的形式制作的,而2D动画则是以一张一帧的形式预先存在的,传统的2D媒体内容很少需要调用显卡加速,大部分的2D图形元素都是通过CPU进行,我们的统一内容解析器支持显卡加速处理。
c)3D模型数据,3D模型数据由若干个几何多边体构成。为了显示对象,你在文件中存储的是对对象的描述语句:对象由哪几个多边体组成,它们之间的位置关系,以及在哪个部位使用哪个贴图等等描述性内容。
如图1所示,本发明的在移动终端上多种媒介统一解析显示的方法,首先对移动终端上的三种媒介形式通过统一内容解析器进行处理,所述的内容解析器能够同时对下述三种流行格式内容进行解析,并提供给下方的显示流程使用,所述三种流行格式内容包括对swf矢量数据、2D图文和3D模型三种格式做初步解析处理,以及对初步解析后的数据进行统一处理,然后用3D渲染算法进行统一渲染显示。
如图2所示,所述的对swf矢量数据的初步解析处理,是将swf矢量数据通过矢量解析库进行解析,读取矢量数据,包括路径、文字、位图等内容,并组织为矢量图元数据,这些矢量图元数据在内存中以结构性的描述数据出现,所述结构性的描叙,是指使用端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值,以及端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值的组合来描叙矢量图形中的路径、矢量线、文字和位图等内容,然后通过样条拟合,将矢量线拟合为具有一定量的曲线和多边形,并将位图和文字转换为纹理数据。所述的对swf矢量数据的初步解析处理,包括如下步骤:
1)建立矢量解析库:根据swf文件格式说明,制作一个C++解析库,支持ActionScript脚本规范;
所述的C++矢量解析库,是指通过标准的swf文件格式说明及规范,通过对swf格式的文件头,文件内容,使用C++语言,对swf矢量媒介源进行读取,解析,并组织为C++语言形式的数据结构,将这些结构和读取方法组合为一个标准的C++模块,并对外提供获取swf各类形式内容的接口。
2)通过矢量解析库正确解析出flash数据中的矢量线,多边形,文字、渐变、蒙板、位图等数据;
3)将步骤2)中的位图转换为纹理数据,渐变色转换为纹理数据;蒙版转换为3d图形中的蒙版;
4)将步骤2)中的矢量线和多边形等拟合为参数可控的线条和多边形。
如图3所示,所述的对2D图文做初步解析处理,是由于在移动终端上使用硬件加速的2D图文数据和3D模型数据是以OPENGL基础图形库为基本绘制库,因此可以将2D内容看作为3D空间变换的一个特例,在3D图形空间中,变换视图矩阵为正视图方式,然后采用对3D模型做初步解析处理的方法进行2D图形的处理和绘制。所述的对3D模型做初步解析处理,是将3D模型数据通过OpenGL图形库直接解析为三维网格数据,所述的三维网格数据包括:三维空间的定义,可视范围的定义,三维模型所描叙的点在三维空间中的位置描叙、索引描叙、纹理坐标描叙。
如图4所示,所述的对初步解析后的数据进行统一处理,包括:
1)将初步解析处理得到的线条和多边形处理为自定义的2D图元内容,所述的2D图元内容包含有各个2D单元的编号索引值、线条和多边形的图形点线坐标描述;
将初步解析处理得到的三维网格处理为自定义的3D图元内容,所述的3D图元内容包含有三维网格组成点的编号索引值、空间位置关系、深度关系、灯光材质描叙信息;
2)以2D图元和3D图元容为基础处理数据,根据编号索引和空间位置关系,将2D图元作为Z轴固定的空间坐标,统一形成空间坐标系下的2D内容和3D内容,形成统一的场景管理;
3)将整个场景进行统一空间转换,将3D处理的空间变换矩阵实时传递给2D视图矩阵,从而使3D图元和2D图元绘制的内容能够混合在一起;
4)再经过统一的投影矩阵将统一化的内容投影到一个显示平面上,得到在矩形平面上的处理后的2D图元和3D图元,这时候的2D图元和3D图元已经是平面化了的,即是扁平化处理过的三角形图元缓存数据;
5)将步骤4)得到的纹理数据与编号后的2D图元和3D图元进行绑定,也就是和三角形图元数据进行纹理关联,用于统一处理。
到这一步,统一内容解析器的工作完成。这种解析方法的特点在于:
(1)将swf矢量数据进行了图形化的转换和图形化的解析,以便能够使用硬件显示核心的硬件加速功能,使之在移动终端上能够流畅运行swf矢量数据。
(2)将矢量数据、2D图文和3D模型进行统一解析、融合显示,打破其中的隔阂和差异。
(3)三种媒介内容在图元处理阶段能够进行统一管理,方便全局性的后续操作。
如图5所示,所述的用3D渲染算法进行统一渲染显示,是采用通用OpenGL的3D渲染方法,对统一的三角形图元缓存进行顶点处理,像素处理,深度处理,并统一进行混合及反走样处理,进行帧缓存,从而达到内容的原生显示效果。
下面给出一具体实例:
转化流程如图6所示,转化的具体过程如下:
实现1:将矢量文字2D化:
原始flash显示的效果图如图7所示;转换为2D图元后对该文字的线条和三角形解析得到如图8所示的效果图;通过渲染显示得到如图9所示的效果图;
实现2:swf矢量卡通小鸡的解析效果
图10是卡通小鸡的内容组合效果图,在显卡中,通过统一内容解析器得到swf矢量卡通小鸡的部分的图元解析结构组成的效果图如图11所示。

Claims (9)

1.一种在移动终端上多种媒介统一解析显示的方法,其特征在于,首先对移动终端上的三种媒介形式通过统一内容解析器进行处理,包括对swf矢量数据、2D图文和3D模型三种格式做初步解析处理,以及对初步解析后的数据进行统一处理,然后用通用的3D渲染算法进行统一渲染显示,其特征在于,所述的对swf矢量数据的初步解析处理,是将swf矢量数据通过矢量解析库进行解析,读取矢量数据,包括路径、文字、位图内容,并组织为矢量图元数据,这些矢量图元数据在内存中以结构性的描述数据出现,所述结构性的描叙,是指使用端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值,以及端点位置值、经过点位置值、颜色及颜色过渡值、和位图源地址的基本值的组合来描叙矢量图形中的路径、矢量线、文字和位图内容,然后通过样条拟合,将矢量线拟合为具有一定量的曲线和多边形,并将位图和文字转换为纹理数据。
2.根据权利要求1所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的对swf矢量数据的初步解析处理,包括如下步骤:
1)建立矢量解析库:根据swf文件格式说明,制作一个C++解析库,支持ActionScript脚本规范;
2)通过矢量解析库正确解析出flash数据中的矢量线,多边形,文字、渐变、蒙板、位图数据;
3)将步骤2)中的位图转换为纹理数据,渐变色转换为纹理数据;蒙版转换为3d图形中的蒙版;
4)将步骤2)中的矢量线和多边形拟合为参数可控的线条和多边形。
3.根据权利要求2所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的C++矢量解析库,是指通过标准的swf文件格式说明及规范,通过对swf格式的文件头,文件内容,使用C++语言,对swf矢量媒介源进行读取,解析,并组织为C++语言形式的数据结构,将这些结构和读取方法组合为一个标准的C++模块,并对外提供获取swf各类形式内容的接口。
4.根据权利要求1所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的对2D图文做初步解析处理,是将2D内容看作为3D空间变换的一个特例,在3D图形空间中,变换视图矩阵为正视图方式,然后采用对3D模型做初步解析处理的方法进行2D图形的处理和绘制。
5.根据权利要求1或4所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的对3D模型做初步解析处理,是将3D模型数据通过OpenGL图形库直接解析为三维网格数据,所述的三维网格数据包括:三维空间的定义,可视范围的定义,三维模型所描叙的点在三维空间中的位置描叙、索引描叙、纹理坐标描叙。
6.根据权利要求1所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的对初步解析后的数据进行统一处理,包括:
1)将初步解析处理得到的线条和多边形处理为自定义的2D图元内容;将初步解析处理得到的三维网格处理为自定义的3D图元内容;
2)以2D图元和3D图元容为基础处理数据,根据编号索引和空间位置关系,将2D图元作为Z轴固定的空间坐标,统一形成空间坐标系下的2D内容和3D内容,形成统一的场景管理;
3)将整个场景进行统一空间转换,将3D处理的空间变换矩阵实时传递给2D视图矩阵,从而使3D图元和2D图元绘制的内容能够混合在一起;
4)再经过统一的投影矩阵将统一化的内容投影到一个显示平面上,得到在矩形平面上的处理后的2D图元和3D图元,即是扁平化处理过的三角形图元缓存数据;
5)将步骤4)得到的纹理数据与编号后的2D图元和3D图元进行绑定,用于统一处理。
7.根据权利要求6所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,步骤1)所述的2D图元内容包含有各个2D单元的编号索引值、线条和多边形的图形点线坐标描述。
8.根据权利要求6所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,步骤1)所述的3D图元内容包含有三维网格组成点的编号索引值、空间位置关系、深度关系、灯光材质描叙信息。
9.根据权利要求1所述的一种在移动终端上多种媒介统一解析显示的方法,其特征在于,所述的用通用的3D渲染算法进行统一渲染显示,是采用通用OpenGL3D渲染方法,对统一的三角形图元缓存进行顶点处理,像素处理,深度处理,并统一进行反走样处理,从而达到内容的原生显示效果。
CN201310756473.XA 2013-12-31 2013-12-31 在移动终端上多种媒介统一解析显示的方法 Active CN103729190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310756473.XA CN103729190B (zh) 2013-12-31 2013-12-31 在移动终端上多种媒介统一解析显示的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310756473.XA CN103729190B (zh) 2013-12-31 2013-12-31 在移动终端上多种媒介统一解析显示的方法

Publications (2)

Publication Number Publication Date
CN103729190A CN103729190A (zh) 2014-04-16
CN103729190B true CN103729190B (zh) 2017-01-04

Family

ID=50453276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310756473.XA Active CN103729190B (zh) 2013-12-31 2013-12-31 在移动终端上多种媒介统一解析显示的方法

Country Status (1)

Country Link
CN (1) CN103729190B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933747B (zh) * 2015-06-10 2018-01-12 北京奇虎科技有限公司 将矢量动画转换为位图动画的方法及装置
CN106920270B (zh) * 2015-12-24 2021-06-25 博雅网络游戏开发(深圳)有限公司 动画处理方法和装置
CN106683189B (zh) * 2016-11-29 2019-09-27 浙江科澜信息技术有限公司 一种在三维场景中渲染文字的方法
CN106709863B (zh) * 2016-12-28 2020-04-28 杭州趣维科技有限公司 一种基于gpu的高效2d矢量图形渲染方法
CN108876887B (zh) * 2017-05-16 2021-12-14 北京京东尚科信息技术有限公司 渲染方法和装置
CN109559361B (zh) * 2018-10-23 2023-11-28 高新兴科技集团股份有限公司 基于Android的不规则区域矢量图动态检测方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567970A (zh) * 2003-06-25 2005-01-19 张齐治 Swf文件(flash)在手持移动设备上播放的方法
CN101340598A (zh) * 2008-08-07 2009-01-07 北京衡准科技有限公司 一种实现媒体三维播放的方法及装置
CN103093502A (zh) * 2012-12-21 2013-05-08 广州中大电讯科技有限公司 一种基于旋转三视图的三维模型信息获取方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712052B2 (en) * 2006-07-31 2010-05-04 Microsoft Corporation Applications of three-dimensional environments constructed from images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567970A (zh) * 2003-06-25 2005-01-19 张齐治 Swf文件(flash)在手持移动设备上播放的方法
CN101340598A (zh) * 2008-08-07 2009-01-07 北京衡准科技有限公司 一种实现媒体三维播放的方法及装置
CN103093502A (zh) * 2012-12-21 2013-05-08 广州中大电讯科技有限公司 一种基于旋转三视图的三维模型信息获取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
使用OpenGL开发实时三维应用程序;徐受容;《重庆大学学报》;20000930;第23卷(第5期);第63页第2栏第6段,第64页第5段,图1 *

Also Published As

Publication number Publication date
CN103729190A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103729190B (zh) 在移动终端上多种媒介统一解析显示的方法
KR102319179B1 (ko) 조명을 시뮬레이션하기 위한 렌더링 방법, 및 단말
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
CN104268922B (zh) 一种图像渲染方法及图像渲染装置
US9916674B2 (en) Baking path rendering objects into compact and efficient memory representations
US8988446B2 (en) 2D animation from a 3D mesh
CN110544290A (zh) 数据渲染方法及装置
Theoharis et al. Graphics and visualization: principles & algorithms
US20190066370A1 (en) Rendering an image from computer graphics using two rendering computing devices
CN110706326B (zh) 数据展示方法及装置
CN101071508A (zh) 图像处理装置和图像处理方法
CN1655191A (zh) 基于可编程图形硬件的多边形网格模型的快速体素化方法
CN103606184A (zh) 一种基于二维和三维一体化矢量渲染引擎的装置
CN109636894B (zh) 一种基于像素点栅格化的动态三维热力计算方法及系统
CN108986193A (zh) 一种三维文字描边绘制方法
WO2016040538A1 (en) Convex polygon clipping during rendering
CN117390322A (zh) 虚拟空间构建方法、装置、电子设备及非易失性存储介质
US9704290B2 (en) Deep image identifiers
CN111932448B (zh) 一种数据处理方法、装置、存储介质及设备
US20230316626A1 (en) Image rendering method and apparatus, computer device, and computer-readable storage medium
US11417058B2 (en) Anti-aliasing two-dimensional vector graphics using a multi-vertex buffer
CN103839217A (zh) 一种水印图片的实现方法
CN113593028A (zh) 一种用于航电显控的三维数字地球构建方法
Limberger et al. OpenLL: an API for dynamic 2D and 3D labeling
US20230252717A1 (en) Ray tracing processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant