• <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>

            月下的博客

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              34 Posts :: 0 Stories :: 59 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(5)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

              我和朋友一塊在做游戲編輯器練手,鑒于大家以前都沒有經驗,就會寫寫圖形。就照著開源的Ogitor學習罷。我首先負責的就是草體部分,考慮到哥是最弱的。。。所以寫到現在才完工。。。講下學習心得吧,只寫下思路,具體的過程懶得寫。(高手勿看了。。)
              Ogitor的代碼寫的非常易讀,要是你能編譯次ogitor的話,跟著程序走一邊就能很快清楚其結構。所以嘛,先提下編譯,ogitor的編譯其實還是有些麻煩的,尤其是對像我這種命令行菜鳥來說,ogitor的wiki上有詳細的教程,[url]http://wiki.ogitor.org/Building+Ogitor&structure=Development[/url]基本很完善了,不過我還是遇到許多麻煩,強烈建議裝vs2008,因為Qt有專門適用08的源碼包,而且記著一定按著Jacmoe寫的步驟來,別先過cmake那塊,先把
            QtPropertyBrowser弄好,設置環境變量的時候我出了個小白錯誤,在PATH變量后面加Qt目錄前加了個空格,導致系統不接受后面的路徑。(。。。悲劇的很。。)然后的步驟就沒啥問題了。如果你在編譯的時候出現(vs08命令行下或者Qt Creator下,后者不建議,得改qt的編譯器,我反正沒找到在哪里改。。。)
            [code]
            g++: Documents\Programmer\Ogre\unstable-06e26a1bed18\qtOgitor\qtpropertybrowser-2.5\lib\libQtSolutions_PropertyBrowser-2.5d.a: No such file or directory
            mingw32-make[1]: *** [..\lib\QtSolutions_PropertyBrowser-2.5d.dll] Error 1
            mingw32-make: *** [debug-all] Error 2
            Exited with code 2.
            Error while building project buildlib
            When executing build step 'Make'
            [/code]記著肯定是你裝了mingw,編譯得用vs的編譯器。

              Ogitor的草體也是借由PageGemotry庫(下面縮寫為PG)實現的,Ogre的 Addons fourm里有詳細介紹,這個庫相當強大,而且使用輕便,簡單的刷草體我們利用里面的GrassLoader即可,就是公告板。這塊代碼他們沒有寫在ogPageGeometry里,那塊別看了,否則你們會向我一樣給帶跑的。Ismail(Ogitor的主要開發人員)將這塊寫在TerrainGroupManager里,直接和地形刷交互,仔細想想,這也是最好的方法。(我走工廠方法的歪路想了4,5天才拐回來。。之前沒發現他寫在
            TerrainGroupManager里了。。。)由于PG實現草體的加載只有兩種,要么隨機,要么通過加載密度紋理。不像treeLoader一樣,可以直接AddEntity。(想想為什么)所以要想實現草體刷,咱就得創建一張動態紋理來實現了。我們修改每個TerrainPageObject(頁地形),向其加入GrassLayer。而在TerrainGroupManager里保留具體的更新者PagedGeometry和GrassLoader。這里不做具體解釋,建議去看看PG的源碼,10個文件左右,(一半Header,一半Source)代碼也很易懂。還有,Ogitor的工廠對象注冊機制很好,(我對設計模式沒什么研究不知道叫啥。。)新手這個一定得細看看,Ogitor在解耦上做的也近乎完美,面向對象的界面編程Qt加上Ismail自己寫的很多基類,使得程序分離的很好,推薦看看OgitorsProperty類,里面就是照著Qt的信號機制寫的,這塊我也沒深看。我們用的是MFC,所以這塊沒有寫成純面向對象的,用的還是離散型的單件。我兄弟說Ogitor那樣效率差點,不過我覺得挺酷的,畢竟寫的漂亮。Ogitor的工廠對象的初始化部分是寫在CreateProperties里的,因為許多變量需要有用戶修改,所以構造函數沒有初始化所有變量。
              最后帶句:Ogitor的大哥們相當熱情,有問題多去他們的forum
            里提,基本第二天就回了。(有時差)
             
            posted on 2010-04-03 19:18 月下圓舞曲 閱讀(4960) 評論(3)  編輯 收藏 引用 所屬分類: 開發

            Feedback

            # re: [學習心得]跟著Ogitor學做編輯器--實現草體刷 2010-09-26 16:08 X.Sirius
            請問如何編譯QtPropertyBrowser....用Qt Creator.打開OGITOR_SOURCE\qtOgitor\qtpropertybrowser-2.5\buildlib\buildlib.pro.我的源碼里并沒有buildlib\buildlib.pro所以用Qt Creator也不知道怎么編譯....用命令的話又說不認識configure..
            希望樓主教我怎么編譯這個啊...  回復  更多評論
              

            # re: [學習心得]跟著Ogitor學做編輯器--實現草體刷[未登錄] 2011-05-18 23:07 c
            ogritor 說需要boost,我用cmake是報錯,要boost。為啥你的不要boost
              回復  更多評論
              

            # re: [學習心得]跟著Ogitor學做編輯器--實現草體刷[未登錄] 2011-06-29 21:02 angle
            ogitor那幫大哥的確很熱情。。。  回復  更多評論
              

            亚洲国产婷婷香蕉久久久久久| 午夜精品久久久久久99热| 亚洲精品白浆高清久久久久久| 日韩精品久久久久久| 欧美久久久久久| 国产亚洲欧美成人久久片| 91久久精品无码一区二区毛片| 久久精品亚洲男人的天堂| 久久人人爽人人爽人人爽| 77777亚洲午夜久久多喷| 青青久久精品国产免费看| 久久精品a亚洲国产v高清不卡| 品成人欧美大片久久国产欧美| 久久久久人妻一区二区三区| 一本大道久久东京热无码AV| 性做久久久久久久久老女人| 伊色综合久久之综合久久| 蜜桃麻豆WWW久久囤产精品| 91麻精品国产91久久久久| 国产亚州精品女人久久久久久 | 伊人久久五月天| 久久精品青青草原伊人| 久久国产高潮流白浆免费观看| 久久国产色AV免费观看| 久久精品国产一区| 亚洲国产精品嫩草影院久久| 伊人久久大香线蕉AV色婷婷色 | 无码国内精品久久人妻麻豆按摩| 久久夜色精品国产www| 久久精品国产影库免费看| 狠狠综合久久综合中文88| 欧美激情一区二区久久久| 99精品久久精品一区二区| 模特私拍国产精品久久| 精品蜜臀久久久久99网站| 天天躁日日躁狠狠久久| 伊人久久综合热线大杳蕉下载| 精品久久久一二三区| 99久久综合国产精品二区| 国产美女亚洲精品久久久综合 | 国产福利电影一区二区三区久久老子无码午夜伦不 |