01-16
2017
龙芯软件生态系列 龙芯平台上构建开源3D游戏引擎OGRE指南
初识OGRE
OGRE,是Object-Oriented Graphics Rendering Engine(面向对象的图形渲染引擎)的缩写,是一款开源的跨平台的图形渲染引擎。引擎通过采用面向对象的设计方式,把3D图形API和操作系统接口的差别抽象为通用接口,将大量的上下文相关状态和操作封装起来,开发者可以用通用且简明易懂的代码在不同平台下、使用不同3D API接口进行操作,从而减少了不必要的重复工作。![](/uploads/allimg/170117/2-1F11H15PD35.gif)
今天我们就从OGRE源码开始,逐步在龙芯3A2000/3A3000主机、Fedora21社区操作系统的平台上构建OGRE。
下载OGRE源码
OGRE是一个开源引擎,将引擎源码开放在bitbucket,首先从bitbucket上克隆源码,执行如下命令:cd ~
hg clone https://bitbucket.org/sinbad/ogre
然后克隆OGRE所需的依赖库,执行如下命令:
hg clone https://bitbucket.org/cabalistic/ogredeps
上述命令要求您的电脑中安装了mercurial工具。如果您的电脑中没有预装mercurial,可以通过如下命令快速安装:
sudo yum install mercurial
从源代码构建OGRE
安装cmake-gui
构建OGRE需要cmake-gui工具的支持,首先安装cmake-gui工具,命令如下:sudo yum install cmake-gui
构建OGRE依赖库
OGRE的构建依赖于一些第三方库,开发者可以选择通过手动安装或者采用OGRE提供的依赖库源码整合包进行安装。依赖库说明如表中所示:依赖库 | 详细信息 | 备注 |
freetype | http://www.freetype.org | 必备 |
boost-date-time | http://www.boost.org | 推荐 |
boost-thread | http://www.boost.org | 推荐 |
nvidia-cg-toolkit | http://developer.nvidia.com/object/cg_toolkit.html | 推荐 |
zlib1g | http://www.zlib.net | 推荐 |
zzip | http://zziplib.sourceforge.net | 推荐 |
cppunit | http://cppunit.sourceforge.net | 可选 |
doxygen | http://doxygen.org | 可选 |
xt | x11 toolkit | 可选 |
xaw7 | X11 Athena Widget | 可选 |
xxf86vm | X11 XFree86 video mode extension library | 可选 |
xrandr | X11 RandR extension library | 可选 |
glu | OpenGL Utility | 可选 |
OIS | http://sourceforge.net/projects/wgois | 可选 |
POCO | http://pocoproject.org | 可选 |
TBB | http://www.threadingbuildingblocks.org | 可选 |
cd ogredeps
mkdir build
cd build
cmake ..
make
make install
构建OGRE
编译安装完OGRE的依赖库后,我们开始编译安装OGRE,命令如下:cd ogre
mkdir build
cmake-gui&
进入Cmake-gui后,执行如下操作:
配置源码目录为YOUR_PATH/ogre,
配置构建目录为YOUR_PATH/ogre/build
点击Configure
将OGRE_DEPENDENCIES_DIR项设为YOUR_PATH/ogredeps/build/ogredeps
点击Configure
如果产生错误则按照提示解决即可,比如缺少Xaw库,执行如下命令:
sudo yum install xaw-devel
再次Configure,直到没有错误并进入Build选项,如下图所示
![](/uploads/allimg/170117/2-1F11H15Z2556.jpg)
OGRE_BUILD_COMPONENT_XXX选项控制对应的XXX组件是否会被添加到OGRE中
OGRE_RENDERSYSTEM_XXX选项控制OGRE可以选用的渲染系统,在本文中采用了GL作为渲染系统,开发者也可以选择自己想要使用的渲染系统。
OGRE_INSTALL_DOCS选项控制是否要生成OGRE文档,需要提前安装doxygen,安装命令如下:
sudo yum install doxygen
OGRE_INSTALL_SAMPLES选项控制是否要生成OGRE的示例
选择完成后,点击Generate
操作成功后退出cmake-gui,回到命令行操作,执行如下命令:
cd build
make
make install
至此,OGRE在龙芯3A2000上的构建和安装就完成了,让我们去看看安装成果吧,执行如下命令:
#查看头文件
ls /usr/local/include/OGRE
#查看库文件
ls /usr/local/lib/libOgre*
#查看OGRE资源文件
ls /usr/local/share/OGRE
如果查看到了想要得到所有东西,恭喜你,OGRE已经安装成功了,让我们尽情畅游OGRE吧!
畅游OGRE
让我们一起进入OGRE的世界吧,打开OGRE实例浏览器的命令如下:cd ogre/build/bin
./SampleBrowser
配置好相关选项后就可以进入OGRE的实例浏览器了,下面有一些实例的截图分享给大家。
![](/uploads/allimg/170117/2-1F11H159302S.jpg)
New Instances示例
![](/uploads/allimg/170117/2-1F11H15950406.jpg)
Ocean示例
![](/uploads/allimg/170117/2-1F11H2000c14.jpg)
Character实例
这样OGRE构建和预览就完成了,开发者可以仔细研究一下每个例子的技术和相关选项的配置,一定也能有所收获。