EN

新闻中心

LOONGSON NEWS

栏目导航

龙芯软件生态系列 龙芯平台上构建开源3D游戏引擎OGRE指南

发布时间:2017-01-17    已阅读:

初识OGRE

        OGRE,是Object-Oriented Graphics Rendering Engine(面向对象的图形渲染引擎)的缩写,是一款开源的跨平台的图形渲染引擎。引擎通过采用面向对象的设计方式,把3D图形API和操作系统接口的差别抽象为通用接口,将大量的上下文相关状态和操作封装起来,开发者可以用通用且简明易懂的代码在不同平台下、使用不同3D API接口进行操作,从而减少了不必要的重复工作。
        ogre也有食人魔的含义,所以OGRE选择了食人魔的头像作为自己的形象标识。
        今天我们就从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 可选
本文中将采用编译OGRE提供的依赖库源码包的方式构建OGRE的依赖库,执行命令如下
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选项,如下图所示
        OGRE的Build选项较多,这里只做一些简单的介绍:
         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的实例浏览器了,下面有一些实例的截图分享给大家。
New Instances示例
Ocean示例
Character实例
        这样OGRE构建和预览就完成了,开发者可以仔细研究一下每个例子的技术和相关选项的配置,一定也能有所收获。

总结

        OGRE作为一个被应用与成功的商业游戏的渲染引擎,在龙芯平台上构建成功,给了开发者更多的图形开发选择。但由于笔者采用了集成显卡,目前一些示例的帧数有些偏低,但随着龙芯芯片的发展和开发者使用更好的显卡,一定可以获得更好的显示效果,做出更炫更酷的效果。