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

永遠也不完美的程序

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

常用鏈接

統計

積分與排名

好友鏈接

最新評論

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>
            亚洲区在线播放| 午夜精品久久久久久久久| 亚洲久久在线| 久久精品国产99| 99热这里只有精品8| 免费欧美网站| 亚洲第一中文字幕| 美腿丝袜亚洲色图| 欧美一级大片在线免费观看| 欧美午夜精品久久久久久超碰| 亚洲精品视频免费| 欧美不卡福利| 免费影视亚洲| 99精品视频免费观看视频| 亚洲精品国产精品久久清纯直播| 久久婷婷国产综合精品青草| 在线观看久久av| 欧美成人小视频| 欧美黑人在线观看| 一区二区久久久久| 亚洲一区二区欧美| 国产一区二区三区网站| 久久久精品午夜少妇| 亚洲激情午夜| 欧美日韩国产小视频| 一区二区三区**美女毛片| 一本色道久久综合亚洲精品不卡| 欧美日韩中文字幕精品| 亚洲欧美在线x视频| 欧美亚洲自偷自偷| 狠狠入ady亚洲精品| 欧美成人免费大片| 欧美精品久久久久a| 亚洲欧美另类国产| 欧美一级二级三级蜜桃| 亚洲福利精品| 亚洲片区在线| 国产精品羞羞答答xxdd| 玖玖玖免费嫩草在线影院一区| 老司机凹凸av亚洲导航| 一区二区日本视频| 欧美一区二区私人影院日本| 伊人婷婷欧美激情| 99pao成人国产永久免费视频| 国产欧美一区二区三区久久| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产日韩欧美麻豆| 久久综合伊人| 欧美区视频在线观看| 欧美在线观看一区二区三区| 久久欧美中文字幕| 亚洲一区在线观看视频 | 免播放器亚洲| 午夜精品久久久久久久男人的天堂| 久久se精品一区二区| 亚洲精品日韩一| 久久精品中文字幕免费mv| 欧美freesex交免费视频| 香蕉av福利精品导航| 你懂的视频欧美| 香蕉成人久久| 欧美高清视频一区二区| 久久精品在线视频| 欧美午夜视频在线观看| 欧美成人免费在线| 国产精品日韩二区| 亚洲福利视频一区| 伊人久久亚洲美女图片| 亚洲嫩草精品久久| 亚洲欧美激情视频| 欧美aⅴ99久久黑人专区| 久久久久国产精品www| 欧美午夜在线一二页| 亚洲国产人成综合网站| 在线播放豆国产99亚洲| 午夜久久影院| 午夜精品国产更新| 欧美性大战久久久久久久| 亚洲激情亚洲| 亚洲日本电影| 久久综合伊人77777| 久久精品五月| 国产欧美韩日| 亚洲综合色在线| 亚洲欧美日韩国产综合精品二区| 欧美激情1区2区3区| 欧美激情精品久久久久久黑人| 黄色日韩网站| 久久久久国产免费免费| 久久综合色播五月| 亚洲高清影视| 麻豆精品视频在线观看视频| 免费成人av在线| 激情久久婷婷| 久久亚洲一区二区| 欧美成人一区二区三区在线观看| 黄色免费成人| 久久久一区二区三区| 免费不卡视频| 亚洲激情视频在线| 欧美大片免费观看| 亚洲国产一区二区三区在线播| 亚洲高清色综合| 玖玖视频精品| 亚洲精品乱码久久久久久按摩观 | 亚洲国产日韩美| 一本色道久久综合亚洲91| 欧美日韩国产999| 亚洲视屏在线播放| 久久久久成人精品免费播放动漫| 国内成人自拍视频| 玖玖玖国产精品| 亚洲精品乱码久久久久久蜜桃91 | 一区二区三区高清| 欧美在线不卡视频| 亚洲大片av| 欧美—级a级欧美特级ar全黄| 亚洲精品资源美女情侣酒店| 亚洲男同1069视频| 很黄很黄激情成人| 欧美成人a视频| 亚洲视频在线视频| 久久久久国产精品厨房| 欧美日韩成人在线| 亚洲欧美在线磁力| 蜜臀av在线播放一区二区三区| 亚洲精品四区| 欧美午夜精品伦理| 久久久99久久精品女同性| 最新国产成人在线观看| 欧美在线精品免播放器视频| 亚洲成色www8888| 欧美日韩亚洲一区二区三区在线| 午夜免费久久久久| 亚洲激情专区| 久久亚洲综合| 午夜精品久久久久久久99热浪潮| 一区二区在线视频播放| 欧美手机在线视频| 久久综合色播五月| 亚洲综合999| 亚洲夫妻自拍| 欧美一区二区三区啪啪| 日韩亚洲在线| 韩日欧美一区| 国产精品看片资源| 欧美a级一区二区| 午夜精品一区二区三区在线视| 亚洲国产99精品国自产| 久久久久看片| 午夜精品久久久久久久久久久久久 | 亚洲国产精品www| 欧美在线观看视频在线| 日韩午夜av电影| 在线观看91久久久久久| 国产精品初高中精品久久| 欧美成人一区二区在线| 久久福利视频导航| 亚洲综合社区| 一区二区欧美日韩| 日韩午夜电影在线观看| 亚洲大胆在线| 免费在线亚洲欧美| 久久一二三国产| 久久黄色级2电影| 欧美一区二区三区免费看 | 久久久久一区二区三区四区| 亚洲午夜电影| 一片黄亚洲嫩模| 亚洲精品久久久一区二区三区| 一区久久精品| 樱桃成人精品视频在线播放| 国产一级精品aaaaa看| 国产精品一二一区| 国产精品一区免费视频| 国产精自产拍久久久久久蜜| 国产精品乱人伦中文| 国产精品久久久久久久久久久久 | 伊伊综合在线| 亚洲国产精品久久久久婷婷老年| 精品福利免费观看| 在线精品亚洲| 亚洲美女视频在线观看| 一区二区三区四区在线| 亚洲一级在线观看| 午夜精品久久久久久久男人的天堂| 午夜精品视频| 久久久亚洲人| 亚洲国产精品999| 亚洲精品国产精品国自产观看浪潮 | 欧美激情aaaa| 亚洲国产成人久久综合| 亚洲精品国产无天堂网2021| 亚洲精选视频在线| 亚洲天堂av图片| 午夜精品视频在线观看一区二区 | 在线日韩欧美视频| 日韩视频一区二区三区在线播放| av成人免费在线| 亚洲欧美在线x视频|