论文部分内容阅读
随着人们生活水平的提高与科学技术的高速发展,在嵌入式设备上开发3D应用程序将会成为亮点,把3D技术应用到Android产品中,会极大的提高产品的竞争力。而3D图形开发的过程中所涉及的知识相当广泛,加大了快速开发产品的难度。基于此问题,本文研究3D引擎技术对常用组件进行封装,以降低产品开发难度,提高开发速度。首先,本文分析和总结了国内外在Android系统上的3D引擎开发、应用现状,研究表明目前国内在Android系统的3D引擎的研究处于起步阶段,为此本文研究基于Android系统3D引擎能够缩小与国外的差距。然后,主要分析了基于Android系统3D引擎关键技术。先从总体上分析了在Android系统上3D引擎的框架结构,以及3D引擎各个部分的功能;而后,研究了向量、矩阵、四元数等三维图形学相关的数学知识;接着,分析了3D图形库OpenGL ES固定渲染管线;最后,详细分析了光照技术、纹理映射和混合等3D技术。在此基础上,设计实现基于Android系统3D引擎。主要设计实现了:接口模块、数学库、天空盒、公告板、粒子系统、文字显示系统。文中对比了几种常见的天空模拟方法,综合效率和渲染效果,选取天空盒作为最终的实现。公告板技术是一个简单实用的组件,用来模拟森林、火苗、立柱。然后从简化物理模型和对死亡粒子的处理方式等方法上对粒子系统的算法进行了优化,并设计实现了基于粒子系统的雪景。最后结合了FreeType和OpenGL的优势,实现了一个文字显示系统,能够实时生成文字对应图片,无需事先完成,节省了内存空间,由于使用的是TrueType字体,放大也不会产生模糊锯齿等现象。最后,在PC机上搭建Android系统仿真平台,测试了各个模块的功能。实验结果表明,天空盒能较为逼真的模型天空;粒子雪景、雨景也较为逼真的模拟,文中对比了粒子系统算法改进前后,帧率有明显提升;文字显示系统能够清晰、无锯齿的在三维空间中显示多种中文字体。本文中采用C/C++作为编程语言,执行效率高于Java语言,适合于在嵌入式Android设备上开发3D应用程序。因此本文研究基于Android系统的3D引擎技术,能够使开发更加便捷、高效。