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

永遠也不完美的程序

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

常用鏈接

統計

積分與排名

好友鏈接

最新評論

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 狂爛球 閱讀(3495) 評論(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>
            久久久久久欧美| 欧美成年人视频| 免播放器亚洲一区| 久久免费少妇高潮久久精品99| 欧美在线播放| 老牛影视一区二区三区| 久久综合电影| 亚洲高清在线观看一区| 亚洲高清视频在线| 99国产精品久久久久久久久久 | 91久久久亚洲精品| 亚洲日本电影在线| 亚洲一区日韩在线| 久久亚洲国产成人| 国产精品va在线播放| 国产一区二区你懂的| 亚洲狠狠婷婷| 午夜精品久久久久久99热| 久久综合伊人77777| 日韩天堂在线观看| 久久精品国产亚洲a| 欧美裸体一区二区三区| 国产日韩精品一区| 夜夜精品视频一区二区| 久久国内精品视频| 99视频国产精品免费观看| 久久精品一区二区国产| 欧美三级网页| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲欧美日韩久久精品| 免费中文日韩| 国产亚洲精品v| 亚洲天堂成人在线视频| 米奇777在线欧美播放| 亚洲午夜女主播在线直播| 免费一级欧美片在线观看| 国产欧美在线播放| 亚洲午夜视频在线| 亚洲国产一区二区视频| 欧美在线观看视频在线| 欧美系列亚洲系列| 一区二区三区成人| 亚洲国产精品va在看黑人| 久久久精品国产一区二区三区| 国产精品久久久久一区二区三区共 | 亚洲深夜福利视频| 久久亚洲视频| 国产午夜精品理论片a级探花 | 日韩视频一区二区三区在线播放 | 麻豆精品一区二区综合av| 亚洲午夜一区二区三区| 欧美日韩一区在线视频| 亚洲麻豆av| 亚洲国产精品高清久久久| 久久免费高清视频| 影音欧美亚洲| 美女精品网站| 久久人人九九| 91久久黄色| 亚洲国产高清在线| 欧美国产综合| 一本色道久久综合狠狠躁篇怎么玩 | 欧美成人免费全部| 亚洲区中文字幕| 欧美大片在线观看| 欧美成人精品1314www| 亚洲另类自拍| 一本一本久久| 国产一区二区视频在线观看| 久久久久成人精品免费播放动漫| 欧美一级理论性理论a| 黑人巨大精品欧美一区二区小视频| 久久高清一区| 久久亚洲私人国产精品va媚药| 亚洲国产欧美一区二区三区丁香婷| 欧美国产一区二区| 欧美日韩一区二区三区免费看| 国产精品99久久久久久www| 亚洲一区在线免费| 亚洲高清久久网| 亚洲精品自在在线观看| 国产精品乱人伦中文| 久久这里有精品15一区二区三区| 久久亚洲欧美| 亚洲综合99| 久久久久久久综合狠狠综合| 99国内精品久久| 午夜一区不卡| 99在线热播精品免费99热| 性做久久久久久| 艳妇臀荡乳欲伦亚洲一区| 午夜久久久久| 一区二区三区日韩欧美精品| 欧美一区视频| 亚洲视频久久| 久久久久久久久久久一区| 亚洲美洲欧洲综合国产一区| 国产精品夫妻自拍| 美女国内精品自产拍在线播放| 欧美日韩18| 久久视频精品在线| 欧美日韩伦理在线免费| 久久综合福利| 国产精品美女午夜av| 欧美电影在线观看完整版| 国产精品制服诱惑| 亚洲三级色网| 亚洲第一精品久久忘忧草社区| 一区二区三区免费看| 亚洲人成在线播放网站岛国| 亚洲欧美在线磁力| 亚洲一区在线播放| 美腿丝袜亚洲色图| 久久久久中文| 国产精品一级久久久| 亚洲精品国产精品久久清纯直播 | 亚洲视频一二| 日韩视频永久免费| 久久精品夜色噜噜亚洲aⅴ| 午夜精品久久久久99热蜜桃导演| 欧美成熟视频| 欧美电影在线观看完整版| 国产婷婷色一区二区三区四区| 亚洲黄色成人久久久| 亚洲国产成人tv| 久久久久国内| 鲁大师成人一区二区三区| 国产一区二区三区自拍| 亚洲欧美成人一区二区三区| 亚洲性视频h| 国产精品进线69影院| 一区二区三区国产在线| 一区二区三区四区精品| 欧美日韩123| 一区二区三区www| 亚洲伊人久久综合| 国产精品少妇自拍| 亚洲男人的天堂在线观看| 亚洲欧美日韩一区二区在线| 欧美视频在线观看视频极品| 日韩视频一区二区三区在线播放免费观看| 亚洲国产精品久久久久婷婷884| 久久一区二区三区超碰国产精品| 久久久久久欧美| 亚洲国产精品高清久久久| 免费亚洲电影在线| 亚洲精品中文字| 性欧美暴力猛交69hd| 国产视频久久久久| 久久夜色精品| 亚洲国产精品传媒在线观看| 一区二区三区视频在线观看| 国产精品v亚洲精品v日韩精品| 亚洲欧美日韩在线高清直播| 久久永久免费| 99国内精品久久| 国产精品一区二区在线观看| 久久久久久欧美| 蜜桃久久精品一区二区| 久久精品夜色噜噜亚洲aⅴ| 久久国产精品72免费观看| 国产欧美精品一区aⅴ影院| 久久国产精彩视频| 免费成人av| 一本色道久久综合亚洲二区三区 | 亚洲欧美电影院| 国产日韩欧美三级| 久久一日本道色综合久久| 亚洲精品久久久久久一区二区| 亚洲一区成人| 影音先锋亚洲精品| 欧美日韩在线播放| 久久久不卡网国产精品一区| 最新亚洲激情| 久久夜色精品国产欧美乱极品| 日韩视频免费观看| 国产日韩精品一区二区浪潮av| 久久久亚洲影院你懂的| 亚洲乱码国产乱码精品精98午夜 | 国际精品欧美精品| 欧美日韩爆操| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲欧美另类国产| 亚洲第一中文字幕在线观看| 午夜精品久久一牛影视| 亚洲精品久久7777| 国语精品中文字幕| 国产精品久久久一区麻豆最新章节| 久久夜色精品国产亚洲aⅴ| 亚洲午夜精品17c| 亚洲国产成人久久综合一区| 久久久www成人免费无遮挡大片 | 亚洲一区影音先锋| 91久久国产综合久久蜜月精品| 国产伦精品一区二区三区四区免费| 欧美国产精品一区| 久久免费视频在线观看| 午夜久久久久久久久久一区二区| 日韩午夜av电影| 亚洲经典自拍|