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

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

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

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

不要被繁多的目錄和文件嚇著了,其實運行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


設置環境變量:
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源碼項目的目錄結構:
    work_dir
    ??? include
    ?????? *.h
    ??? src
    ?????? *.cpp
    ??? scripts
    ?????? *.vcproj

    新建項目也依據這個結構,你的項目應該有這些文件夾:'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

    這些設置好以后你就可以新建一個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 2006-07-18 12:09 大寶天天見 閱讀(2364) 評論(0)  編輯 收藏 引用 所屬分類: 4.2D/3D Engine
    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视频在线观看免费| 久久久久久伊人| 国产免费一区二区三区香蕉精| 亚洲电影网站| 久久不见久久见免费视频1| 国产精品丝袜xxxxxxx| 久久精品亚洲国产奇米99| 中日韩午夜理伦电影免费| 国产精品国产三级国产| 欧美不卡视频一区发布| 玖玖国产精品视频| 欧美日本一区二区三区| 国产视频亚洲精品| 韩国av一区二区三区四区| 国产精品网曝门| 欧美紧缚bdsm在线视频| 欧美福利小视频| 欧美日韩国产大片| 国产女优一区| 亚洲高清久久| 欧美一区二区精品在线| 免费观看成人网| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美亚洲视频| 国产精品爱啪在线线免费观看| 国产欧美一区二区三区沐欲| 国内外成人免费激情在线视频| 国产精品三级久久久久久电影| 亚洲高清久久| 新67194成人永久网站| 另类激情亚洲| 一区二区三区四区在线| 国产一区二区精品在线观看| 亚洲国产欧美在线人成| 久久先锋资源| 久久午夜羞羞影院免费观看| 精品91免费| 欧美国产精品一区| 日韩亚洲在线观看| 男人的天堂亚洲| 亚洲天堂av综合网| 久久精品国产综合精品| 亚洲国产欧美日韩另类综合| 怡红院精品视频在线观看极品| 99热这里只有成人精品国产| 欧美亚洲尤物久久| 亚洲欧美区自拍先锋| 影音先锋亚洲视频| 9久草视频在线视频精品| 经典三级久久| 亚洲美女视频在线观看| 国产一区二区三区黄| 亚洲综合色激情五月| 亚洲一区二区三区免费视频| 国产区在线观看成人精品| 欧美激情视频网站| 亚洲尤物精选| 欧美在线www| 午夜亚洲视频| 国产精品日韩欧美一区二区| 久久精品国产第一区二区三区最新章节| 久久国产精品免费一区| 日韩亚洲欧美一区二区三区| 午夜久久电影网| 99精品视频免费观看| 欧美成人69| 亚洲高清不卡av| 国产亚洲一本大道中文在线| 亚洲经典在线| 在线中文字幕日韩| 欧美精品久久久久久| 亚洲国产欧美久久| 亚洲电影免费在线观看| 性色av香蕉一区二区| 亚洲一区二区三区在线看 | 国产一区在线播放| 一本色道综合亚洲| 欧美自拍丝袜亚洲| 好吊妞**欧美| 欧美韩国日本一区| 亚洲高清资源| 在线午夜精品自拍| 国产精品卡一卡二卡三| 欧美一级免费视频| 欧美高清在线播放| 在线性视频日韩欧美| 国产精品久久久久久超碰 | 欧美中文在线免费| 国产精品mv在线观看| 午夜日韩视频| 久久亚洲影音av资源网| 亚洲丝袜av一区| 麻豆精品精华液| 亚洲免费视频观看| 一区在线免费观看| 欧美丝袜第一区| 欧美一区二区三区在线播放| 欧美国产高清| 久久米奇亚洲| 日韩午夜精品| 亚洲成人在线| 国产精品一香蕉国产线看观看| 欧美激情一区二区三区在线| 午夜国产欧美理论在线播放| 亚洲黄页视频免费观看| 久久久久久久一区二区三区| 中文有码久久| 中日韩视频在线观看| 亚洲第一区在线观看| 国产农村妇女毛片精品久久莱园子 | 另类人畜视频在线| 一区二区三区高清视频在线观看| 欧美成人精品不卡视频在线观看| 欧美一区二区三区视频在线 | 9l国产精品久久久久麻豆| 久久精品水蜜桃av综合天堂| 欧美影院久久久| 亚洲欧美日韩天堂| 亚洲一区二区三区四区中文| 亚洲天堂男人| 亚洲欧美日韩精品久久奇米色影视| 亚洲美女性视频| 在线视频你懂得一区二区三区| 亚洲国产精品福利| 99热这里只有精品8| 欧美精品激情blacked18| 一区二区三区欧美在线| 亚洲视频电影图片偷拍一区| 亚洲一区二区三区免费视频| 一区二区三区日韩欧美| 亚洲一区免费在线观看| 亚洲欧美日韩在线不卡| 久久久国产精品一区| 欧美国产日韩精品免费观看| 开元免费观看欧美电视剧网站| 欧美大片第1页| 欧美性大战久久久久久久蜜臀| 国产日本欧美一区二区三区在线| 国产一区二区三区四区在线观看 | 老司机一区二区三区| 欧美在线影院| 欧美日韩免费观看一区| 国产一区二区精品久久91| 一区二区三区产品免费精品久久75| 久久精品久久综合| 一本久道久久久| 欧美日韩综合视频| 亚洲国产日韩精品| 亚洲第一色中文字幕| 久久综合色影院| 国产美女精品人人做人人爽| 亚洲综合电影| 亚洲一区二区成人| 国产精品视屏| 久久精品国产精品| 久久久久久久久岛国免费| 国产欧美三级| 久久免费国产精品| 麻豆精品网站| 亚洲网站视频| 香蕉久久国产| 亚洲作爱视频| 欧美高清视频一区| 一区二区三区四区五区在线| 欧美大成色www永久网站婷| 久久尤物视频| 99国内精品| 亚洲欧美日韩另类| 亚洲精品在线一区二区| 欧美三区免费完整视频在线观看| 亚洲婷婷综合久久一本伊一区| 夜夜爽www精品| 伊人久久久大香线蕉综合直播| 亚洲欧洲在线免费| 国产日产欧美一区| 在线亚洲+欧美+日本专区| 国产亚洲欧洲一区高清在线观看| 欧美激情国产精品| 国产久一道中文一区| 欧美大片在线影院| 美女精品在线观看| 国产精品99久久久久久有的能看 | 在线视频欧美一区| 亚洲激情视频网| 久久久久**毛片大全| 亚洲欧美三级在线| 国产精品hd| 一本到高清视频免费精品| 亚洲乱码国产乱码精品精| 久久夜色精品亚洲噜噜国产mv| 欧美在线高清视频| 国产一区二区久久精品| 欧美一区二区三区四区夜夜大片| 亚洲伊人观看| 国产日产欧美一区| 久久久福利视频| 亚洲精品久久久久久久久久久久 | 尤物在线观看一区| 欧美三级欧美一级| 亚洲影音先锋|