青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

[原創(chuàng)]Ogre向?qū)Ы坛?1)

我這個人記性不好,學(xué)過的東西老是愛忘,學(xué)得越多忘得越快,腦子和我可憐的硬盤一樣容量比較小,所以我發(fā)現(xiàn)我不得不把有些東西記錄下來。其實學(xué)一樣?xùn)|西關(guān)鍵在于多學(xué)多用,有道是書讀百遍其意自現(xiàn),對于我這種比較笨又沒天賦的人來說可謂金玉良言了。
以上算前言吧,下邊才是正文。

Ogre這個引擎的效率不知道實際應(yīng)用起來如何,但是聽說結(jié)構(gòu)倒是比較好的。選擇它來學(xué)習(xí)主要是因為它開源,而且是C++和Dx寫的,關(guān)鍵還有資料比較多,國內(nèi)研究的也比較多,也有一些教程,不過Ogre不斷推出新版本,許多教程都有點過期了。要了解最新的使用方法還得看官方的教程。我也是直接看官方的教程,但是英文一般,每次打開大片英文頁面看著的確比較迷糊,所以我打算把里面一些重要的關(guān)鍵部分節(jié)選出來以備參考,有時候可以快速的重溫,比如這篇要介紹的如何配置Ogre,需要記嗎?程序員記不了那么多啦,用的時候再查。當(dāng)然Ogre也在持續(xù)更新,如果我個人還在持續(xù)學(xué)習(xí)使用Ogre,那么我也會持續(xù)更新這些教程的,如果你是Ogre的使用者記得來我的Blog:http://m.shnenglu.com/singohgod 看看吧,希望能對大家有點幫助。

首先安裝SDK,可以編譯里面帶的示例看看一些效果展示。編譯源碼就得下載源碼吧,記得還要下一個Dependencies,解壓到源碼目錄就可以了,編譯應(yīng)該能通過的,我這里沒有遇到問題。

