ogre,是object-oriented graphics rendering engine(面向对象的图形渲染引擎)的缩写,是一款开源的跨平台的图形渲染引擎。引擎通过采用面向对象的设计方式,把3d图形api和操作系统接口的差别抽象为通用接口,将大量的上下文相关状态和操作封装起来,开发者可以用通用且简明易懂的代码在不同平台下、使用不同3d api接口进行操作,从而减少了不必要的重复工作。
ogre也有食人魔的含义,所以ogre选择了食人魔的头像作为自己的形象标识。
今天我们就从ogre源码开始,逐步在龙芯3a2000/3a3000主机、fedora21社区操作系统的平台上构建ogre。
ogre是一个开源引擎,将引擎源码开放在bitbucket,首先从bitbucket上克隆源码,执行如下命令:
cd ~
hg clone
然后克隆ogre所需的依赖库,执行如下命令:
hg clone
上述命令要求您的电脑中安装了mercurial工具。如果您的电脑中没有预装mercurial,可以通过如下命令快速安装:
sudo yum install mercurial
安装cmake-gui
构建ogre需要cmake-gui工具的支持,首先安装cmake-gui工具,命令如下:
sudo yum install cmake-gui
构建ogre依赖库
ogre的构建依赖于一些第三方库,开发者可以选择通过手动安装或者采用ogre提供的依赖库源码整合包进行安装。依赖库说明如表中所示:
依赖库 |
详细信息 |
备注 |
freetype |
|
必备 |
boost-date-time |
|
推荐 |
boost-thread |
|
推荐 |
nvidia-cg-toolkit |
|
推荐 |
zlib1g |
|
推荐 |
zzip |
|
推荐 |
cppunit |
|
可选 |
doxygen |
|
可选 |
xt |
x11 toolkit |
可选 |
xaw7 |
x11 athena widget |
可选 |
xxf86vm |
x11 xfree86 video mode extension library |
可选 |
xrandr |
x11 randr extension library |
可选 |
glu |
opengl utility |
可选 |
ois |
|
可选 |
poco |
|
可选 |
tbb |
|
可选 |
本文中将采用编译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作为一个被应用与成功的商业游戏的渲染引擎,在龙芯平台上构建成功,给了开发者更多的图形开发选择。但由于笔者采用了集成显卡,目前一些示例的帧数有些偏低,但随着龙芯芯片的发展和开发者使用更好的显卡,一定可以获得更好的显示效果,做出更炫更酷的效果。