fancifully 发表于 2017-1-19 11:36:50

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

初识OGRE      OGRE,是Object-Oriented Graphics Rendering Engine(面向对象的图形渲染引擎)的缩写,是一款开源的跨平台的图形渲染引擎。引擎通过采用面向对象的设计方式,把3D图形API和操作系统接口的差别抽象为通用接口,将大量的上下文相关状态和操作封装起来,开发者可以用通用且简明易懂的代码在不同平台下、使用不同3D API接口进行操作,从而减少了不必要的重复工作。http://www.loongson.cn/uploads/allimg/170117/2-1F11H15PD35.gif
      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提供的依赖库源码整合包进行安装。依赖库说明如表中所示:

依赖库详细信息备注
freetypehttp://www.freetype.org必备
boost-date-timehttp://www.boost.org推荐
boost-threadhttp://www.boost.org推荐
nvidia-cg-toolkithttp://developer.nvidia.com/object/cg_toolkit.html推荐
zlib1ghttp://www.zlib.net推荐
zziphttp://zziplib.sourceforge.net推荐
cppunithttp://cppunit.sourceforge.net可选
doxygenhttp://doxygen.org可选
xtx11 toolkit可选
xaw7X11 Athena Widget可选
xxf86vmX11 XFree86 video mode extension library可选
xrandrX11 RandR extension library可选
gluOpenGL Utility可选
OIShttp://sourceforge.net/projects/wgois可选
POCOhttp://pocoproject.org可选
TBBhttp://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选项,如下图所示http://www.loongson.cn/uploads/allimg/170117/2-1F11H15Z2556.jpg
      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的实例浏览器了,下面有一些实例的截图分享给大家。http://www.loongson.cn/uploads/allimg/170117/2-1F11H159302S.jpg
New Instances示例
http://www.loongson.cn/uploads/allimg/170117/2-1F11H15950406.jpg
Ocean示例
http://www.loongson.cn/uploads/allimg/170117/2-1F11H2000c14.jpg
Character实例
      这样OGRE构建和预览就完成了,开发者可以仔细研究一下每个例子的技术和相关选项的配置,一定也能有所收获。
总结      OGRE作为一个被应用与成功的商业游戏的渲染引擎,在龙芯平台上构建成功,给了开发者更多的图形开发选择。但由于笔者采用了集成显卡,目前一些示例的帧数有些偏低,但随着龙芯芯片的发展和开发者使用更好的显卡,一定可以获得更好的显示效果,做出更炫更酷的效果。

fancifully 发表于 2017-1-20 11:54:43

论坛人气不旺啊!

sn2015ol 发表于 2017-1-20 17:11:57

龙芯技术的文章不应该在这里 我会新建版面。

fancifully 发表于 2017-2-6 12:00:11

sn2015ol 发表于 2017-1-20 17:11
龙芯技术的文章不应该在这里 我会新建版面。

好的,收到;P
页: [1]
查看完整版本: 龙芯软件生态系列 龙芯平台上构建开源3D游戏引擎OGRE指南