1. 程式人生 > >龍芯平臺上構建開源3D遊戲引擎OGRE指南

龍芯平臺上構建開源3D遊戲引擎OGRE指南

http://www.loongson.cn/news/company/512.html

初識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作為一個被應用與成功的商業遊戲的渲染引擎,在龍芯平臺上構建成功,給了開發者更多的圖形開發選擇。但由於筆者採用了整合顯示卡,目前一些示例的幀數有些偏低,但隨著龍芯晶片的發展和開發者使用更好的顯示卡,一定可以獲得更好的顯示效果,做出更炫更酷的效果。

1.png