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

永遠也不完美的程序

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

常用鏈接

統計

積分與排名

好友鏈接

最新評論

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>
            亚洲国产综合91精品麻豆| 卡一卡二国产精品| 亚洲人体影院| 欧美日韩亚洲一区二区| 亚洲一区在线看| 午夜精品在线| 影院欧美亚洲| 亚洲日本电影在线| 国产精品青草综合久久久久99 | 欧美—级高清免费播放| 亚洲视频碰碰| 久久福利资源站| 亚洲欧洲一区二区在线播放| 亚洲另类在线一区| 国产免费成人在线视频| 欧美成人国产| 国产精品久久久久久久久久免费| 欧美一区二区三区视频在线观看| 久久欧美中文字幕| 欧美高清自拍一区| 亚洲免费视频成人| 久久综合五月天婷婷伊人| 一区二区日韩精品| 久久久www免费人成黑人精品| 亚洲精品免费在线播放| 亚洲欧美中文字幕| 亚洲精品一区二区三区福利| 亚洲欧美日韩成人| 亚洲精品偷拍| 久久精品国产亚洲aⅴ| 一本色道88久久加勒比精品| 久久九九精品99国产精品| 99热在线精品观看| 久久琪琪电影院| 欧美在线看片| 欧美午夜不卡在线观看免费| 欧美福利视频在线观看| 国产亚洲欧美另类中文| 中文无字幕一区二区三区| 亚洲七七久久综合桃花剧情介绍| 亚洲欧美综合精品久久成人| 在线一区二区日韩| 欧美v日韩v国产v| 久久久久久久欧美精品| 欧美午夜视频| 亚洲精品视频在线观看网站| 亚洲成人资源| 久久久国产精彩视频美女艺术照福利 | 麻豆av一区二区三区| 久久久国产精品亚洲一区| 欧美视频一区二区三区…| 亚洲日本电影| 日韩午夜电影av| 欧美成人激情视频| 欧美粗暴jizz性欧美20| 一区二区三区我不卡| 欧美在线播放高清精品| 久久久国产午夜精品| 国产日产精品一区二区三区四区的观看方式 | 亚洲国产精品一区| 亚洲日本精品国产第一区| 久久偷窥视频| 免费人成精品欧美精品| 伊人天天综合| 麻豆精品91| 亚洲国产综合在线看不卡| 亚洲全部视频| 欧美日韩一区二区在线视频 | 久久成人精品电影| 久久综合狠狠| 亚洲福利一区| 欧美国产精品人人做人人爱| 亚洲人午夜精品| 国产精品爽爽ⅴa在线观看| 亚洲影视在线| 亚洲一区在线看| 国内外成人在线视频| 欧美一区三区三区高中清蜜桃| 性欧美精品高清| 国产日产高清欧美一区二区三区| 欧美一区综合| 亚洲福利视频一区| 亚洲天堂网站在线观看视频| 国产精品推荐精品| 久久国产加勒比精品无码| 欧美二区视频| 亚洲伊人观看| 精品成人在线观看| 欧美日韩福利在线观看| 亚洲一区观看| 欧美96在线丨欧| 亚洲欧美日韩国产成人| 黄色成人片子| 欧美日韩三级一区二区| 亚洲欧美日韩在线一区| 欧美xxx在线观看| 宅男噜噜噜66国产日韩在线观看| 国产精品亚洲片夜色在线| 久久一区亚洲| 亚洲小说欧美另类社区| 欧美成人影音| 欧美中文在线观看国产| 亚洲精品国产精品久久清纯直播| 国产精品五月天| 欧美精品国产一区| 欧美在线二区| 一区二区三区回区在观看免费视频| 久久久久9999亚洲精品| 一区二区三区欧美亚洲| 国自产拍偷拍福利精品免费一| 欧美人妖在线观看| 久久久精品国产一区二区三区| 日韩一级视频免费观看在线| 美女被久久久| 久久国产一区二区| 亚洲男人影院| 99精品免费网| 亚洲区第一页| 伊人一区二区三区久久精品| 国产精品视频免费观看| 欧美日一区二区在线观看| 奶水喷射视频一区| 久久久久国产精品一区二区| 亚洲永久视频| 亚洲性图久久| av成人免费在线| 亚洲精品欧美一区二区三区| 欧美激情第1页| 美女国产精品| 欧美成年人视频网站| 久久免费的精品国产v∧| 亚洲欧美亚洲| 午夜激情一区| 午夜综合激情| 久久成人18免费观看| 欧美一级淫片播放口| 欧美在线视频一区| 久久精品国产综合| 久久久综合视频| 久久人人爽国产| 免费毛片一区二区三区久久久| 久久久久久久欧美精品| 久久夜色精品国产欧美乱极品| 久久午夜精品一区二区| 老牛嫩草一区二区三区日本| 久久在线免费观看| 欧美激情bt| 亚洲欧美经典视频| 香蕉久久一区二区不卡无毒影院| 亚洲欧美成人网| 欧美一区二区视频在线观看2020| 欧美伊人久久久久久午夜久久久久| 亚洲欧美一级二级三级| 久久不见久久见免费视频1| 久久av老司机精品网站导航| 久久永久免费| 欧美激情一级片一区二区| 亚洲国产中文字幕在线观看| 99香蕉国产精品偷在线观看| 亚洲一二三区在线观看| 欧美亚洲视频一区二区| 久久久久久穴| 欧美日韩国产成人在线| 国产精品综合网站| 亚洲第一成人在线| 妖精视频成人观看www| 午夜久久福利| 麻豆精品视频在线| 亚洲精选中文字幕| 午夜在线视频观看日韩17c| 久久香蕉国产线看观看av| 欧美日本一道本| 国产一区999| 日韩视频二区| 久久九九全国免费精品观看| 欧美高清视频www夜色资源网| 亚洲视频第一页| 免费看精品久久片| 国产欧美日韩伦理| 亚洲九九精品| 久久久夜色精品亚洲| 亚洲欧洲视频在线| 欧美专区在线播放| 欧美日韩精品二区| 亚洲国产黄色| 久久国产视频网站| 亚洲免费精彩视频| 久久综合九色综合网站| 国产精品麻豆va在线播放| 亚洲国产一区在线观看| 欧美诱惑福利视频| 亚洲美女视频| 男女视频一区二区| 国产综合香蕉五月婷在线| 中文亚洲欧美| 亚洲国产精品久久人人爱蜜臀| 性色av一区二区三区| 欧美日韩三区四区| 亚洲精品影视在线观看| 快播亚洲色图|