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

永遠也不完美的程序

不斷學習,不斷實踐,不斷的重構……

常用鏈接

統計

積分與排名

好友鏈接

最新評論

LOD地形設計與實現

地形從一開始研究,到實現,分了好多個版本,重構了好多次……主要問題在于對LOD數據結構的不熟悉和對索引用法的不熟悉。經過一系列的研究與學習,總結了如下實現LOD的方法:
#動態填充索引——在裁剪過程中求出被渲染的地形塊。
#分塊實現地形,每塊有一定的渲染格。

下面一步步寫出實現過程。
1、定義數據結構,主要是地義地形的塊并實現四叉樹。
2、寫好VertexBuffer和IndexBuffer,主要是一邊渲染一邊填充IndexBuffer,根據裁剪出來的地形塊來填充。
3、寫好LOD算法,主要是實現LOD的計算方法。
4、寫好裂縫修補算法。花在該項時間最長最麻煩。
5、貼紋理寫shader。

地形block數據結構如下:

class CTerrainBlock
{
public:
    

private:
    
float  m_fCellSpacing;  //地形網格長度
    float  m_fSphereHalf;    //裁剪的半徑
    float  m_fDeltaH;    //高度差
    int    m_nLODLevel;    //LOD層數

    vector
<CTerrainCell*> m_Child;   //子結點

    
int   m_dwSeq;    //索引號,左上角點為索引

    
int   m_nRealCell;   //實際每行的渲染格數,根據LOD層數定
    DWORD m_dwCellsPerRender;           //每個渲染塊的最小格數

    vector
<DWORD>      m_vtCorner;     //四個角的索引,順序為從左上角開始,順時針

    
int              m_nLeftIndexCount;           //每個渲染格增加的頂點數,一般是1或3
    int              m_nRightIndexCount;
    
int              m_nBottomIndexCount;
    
int              m_nTopIndexCount;

    
int              m_nNeighbor[4];     //分別是上、右、下、左,必須是相同一層的

}

地形渲染的流程如下:
首先用一個遞歸函數計算出要渲染的block并計算出其LOD值,代碼如下:
oid CTerrain::DrawTerrain(CTerrainBlock* pNode)
{
    
if (pNode == NULL)
    
{
        
return;
    }

    
if (結點是要渲染的塊)
    
{
        
if (在視錐體內)   //判斷是否在視錐體內
        {
            
for (int i = 0; i < 4; i++)
            
{
                DrawTerrain(pNode
->GetChildNode(i));
            }

        }
    
        
    }

    
else             //最小格,直接插入隊列
    {
        計算LOD值;
        m_vtDraw.push_back(pNode);
    }


}

整個渲染代碼如下:
void CTerrain::Render()
{
        DrawTerrain(m_pRoot);
    
        修補裂縫;
     
        填充索引;

        設置shader;

    設置頂點緩沖;

    設置紋理;

    DrawIndexedPrimitive();
    
}

效果圖以后再附上,歡迎有興趣的朋友與我討論算法。
索引填充如果是1025X1025的地形相對慢了點。

posted on 2008-08-18 17:08 狂爛球 閱讀(3499) 評論(11)  編輯 收藏 引用 所屬分類: 圖形編程

評論

# re: LOD地形設計與實現 2008-12-06 10:01 gillianmin

能不能把你的LOD程序給我發一份呢,謝謝啊,非常感謝。郵箱:gillianmin@gmail.com  回復  更多評論   

# re: LOD地形設計與實現 2009-04-17 13:32 friend

能不能把你的LOD程序給我發一份呢,現在正在研究地形圖,謝謝,非常感謝.
郵箱:rainlinemy@yahoo.com.cn  回復  更多評論   

# re: LOD地形設計與實現 2009-05-05 09:22 jiang

難道你會給我發一份,
exljhb@126.com  回復  更多評論   

# re: LOD地形設計與實現 2009-06-02 15:22 fei

