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

            Code Knight

            Programming is so cool
            隨筆 - 52, 文章 - 0, 評論 - 14, 引用 - 0
            數(shù)據(jù)加載中……

            [轉(zhuǎn)] OGRE地形配置文件解析

            OGRE通過配置文件生成地形,極大提高了地形生成的靈活性。下面對地形配置文件(terrain.cfg)各配置項的意義進行簡要分析。

            WorldTexture=terrain_texture.jpg  //地形紋理
            DetailTexture=terrain_detail.jpg  //地形細(xì)節(jié)紋理(相機距離地面很近時采用細(xì)節(jié)紋理)
            DetailTile=3                      //細(xì)節(jié)紋理在一個地形小塊中的平鋪數(shù)
            PageSource=Heightmap              //高度圖數(shù)據(jù)源
            Heightmap.image=terrain.png       //高度圖名稱(灰度圖文件名),符合2^n+1
            PageSize=513                      //高度圖大小
            TileSize=65                       //地形小塊大小
            MaxPixelError=3                   //決定使用層次細(xì)節(jié)時充許誤差
            PageWorldX=1500                   //地形在世界中的范圍x方向
            PageWorldZ=1500                   //z方向
            MaxHeight=100                     //世界中地形最大映射高度
            MaxMipMapLevel=5                  //層次細(xì)節(jié)上限
            #VertexNormals=yes                //在緩沖中計算頂點法線,計算機光照或GPU程序用到時打開
            #VertexColors=yes         //在緩沖中設(shè)置頂點顏色,假如有GPU程序需要時打開
            #UseTriStrips=yes                 //對于現(xiàn)在的硬件,建議關(guān)掉
            VertexProgramMorph=yes         //使用頂點程序進行LOD融合處理
            LODMorphStart=0.2                 //LOD融合開始點:高,低LOD之間距離之比

            下列參數(shù)用于提供自己的著色程序時使用,這會提供自己定義的material,那么先前定義的
            WorldTexture 與 DetailTexture的設(shè)置不再用到。

            MorphLODFactorParamName=morphFactor 
            //假設(shè)VertexProgramMorph被設(shè)為yes,定制的material中包括一個高級頂點程序。它指定了一個頂點
            //程序的參數(shù)名,這個參數(shù)用于融合LOD,參數(shù)值從0-1,0表示不調(diào)整,1表示完全調(diào)整到下一級LOD

            MorphLODFactorParamIndex         //用于materail中包含低級頂點程序的情況,意義同上
            CustomMaterialName               //指定的materail名字

            上述配置文件定義了基于高度圖的地形。

            這些參數(shù)定義可概括為兩類:Ogre使用第一類從高度圖產(chǎn)生地形
            mesh與材質(zhì)。

            第二類是定制材質(zhì)與GPU頂點程序,這可以代替ogre自動產(chǎn)生的著色程序。
            另外的說明:
            TerrainScenceManager會把高度圖分為多個page,每個page由幾個tile組成.它們都定義了在產(chǎn)生的mesh中一組構(gòu)成正方形的頂點集。
            WorldTexture定義的紋理不必與目標(biāo)地形一樣大。
            PageWorldX,PageWorldZ可以縮放世界中的地形。
            MaxHeight 在Y方向縮放地形。
            DetailTexture 只使用一個紋理,如使用多層紋理,應(yīng)該使用自定義materail。

            從程序加載地形
            setWorldGeometry()有重載形式,一種用于加載配置文件,另一種我們可在程序中使用,以
            達(dá)到手工加載的功能。這里,SceneData被 typedef 為std:map,它存儲了如我們在terrain.cfg
            中看到那些值對。假設(shè)我們已經(jīng)從某個二進制文件讀入我們想要的內(nèi)容到SceneData中。我們要做
            的就是把讀入的內(nèi)容轉(zhuǎn)換成setWorldGeometry()需要的類型。

            posted on 2010-02-24 21:30 Code Knight 閱讀(732) 評論(0)  編輯 收藏 引用 所屬分類: OGRE

            人人狠狠综合久久亚洲88| 久久中文精品无码中文字幕| 久久伊人五月丁香狠狠色| 亚洲色大成网站www久久九| 久久精品麻豆日日躁夜夜躁| 久久99免费视频| 性做久久久久久久久浪潮| 久久久久久狠狠丁香| 午夜精品久久久久久| 国内精品久久久久影院免费| 亚洲伊人久久综合影院| 国产日韩久久免费影院| 久久无码人妻一区二区三区午夜 | 国产国产成人精品久久| 综合网日日天干夜夜久久| 精品久久久久久无码人妻热| AV狠狠色丁香婷婷综合久久| 99久久国产精品免费一区二区| 久久精品国产欧美日韩| 国产精品成人无码久久久久久| 久久久婷婷五月亚洲97号色| 无码日韩人妻精品久久蜜桃 | 91精品国产91久久| 久久综合丝袜日本网| 精品亚洲综合久久中文字幕| 成人国内精品久久久久影院| 日韩精品久久久久久免费| 久久成人影院精品777| 国产精品VIDEOSSEX久久发布| 国产 亚洲 欧美 另类 久久| 无码国内精品久久人妻麻豆按摩| 香蕉久久永久视频| 久久亚洲日韩精品一区二区三区| 69久久夜色精品国产69| 久久久久亚洲AV成人网| 久久精品国产精品亚洲精品 | 久久狠狠爱亚洲综合影院 | 久久精品国产福利国产琪琪| 久久免费看黄a级毛片| 欧美伊人久久大香线蕉综合69| 1000部精品久久久久久久久|