不要被繁多的目錄和文件嚇著了,其實運行Ogre程序只需要下列庫和文件:
OGRE Libraries & Files

  • OGRE libraries (OgreMain[_d].dll, OgrePlatform[_d].dll or libOgreMain.so, libOgrePlatform.so for linux).
  • plugins.cfg - Text file specifying the rendering libraries available to Ogre (ie DX9, OpenGL).
  • All the plugin libraries listed in plugins.cfg (you can remove items from plugins.cfg if you don't wish to use them).
  • resources.cfg - If using the ExampleApplication, a text file specifing paths to materials, textures, models, etc.
  • OgreCore.zip - Ensure resources.cfg has the proper path to this file if you plan to use the OGRE debug panel or profiler.
  • Other Resources used in your program (*.zip; *.png; *.particle; *.mesh; ...).

還需要其他的第三方庫:
These are required:

  • Zlib: zlib1.dll; libz.so (debian: zlib1g, zlib1g-dev)
  • DevIL: devil.dll, ilu.dll, ilut.dll; libIL.so, libILU.so (debian: libdevil1, libdevil-dev)

These are optional:

  • CEGUI: OgreGUIRenderer[_d].dll, CEGUIBase[_d].dll, CEGUITaharezLook[_d].dll, CEGUIWindowsLook[_d].dll, xerces-c_2_5_0.dll
  • CEGUI: libCEGUIBase.so, libCEGUIOgreRenderer.so, libxerces-c.so (debian: libcegui-mk2-0, libcegui-mk2-dev, libxerces26, libxerces26-dev)
  • Cg: cg.dll; libCg.so (debian: nvidia-cg-toolkit)
  • OpenEXR: openexr.dll??; (debian: libopenexr-dev libopenexr2 )
  • ReferenceApp: ReferenceAppLayer.dll

不同的編譯器還需要有:
Extras for Microsoft Visual C++ 6 (SP3+)

  • stlport_vc6[_stldebug]46.dll
  • msvcp60[D].dll
  • msvcrt[D].dll
Extras for Microsoft Visual C++.Net 2002
  • stlport_vc7[_stldebug]46.dll
  • msvcp70[d].dll
  • msvcr70[d].dll
Extras for Microsoft Visual C++.Net 2003
  • msvcp71[d].dll
  • msvcr71[d].dll
Extras for Mingw + STLPort
  • libstlport[stlg].5.0.dll
  • mingwm10.dll


設(shè)置環(huán)境變量:
If you downloaded and installed the precompiled OGRE SDK, you should already have an environment variable called 'OGRE_HOME' registered already, pointing at the folder where you installed. If it isn't there you probably installed under a different user, so define OGRE_HOME manually

  • If you downloaded the source distribution, you should register a new environment variable OGRE_SRC pointing at the 'ogrenew' folder from the OGRE source

    Ogre源碼項目的目錄結(jié)構(gòu):
    work_dir
        include
           *.h
        src
           *.cpp
        scripts
           *.vcproj

    新建項目也依據(jù)這個結(jié)構(gòu),你的項目應(yīng)該有這些文件夾:'bin', 'include', 'media', 'testsolution', 'scripts', and 'src'

    修改新項目的屬性:
    Debugging : Working Directory                       = ..\bin\Debug
    C/C++ : Preprocessor : Preprocessor Definitions += _STLP_DEBUG (only in Debug mode, not needed for .Net 2003 and 2005)
    C/C++ : Code Generation : Use runtime library = Multithreaded Debug DLL (Multithreaded DLL in Release)
    Linker : General : Output File                            = ..\bin\Debug\[appname].exe
    Linker : Input : Additional Dependencies                += OgreMain_d.lib (OgreMain.lib in Release)

    如果你是安裝SDK:

    C/C++ : General : Additional Include Directories 	 = ..\include;$(OGRE_HOME)\include;$(OGRE_HOME)\samples\include
    Linker : General : Additional Library Directories         = $(OGRE_HOME)\lib
    

    如果你是編譯源碼:

    C/C++ : General : Additional Include Directories 	 = ..\include;$(OGRE_SRC)\OgreMain\include;$(OGRE_SRC)\Samples\Common\Include
    Linker : General : Additional Library Directories         = $(OGRE_SRC)\OgreMain\Lib\Debug

    這些設(shè)置好以后你就可以新建一個SampleApp.cpp文件,然后拷貝如下代碼:




    #include "ExampleApplication.h"

    // Declare a subclass of the ExampleFrameListener class
    class MyListener : public ExampleFrameListener
    {
    public:
        MyListener(RenderWindow
    * win, Camera* cam) : ExampleFrameListener(win, cam)
        
    {
        }


        
    bool frameStarted(const FrameEvent& evt)
        
    {
            
    return ExampleFrameListener::frameStarted(evt);        
        }


        
    bool frameEnded(const FrameEvent& evt)
        
    {
            
    return ExampleFrameListener::frameEnded(evt);        
        }

    }
    ;

    // Declare a subclass of the ExampleApplication class
    class SampleApp : public ExampleApplication 
    {
    public:
       SampleApp() 
       
    {
       }


    protected:
       
    // Define what is in the scene
       void createScene(void)
       
    {
           
    // put your scene creation in here
       }

      
       
    // Create new frame listener
       void createFrameListener(void)
       
    {
           mFrameListener 
    = new MyListener(mWindow, mCamera);
           mRoot
    ->addFrameListener(mFrameListener);
       }

    }
    ;

    #ifdef __cplusplus
    extern "C" {
    #endif

    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 
    #define WIN32_LEAN_AND_MEAN 
    #include 
    "windows.h" 
    INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) 
    #else 
    int main(int argc, char **argv) 
    #endif 
    {
        
    // Instantiate our subclass
        SampleApp myApp;

        
    try {
            
    // ExampleApplication provides a go method, which starts the rendering.
            myApp.go();
        }

        
    catch (Ogre::Exception& e) {
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 
            MessageBoxA(NULL, e.getFullDescription().c_str(), 
    "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
    #else
            std::cerr 
    << "Exception:\n";
            std::cerr 
    << e.getFullDescription().c_str() << "\n";
    #endif
            
    return 1;
        }


    return 0;
    }


    #ifdef __cplusplus
    }

    #endif

    未完!
  • posted on 2010-04-21 22:32 avatar 閱讀(341) 評論(0)  編輯 收藏 引用 所屬分類: 游戲開發(fā)

    <2025年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲伦理在线免费看| 99这里只有久久精品视频| 久久成人免费视频| 午夜精品在线观看| 久久国产精品久久精品国产| 亚洲欧美不卡| 久久riav二区三区| 久久琪琪电影院| 欧美另类99xxxxx| 欧美午夜宅男影院| 国产欧美日韩视频一区二区三区| 国产在线欧美日韩| 最新国产の精品合集bt伙计| 亚洲欧洲一区| 亚洲一区激情| 久久久久久久久久久久久女国产乱 | 欧美承认网站| 亚洲精品资源| 欧美亚洲日本一区| 欧美极品aⅴ影院| 国产欧美日韩一区二区三区在线| 国内精品久久久久久久果冻传媒| 亚洲国产美女| 欧美一区二区三区久久精品茉莉花| 久热这里只精品99re8久| 亚洲免费观看视频| 久久久综合精品| 国产精品草莓在线免费观看| 黄色精品一区| 亚洲欧美日本日韩| 亚洲激情视频| 久久超碰97中文字幕| 欧美人体xx| 亚洲国产婷婷香蕉久久久久久99| 欧美在线你懂的| 亚洲精品中文字幕女同| 久久久久天天天天| 国产精品在线看| 9l国产精品久久久久麻豆| 久久一区二区精品| 午夜久久tv| 国产精品推荐精品| 亚洲一区二区在线播放| 91久久久一线二线三线品牌| 久久精品一区蜜桃臀影院| 国产精品扒开腿做爽爽爽视频 | 99国产精品| 欧美成人高清| 亚洲片国产一区一级在线观看| 久久久久国色av免费看影院| 亚洲一区二区三区四区视频| 欧美特黄视频| 午夜激情亚洲| 亚洲视频在线二区| 日韩午夜在线播放| 欧美日韩免费高清| 中文国产成人精品| 一本色道久久综合亚洲精品不| 欧美岛国在线观看| 日韩网站在线观看| 91久久夜色精品国产九色| 女人香蕉久久**毛片精品| 亚洲电影免费观看高清完整版在线| 久久久999精品| 久久久久国产精品一区| 樱花yy私人影院亚洲| 免费看av成人| 久久尤物电影视频在线观看| 樱花yy私人影院亚洲| 欧美成人资源| 欧美片网站免费| 亚洲欧美久久| 欧美亚洲综合久久| 在线观看中文字幕不卡| 欧美高清视频在线| 欧美三级视频在线观看| 欧美一激情一区二区三区| 久久精品日产第一区二区| …久久精品99久久香蕉国产| 亚洲日本中文| 国产午夜精品久久久久久久| 久热精品在线| 欧美精品在线免费观看| 欧美专区亚洲专区| 欧美插天视频在线播放| 亚洲永久字幕| 美女视频一区免费观看| 亚洲特级毛片| 久久偷窥视频| 亚洲欧美清纯在线制服| 久久嫩草精品久久久久| 亚洲午夜三级在线| 久久精品国产v日韩v亚洲| 日韩亚洲欧美中文三级| 性xx色xx综合久久久xx| 亚洲精品一区二区三区四区高清| 亚洲一区日韩在线| 亚洲精品一二| 久久精品首页| 亚洲视频1区2区| 久久久久九九视频| 亚洲欧美日韩专区| 玖玖玖国产精品| 久久激情婷婷| 欧美调教视频| 亚洲成人自拍视频| 国产视频欧美| 一区二区三区欧美在线观看| 91久久精品国产| 久久久久国产成人精品亚洲午夜| 亚洲一区区二区| 免费亚洲电影| 美女福利精品视频| 国产视频欧美视频| 亚洲在线黄色| 亚洲砖区区免费| 欧美另类极品videosbest最新版本| 狠狠色香婷婷久久亚洲精品| 99精品久久久| 99精品欧美一区二区三区综合在线 | 亚洲免费观看在线观看| 加勒比av一区二区| 亚洲女同同性videoxma| 一区二区三区黄色| 欧美成人蜜桃| 欧美激情乱人伦| 亚洲激情在线视频| 乱中年女人伦av一区二区| 卡通动漫国产精品| 国内一区二区在线视频观看| 亚洲欧美日本日韩| 欧美专区第一页| 国内精品视频在线播放| 欧美一区二区观看视频| 久久se精品一区精品二区| 国产精品日本一区二区| 亚洲天堂av图片| 欧美在线视频在线播放完整版免费观看| 国产精品久久久久9999| 亚洲在线一区二区三区| 欧美在线观看网址综合| 国产一二三精品| 久久一区中文字幕| 亚洲激情社区| 亚洲影视综合| 国产亚洲精品久久久久久| 久久精品国产一区二区三| 米奇777超碰欧美日韩亚洲| 亚洲国产影院| 欧美无砖砖区免费| 欧美在线观看视频| 欧美成人国产| 一个色综合av| 国产日韩免费| 欧美国产日韩视频| 亚洲午夜精品17c| 麻豆91精品91久久久的内涵| 亚洲精品美女在线观看| 国产精品久久久久久av福利软件 | 欧美日韩激情网| 亚洲尤物视频网| 欧美高清视频一区二区| 亚洲系列中文字幕| 国产一区在线看| 欧美精品不卡| 欧美在线国产精品| 亚洲欧洲日产国产网站| 香蕉成人伊视频在线观看| 1024亚洲| 国产欧美日韩精品专区| 欧美成人自拍| 欧美一区二区视频在线观看2020| 欧美激情一区二区三区高清视频 | 久久福利一区| 亚洲精品久久久久久一区二区| 亚洲综合三区| 亚洲精品日韩在线观看| 国产免费成人av| 欧美黑人在线播放| 久久国产欧美日韩精品| 99视频精品免费观看| 亚洲精品在线看| 国产欧美日韩不卡| 欧美日韩免费在线| 久久久xxx| 亚洲欧美日韩视频一区| 亚洲精品永久免费精品| 美女国产一区| 久久久水蜜桃av免费网站| 亚洲一区国产视频| 亚洲美女在线观看| 在线观看亚洲视频啊啊啊啊| 国产精品久久久久一区| 欧美精品一区在线发布| 免费成人av在线看| 久久成人资源| 久久不见久久见免费视频1| 一区二区三区 在线观看视| 亚洲欧洲日产国产网站| 欧美激情一区二区三区|