我最近也在做這個啊,能不能發一份給我呢zhyfree@163.com謝謝啦  回復  更多評論   

# re: LOD地形設計與實現 2010-01-20 12:29 chenkang

LZ能給我發一份嗎?謝謝,我也在研究。。。chenkangapple@126.com  回復  更多評論   

# re: LOD地形設計與實現[未登錄] 2010-10-30 15:57 Zero

能給我發一份不 450223028@qq.com  回復  更多評論   

# re: LOD地形設計與實現 2010-11-03 17:19 陳安太

大哥,小弟最近也在研究這方面的知識,給我一份代碼好吧,謝謝!我的郵箱:
linyiantai@163.com  回復  更多評論   

# re: LOD地形設計與實現 2010-12-16 16:00 xiaodiezi

樓主能發一份代碼給我嗎?謝謝!
986772462@qq.com  回復  更多評論   

# re: LOD地形設計與實現 2012-04-18 09:58 李玉

樓主能發一份代碼給我嗎?謝謝!我最近也在學習lod地形,可是搞不懂。
郵箱是1610684305@qq.com
  回復  更多評論   

# re: LOD地形設計與實現 2012-10-17 17:15 遠足

也發我一份吧,一直搞不太懂這個。
郵箱:472502272@qq.com  回復  更多評論   

# re: LOD地形設計與實現 2013-09-23 09:37 QQQQ

