论文部分内容阅读
随着嵌入式设备上3D应用程序开发的飞速发展,OpenGLES图形标准由于其跨平台和方便的特性,得到迅速普及。但是由于发展时间较短,基于OpenGLES图形标准的应用程序不能满足用户的需求。由于OpenGLES图形标准是根据OpenGL图形标准裁剪、修改而来,而且基于OpenGL图形标准的应用程序十分丰富,因此如何将基于OpenGL图形标准的应用程序快速转换为基于OpenGLES图形标准的应用程序成为一个重要工作。 本文通过对当前OpenGL到OpenGLES转换器的调研和分析,发现这些转换器都是针对Windows平台而且都是仅仅实现图形绘制和纹理贴图两个模块的转换,没有注意两者在初始化,I/O交互以及GLU扩展等模块的不同。因此,本文将根据Uinux平台下OpenGL和OpenGLES应用程序在各个模块的不同,总结出一套完整的OpenGL到OpenGLES的转换方法。 本文将OpenGL到OpenGLES的转换过程分为初始化模块、基本几何图形绘制模块、纹理贴图模块、I/O交互模块、GLU库函数的移植等五部分。针对每个模块,首先介绍基于OpenGL图形标准和基于OpenGLES图形标准的应用程序在实现这个模块时的区别以及需要转换的内容,然后详细介绍该模块的转换方法。对于一些在基于OpenGL图形标准的应用程序中常用但是OpenGLES图形标准又不支持的函数,将利用OpenGLES图形标准支持的特性对这些接口进行重新设计并实现,进而提升转换的效率。最后对不同模块的转换方法进行必要的正确性验证。 最后,本文选取一款基于OpenGL图形标准的应用程序即Billiards游戏进行实践。按照本文介绍的OpenGL到OpenGLES接口转换的方法,将Billiards游戏转换为一款基于OpenGLES图形标准的应用程序。