eclipse androidOSG引擎在Android Studio中的移植和运行
倪梓轩;吉伟勇
【摘 要】基于OSG (OpenSceneGraph)设计并实现一个在Android Studio平台三维场景的展示系统.分析OSG引擎和Android Studio平台的优势,以三维飞机场景为模拟案例,重点对Android Studio平台上建立可视化三维模型的步骤和构建三维模型的关键技术进行研究.结果表明,基于OSG的三维飞机模型应用在Android Studio平台上运行流畅,响应速度快,图形质量高,具有很好的交互性,为OSG在移动平台的整体移植提供了实践参考.%A display system of three-dimensional scene on the Android Studio is designed and implemented based on OpenSceneGraph (OSG).Taking a three-dimensional airplane as a simulation case,an analysis was given on the advantages of OSG engine and the Android Studio,which focuses on the steps and the key technology of establishing visual 3D model construction.The results show that the applications of the three-dimensional aircraft model based on OSG operats smoothly on Android Studio and performs well in interactive response,quality graphics and interaction.And a practical reference is given for the three-dimensional scene which based on the OSG engine in the mobile platform.
【期刊名称】《计算机应用与软件》
【年(卷),期】2018(035)004
【总页数】4页(P212-214,236)
【关键词】OSG引擎;Android Studio系统;三维模型构建
【作 者】倪梓轩;吉伟勇
【作者单位】长安大学地质与测绘工程学院测绘工程系 陕西西安710064;长安大学地质与测绘工程学院测绘工程系 陕西西安710064
【正文语种】中 文
【中图分类】TP3
0 引 言
OSG是一个以工业图形标准OpenGL为底层渲染平台,使用C++编写的高层次API接口,即
三维可视化渲染引擎。它具有跨平台的特性和较高的渲染性,程序员能够通过它更加快速、便捷地创建高性能、跨平台的交互式图形程序[1]。随着地理信息技术和无人机航拍技术的日益发展,OSG引擎的应用范围也越来越广泛,它的相关扩展系统如OSGEarth、VPB及OSGOcean都在三维地理信息系统、计算机辅助设计、科学与工程数据可视化、游戏与娱乐等多个行业得到广泛应用[2-4]。随着计算机图形软硬件技术的发展和各类便携式设备的出现,OSG引擎从传统桌面工作站到移动平台的移植,已受到研究者的广泛关注[5]。汤有禄[6]利用OSG的Web可视化实现地质模型的模拟,其研究发现OSG技术在Android系统中的移植存在缺陷:大部分的移植都基于某一个模块,无OSG的整体移植,对数据处理和建模不完全,难以完成复杂逼真的三维图形构建,限制其在实际场景中的应用。移动设备其内存大小和处理器的计算能力是有限的,而复杂场景可视化对硬件性能的消耗比较大,移动终端在处理多尺度和多种类海量地理信息数据时仍有些力不从心[7]。如何实现OSG引擎技术在移动终端的完整移植,同时保留其数据的高速存取、图形的逼真效果,是当前OSG引擎向移动端移植的难点问题[8]。
鉴于以上原因,本文主要介绍了如何将OSG引擎导入安卓端编译器中,以Eclipse为媒介,移植到Android Studio 2.2.3平台,并进行编译和运行。详细给出了移动端OSG的开发流程,
并以三维飞机为构建实例,介绍了由Eclipse平台移植到Android Studio2.2.3平台上的具体实现方法和运行实例。
1 OSG移植特点概述
OSG引擎技术具有以下优点:① 场景图结构适合复杂三维虚拟仿真;② 完全免费并开放源代码,为各类系统开发提供很大的可扩展性(可利用3DMAX建立的动画资源),应用灵活;③ 可实现跨平台应用;④ 由于具备OpenGL的所有功能,从而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的快速开发提供很多附加的实用工具,在可视化视觉仿真方面效果很逼真[9-10]。以上所有特点,保证其移植后的应用效果。
2 基于OSG的Android Studio应用开发
Android Studio是谷歌公司于2013年I/O大会上公布最新的Android开发环境。它是一款全新的基于Intelli J IDEA(Java语言开发的集成环境)的开发环境。谷歌公司在Android Studio中对开发者控制台进行了改进,增加了许多新的功能,使其在运行处理速度、UI编辑器、XML预览和语法补全方面性能更加优异[11]。2016年推出的Android Studio 2.2.3版本与以
前的系统相比增加智能代码编辑器、快速且功能丰富的Andriod Emulator、基于Gradle的构建工具,使开发者可以更快的编码。同时增加循环访问速度,保证该平台上各类应用程序的运行速度[12]。因此,本文将原本在Eclipse环境下OSG移动端的开发移植到更快、更好的Android Studio 2.2.3中。
3 OSG移动端的移植和运行
OSG在Android Studio 2.2.3上的移植和运行主要包括以下三个主要步骤:① OSG引擎的源码编译;② 编译后源码导入Eclipse;③ 将Eclipse运行结果导入Android Studio 2.2.3中,其主要的技术流程见图1。
图1 OSG移动端移植过程图
3.1 OSG源码编译
OSG源码编译主要包括以下操作:首先,安装完jdk后,搭建Eclipse环境为导入项目做准备。然后,打开cmake终端,开始配置和编译第三方库。最后,完成OSG的源码编译。其中,第三方库中bin目录下的文件编译是关键点。图2为OSG移动端移植过程。
图2 OSG移动端移植过程图
3.2 编译后源码整体导入Eclipse
为了保证OSG引擎在Android Studio 2.2.3上的顺利运行,应将其在Eclipse环境下进行ndk配置和构建Builders,以建立用于Android Studio平台的Gradle文件。该项主要包括以下操作步骤:
① 配置ndk:通过右键单击项目->点击Properties,->弹出Properities对话框,点击Builders ->点击New->点击Program->点击Browse File System,选择ndk目录下的d->点击Browse Workspace,选择osgViewer项目->切换到Build Options标签,选中Specify working 复选框(如图3矩形框所示)->点击Specify Resources按钮选中osg例子中的jni文件夹->点击Finish->点击apply->点击ok,完成配置ndk。该步为Eclipse环境构建的关键点。
图3 ndk配置图
② 构建Builders:配置完ndk后,返回Properities对话框Builders标签,用UP按钮将刚建好
的New_Builder移到第一的位置。如图4所示,Builders构建完毕。
图4 Builders构建界面图
3.3 将Eclipse构建结果从Eclipse导入Android Studio 2.2.3
此步是完成移植最后一步,主要包括:① 在Eclipse中构建能用于Android Studio 2.2.3的Gradle文件;② 在Android Studio 2.2.3平台中导入Gradle文件;③ 模型实例运行。其中,构建Gradle文件是此步最关键的技术点,其操作主要包括:在Eclipse中已导入项目上点击右键->Export(如图5所示)->在弹出的Export窗口中选择“Android”下面的Generate Gradle build files->点击next->一直点击next直到选中刚在Eclipse创建的OSG项目->一直点击next直至Finish完成Gradle文件的创建。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。