正在學習四叉樹LOD地形,同求一份代碼,多謝~~~
423322338@qq.com  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品日韩在线| 久久九九热re6这里有精品| 免费在线亚洲| 美女主播精品视频一二三四| 欧美在线资源| 久久精品视频99| 久久午夜激情| 欧美精品综合| 国产女主播一区二区三区| 国产精品影视天天线| 国产性做久久久久久| 激情五月综合色婷婷一区二区| 亚洲国产成人在线播放| 亚洲欧洲精品一区二区三区| 最新国产の精品合集bt伙计| 亚洲一区二区成人| 久久青草欧美一区二区三区| 亚洲大胆美女视频| 欧美大片免费观看| 亚洲国产精品999| 国内精品国产成人| 99精品视频网| 久久视频在线看| 亚洲日本成人女熟在线观看| 亚洲免费视频成人| 农村妇女精品| 国产精品一区二区三区免费观看| 国产综合一区二区| 亚洲精选视频免费看| 久久爱www| 99热免费精品在线观看| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩国产黄| 激情小说另类小说亚洲欧美| 亚洲一区免费网站| 欧美成人情趣视频| 欧美一区二区在线免费播放| 欧美天天在线| 亚洲靠逼com| 欧美成人第一页| 欧美在线观看视频在线| 国产精品99免视看9| 亚洲人成在线观看网站高清| 久久福利资源站| 亚洲欧洲一区二区三区| 久久亚洲高清| 在线成人黄色| 久久福利影视| 欧美一区网站| 国产精品影院在线观看| 99视频有精品| 亚洲欧洲精品天堂一级| 久久香蕉国产线看观看av| 国产午夜精品视频免费不卡69堂| 亚洲在线视频观看| 91久久极品少妇xxxxⅹ软件| 欧美在线亚洲一区| 国产亚洲网站| 久久av红桃一区二区小说| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲免费av网站| 嫩草成人www欧美| 国产有码一区二区| 久久精品一区蜜桃臀影院| 在线亚洲精品| 国产精品亚洲综合天堂夜夜| 性欧美在线看片a免费观看| 亚洲视频在线观看网站| 欧美午夜无遮挡| 欧美资源在线| 欧美亚洲视频| 一区免费观看| 亚洲国产成人久久| 欧美久久久久久久久久| 亚洲一区二区三区国产| 亚洲免费久久| 国产欧美精品日韩区二区麻豆天美| 国产精品一区二区久久久| 欧美一区二区免费观在线| 小黄鸭视频精品导航| 激情成人综合| 亚洲电影免费观看高清完整版在线观看 | 久久久国产精彩视频美女艺术照福利| 亚洲一区二区综合| 国产一区二区三区四区三区四| 久久狠狠亚洲综合| 猛男gaygay欧美视频| 亚洲永久在线观看| 久久精品国产999大香线蕉| 亚洲欧洲精品一区| 亚洲一区bb| 在线看不卡av| 日韩一级大片| 狠狠色丁香久久婷婷综合丁香| 欧美多人爱爱视频网站| 国产精品av一区二区| 浪潮色综合久久天堂| 欧美三级乱码| 久久这里有精品视频| 欧美日韩国产另类不卡| 久久久久99| 欧美激情精品久久久久久黑人| 亚洲欧美日韩精品在线| 免费视频最近日韩| 久久精品国产一区二区三| 欧美乱大交xxxxx| 美女视频网站黄色亚洲| 欧美视频在线免费| 欧美成人69| 国产亚洲成av人片在线观看桃| 欧美成人福利视频| 国产一区二区电影在线观看| 99精品视频免费在线观看| 伊人成人在线视频| 亚洲综合电影| 亚洲综合第一| 欧美精品午夜| 亚洲高清视频的网址| 国外成人免费视频| 亚洲自拍高清| 亚洲视屏一区| 欧美精品激情在线观看| 欧美高清视频www夜色资源网| 国产亚洲成av人在线观看导航 | 欧美一区二区国产| 欧美日韩aaaaa| 亚洲欧洲一区二区三区在线观看| 国产一区二区三区奇米久涩| 亚洲视频观看| 亚洲午夜精品网| 欧美日韩午夜在线| 亚洲视频在线观看免费| 一区二区三区免费观看| 麻豆精品视频在线观看视频| 久久久美女艺术照精彩视频福利播放| 欧美三级视频在线播放| 亚洲国产日日夜夜| 亚洲精选大片| 欧美日韩成人一区二区三区| 亚洲国产精品日韩| 亚洲精选在线观看| 欧美乱人伦中文字幕在线| 亚洲免费电影在线观看| 9l国产精品久久久久麻豆| 欧美美女日韩| 野花国产精品入口| 亚洲天堂免费观看| 国产乱码精品1区2区3区| 亚洲在线视频免费观看| 欧美一区二视频在线免费观看| 国产精品激情| 欧美一二三区精品| 久久亚洲国产成人| 91久久久亚洲精品| 欧美精品在线免费播放| 亚洲一级高清| 女人色偷偷aa久久天堂| 亚洲欧洲日本一区二区三区| 欧美日韩国产综合视频在线观看中文 | 久久9热精品视频| 韩国av一区二区三区四区| 久久爱www.| 亚洲国产美女| 久久国产精品色婷婷| 亚洲国产精品视频| 欧美日韩精品在线| 欧美在线高清| 欧美成人69| 午夜日韩在线观看| 在线观看欧美精品| 欧美日韩一区在线视频| 欧美制服第一页| 日韩午夜电影av| 久久精品久久99精品久久| 亚洲精品久久久一区二区三区| 国产精品国产三级国产专播品爱网| 久久精品一区| 99精品视频免费观看视频| 久久久免费精品视频| 99国产精品久久久久老师| 国产亚洲一级高清| 欧美精品三级| 久久综合一区二区三区| 亚洲视频免费在线| 亚洲区第一页| 久久婷婷国产综合尤物精品| 国产精品99久久久久久久女警| 国内一区二区三区| 国产精品视频999| 欧美成人按摩| 久久成人在线| 亚洲女优在线| 亚洲精选久久| 91久久国产综合久久蜜月精品| 久久久久高清| 欧美在线黄色| 亚洲国产一区二区三区a毛片| 亚洲香蕉视频| 亚洲国产视频直播| 国产日韩在线亚洲字幕中文|