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

            永遠(yuǎn)也不完美的程序

            不斷學(xué)習(xí),不斷實(shí)踐,不斷的重構(gòu)……

            常用鏈接

            統(tǒng)計

            積分與排名

            好友鏈接

            最新評論

            最新-基于四叉樹的LOD地形設(shè)計

                    上次說過要在這里把最新的地形設(shè)計寫出來,不過一直沒時間寫,也想畫些UML圖,但沒工具畫,呵呵,只能通過手寫了。希望大家看得明白吧。
                    基本設(shè)計思想:
                    主要有以下幾個類,
                    CTerrainBlock,地形一個block,每個對象擁有自己的頂點(diǎn)緩沖和相對應(yīng)的LOD值。
                    HeightMap類,讀入高度圖,并根據(jù)策略創(chuàng)建一定數(shù)量的CTerrainBlock。例如1024x1024的地形,我把每個block大小設(shè)置為64x64,那么這個HeightMap有16 x 16個block。
                    CQuadTree類,四叉樹類,根據(jù)block的大小劃分四叉樹。

                    基本流程:當(dāng)場景渲染時,在場景UpdateScene的時候,首先Update了Camera數(shù)據(jù),然后從新計算Frustum,然后調(diào)用m_quadTree.GetRenderObject(list& renderList)函數(shù),以遞歸形式把quadTree中的在可視區(qū)內(nèi)的渲染對象加到渲染隊(duì)列,加入隊(duì)列前并計算出CTerrainBlock的LOD值。到渲染時,首先根據(jù)地形的LOD值與相鄰四個作判斷,然后修補(bǔ)裂縫,具體做法是動態(tài)改變IB的值,有些LOD算法是一開始就根據(jù)不同的LOD和四邊的情況生成N個公共的IB,到渲染時可根據(jù)當(dāng)前情況選擇合適的IB以解決裂縫問題。這樣可省去計算IB的時間,不過IB的數(shù)量會增多,就是以內(nèi)存換時間。我現(xiàn)在的做法是以時間換內(nèi)存。
                    下面是UpdateScene的代碼:
            void CTerrainSceneManager::UpdateScene()
            {
                
            //在這里應(yīng)該把所有object更新一次,然后更新渲染隊(duì)列
                CAMERAINST->Update();

                FRUSTUM
            ->CalculateFrustum();

                m_listRender.clear();
                m_quadTree.GetRenderableObject(m_listRender);

                
            //下面的代碼也可以在每個Object的Render時調(diào)用Update,這里我還沒體會到底放在哪里好。當(dāng)時考慮到shader的調(diào)用,所以放到Render里,把這里注釋了。
                
            //for (list<CTerrainBlock*>::iterator it = m_listRender.begin(); it != m_listRender.end(); it++)
                
            //{
                
            //    (*it)->Update();
                
            //}
            }

            下面是CTerrainBlock的部分代碼
              1void CTerrainBlock::Update()
              2{
              3    
              4    FixCrack(TERRAINSCENE->GetTerrain());  //候補(bǔ)裂縫
              5    m_dwTotalIndex = ComputeIndics();      //計算索引并填充IB
              6    //UpdateShader();
              7    UpdateEffect();                        //更新Shader
              8}

              9
             10void CTerrainBlock::FixCrack(CHeightMap* pTerrain)
             11{
             12    m_nLeftIndexCount = 0;
             13    m_nRightIndexCount = 0;
             14    m_nBottomIndexCount = 0;
             15    m_nTopIndexCount = 0;
             16
             17    //上方
             18    CTerrainBlock* pBlock = pTerrain->GetBlock(m_nNeighbor[0]);
             19
             20    if (pBlock)
             21    {
             22        FixCrackEdge(pBlock->GetLODLevel(), BLOCK_TOP);
             23    }

             24
             25    //右方
             26    pBlock = pTerrain->GetBlock(m_nNeighbor[1]);
             27
             28    if (pBlock)
             29    {
             30        FixCrackEdge(pBlock->GetLODLevel(), BLOCK_RIGHT);
             31    }

             32
             33    //下方
             34    pBlock = pTerrain->GetBlock(m_nNeighbor[2]);
             35
             36    if (pBlock)
             37    {
             38        FixCrackEdge(pBlock->GetLODLevel(), BLOCK_BOTTOM);
             39    }

             40
             41    //左方
             42    pBlock = pTerrain->GetBlock(m_nNeighbor[3]);
             43
             44    if (pBlock)
             45    {
             46        FixCrackEdge(pBlock->GetLODLevel(), BLOCK_LEFT);
             47    }

             48}

             49
             50void CTerrainBlock::FixCrackEdge(int nNeighborLevel, BLOCKEDGE edge)
             51{
             52    if (m_nLODLevel == 3 || nNeighborLevel == m_nLODLevel)
             53    {
             54        return;
             55    }

             56    if ((nNeighborLevel - m_nLODLevel) == 1)
             57    {
             58        switch(edge)
             59        {
             60        case BLOCK_TOP:
             61            //m_vtTopEdge.clear();
             62            m_nTopIndexCount = 1;
             63
             64            break;
             65        case BLOCK_RIGHT:
             66            m_nRightIndexCount = 1;
             67
             68            break;
             69        case BLOCK_BOTTOM:
             70            m_nBottomIndexCount = 1;
             71
             72            break;
             73        case BLOCK_LEFT:
             74            m_nLeftIndexCount = 1;
             75
             76            break;
             77        }

             78    }

             79    else if ((nNeighborLevel - m_nLODLevel) == 2)
             80    {
             81        switch(edge)
             82        {
             83        case BLOCK_TOP:
             84            m_nTopIndexCount = 3;
             85
             86            break;
             87        case BLOCK_RIGHT:
             88            m_nRightIndexCount = 3;
             89
             90            break;
             91        case BLOCK_BOTTOM:
             92            m_nBottomIndexCount = 3;
             93
             94            break;
             95        case BLOCK_LEFT:
             96            m_nLeftIndexCount = 3;
             97
             98            break;
             99        }

            100    }

            101}

            102
            103void CTerrainBlock::ComputeNeighbor()
            104{
            105    m_nNeighbor[0= m_nTopLeftX + (m_nTopLeftY - m_wGridsPerRow) * m_dwTerrainSize;   //上方
            106    m_nNeighbor[1= m_nTopLeftX + m_wGridsPerRow + m_nTopLeftY * m_dwTerrainSize;     //右方                                                           //右方
            107    m_nNeighbor[2= m_nTopLeftX + (m_nTopLeftY + m_wGridsPerRow) * m_dwTerrainSize;   //下方                                                             //下方
            108    m_nNeighbor[3= m_nTopLeftX - m_wGridsPerRow + m_nTopLeftY * m_dwTerrainSize;     //左方                                                      //左方
            109}

            110
            111DWORD CTerrainBlock::ComputeIndics()
            112{
            113    WORD* pIndices = NULL;
            114
            115    m_pIndexBuffer->Lock(00, (void**)&pIndices, NULL);
            116
            117    DWORD dwIndex = 0;
            118    
            119    DWORD dwTopLeft = 0;//m_data.dwTopLeft;     //聲明,topleft是要在block里的topleft,而不是在整個地形的topleft
            120    DWORD dwTopRight = m_wBlockSize - 1;
            121    DWORD dwBottomRight = m_dwNumBlockVertices - 1;
            122    DWORD dwBottomLeft = dwBottomRight - (m_wBlockSize - 1);
            123    if (m_nLODLevel == 3)   //最大層
            124    {
            125        for (DWORD nRow = 0; nRow < m_nRealCell; nRow++)    //
            126        {
            127            for (DWORD nCol = 0; nCol < m_nRealCell; nCol++)  
            128            {
            129                *(pIndices + dwIndex++= dwTopLeft + nCol * m_wIndexStride + nRow * m_wIndexStride * m_wBlockSize;
            130                *(pIndices + dwIndex++= dwTopLeft + (nCol + 1* m_wIndexStride + nRow * m_wIndexStride * m_wBlockSize;
            131                *(pIndices + dwIndex++= dwTopLeft + (nCol + 1* m_wIndexStride + (nRow + 1* m_wIndexStride * m_wBlockSize;
            132
            133                *(pIndices + dwIndex++= dwTopLeft + nCol * m_wIndexStride + nRow * m_wIndexStride * m_wBlockSize;
            134                *(pIndices + dwIndex++= dwTopLeft + (nCol + 1* m_wIndexStride + (nRow + 1* m_wIndexStride * m_wBlockSize;
            135                *(pIndices + dwIndex++= dwTopLeft + nCol * m_wIndexStride + (nRow + 1* m_wIndexStride * m_wBlockSize;
            136            }

            137        }

            138
            139    }

            140
            141    if (m_nLODLevel <= 2)        //第二、第三層
            142    {
            143        //處理上邊
            144        if (m_nTopIndexCount == 1)
            145        {
            146            for (DWORD nCol = 0; nCol < m_nRealCell; nCol += 2)
            147            {
            148                DWORD dwBottom = dwTopLeft + (nCol + 1* m_wIndexStride + m_wIndexStride * m_wBlockSize;//m_wIndexStride + m_wIndexStride * m_wBlockSize + nCol * m_wIndexStride * 2;
            149
            150                if (nCol == 0)    //處理右邊的三角形
            151                {
            152
            153                    *(pIndices + dwIndex++= dwBottom;
            154                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride - m_wIndexStride * m_wBlockSize;
            155                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride;
            156                }

            157                else if (nCol == m_nRealCell - 2)
            158                {
            159                    //左下邊三角形
            160                    *(pIndices + dwIndex++= dwBottom;                          
            161                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride;
            162                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride - m_wIndexStride * m_wBlockSize;
            163                }

            164                else
            165                {
            166                    //左下邊三角形
            167                    *(pIndices + dwIndex++= dwBottom;                          
            168                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride;
            169                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride - m_wIndexStride * m_wBlockSize;
            170
            171                    //右下邊三角形
            172                    *(pIndices + dwIndex++= dwBottom;                          
            173                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride - m_wIndexStride * m_wBlockSize;
            174                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride;
            175                }

            176
            177                //處理上邊的三角形
            178                *(pIndices + dwIndex++= dwBottom;                          
            179                *(pIndices + dwIndex++= dwBottom - m_wIndexStride - m_wIndexStride * m_wBlockSize;
            180                *(pIndices + dwIndex++= dwBottom + m_wIndexStride - m_wIndexStride * m_wBlockSize;
            181
            182            }

            183        }

            184        else if (m_nTopIndexCount == 3)
            185        {
            186            for (DWORD nCol = 0; nCol < m_nRealCell; nCol += 4)
            187            {
            188                DWORD dwBottom = dwTopLeft + (nCol + 2* m_wIndexStride + m_wIndexStride * m_wBlockSize;
            189
            190                if (nCol == 0)    //處理右邊的三角形
            191                {
            192                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride;
            193                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride * 2 - m_wIndexStride * m_wBlockSize;
            194                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride * 2;
            195                }

            196                else if (nCol == m_nRealCell - 4)
            197                {
            198                    //左下邊三角形
            199                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride;                          
            200                    *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride;
            201                    *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            202                }

            203                else
            204                {
            205                    //左下邊三角形
            206                    *(pIndices + dwIndex++= dwBottom - m_wIndexStride;                          
            207                    *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride;
            208                    *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            209
            210                    //右下邊三角形
            211                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride;                          
            212                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride * 2 - m_wIndexStride * m_wBlockSize;
            213                    *(pIndices + dwIndex++= dwBottom + m_wIndexStride * 2;
            214                }

            215
            216                //處理上邊的3個三角形
            217                *(pIndices + dwIndex++= dwBottom;                          
            218                *(pIndices + dwIndex++= dwBottom - m_wIndexStride;
            219                *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            220
            221                *(pIndices + dwIndex++= dwBottom;                          
            222                *(pIndices + dwIndex++= dwBottom - 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            223                *(pIndices + dwIndex++= dwBottom + 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            224
            225                *(pIndices + dwIndex++= dwBottom;                          
            226                *(pIndices + dwIndex++= dwBottom + 2 * m_wIndexStride - m_wIndexStride * m_wBlockSize;
            227                *(pIndices + dwIndex++= dwBottom + m_wIndexStride;
            228
            229            }

            230        }

            231        else if (m_nTopIndexCount == 0)    //不需要修補(bǔ)
            232        {
            233            for (DWORD i = 0; i < m_nRealCell; i++)
            234            {
            235                if (i == 0)
            236                {
            237                    *(pIndices + dwIndex++= dwTopLeft + m_wIndexStride + m_wIndexStride * m_wBlockSize;
            238                    *(pIndices + dwIndex++= dwTopLeft;
            239                    *(pIndices + dwIndex++= dwTopLeft + m_wIndexStride;
            240
            241                }

            242                else if (i == m_nRealCell - 1)
            243                {
            244                    *(pIndices + dwIndex++= dwTopLeft + i * m_wIndexStride + m_wIndexStride * m_wBlockSize;
            245                    *(pIndices + dwIndex++= dwTopLeft + i * m_wIndexStride;
            246                    *(pIndices + dwIndex++= dwTopRight;
            247                }

            248                else
            249                {
            250                    *(pIndices + dwIndex++= dwTopLeft + (i + 1* m_wIndexStride + m_wIndexStride * m_wBlockSize;
            251                    *(pIndices + dwIndex++= dwTopLeft + i * m_wIndexStride + m_wIndexStride * m_wBlockSize;
            252                    *(pIndices + dwIndex++= dwTopLeft + i * m_wIndexStride;
            253
            254                    *(pIndices + dwIndex++= dwTopLeft + i * m_wIndexStride;
            255                    *(pIndices + dwIndex++= dwTopLeft + (i + 1* m_wIndexStride;
            256                    *(pIndices + dwIndex++= dwTopLeft + (i + 1* m_wIndexStride + m_wIndexStride * m_wBlockSize;
            257                }

            258            }

            259        }

            260    
            261    
            262}


            這樣LOD的地形大概完成,下面是DEBUG版本貼圖:
            1025 x1025 的地形:


            WireFrame截圖:


            129x129截圖:


            因?yàn)?29X129的頂點(diǎn)數(shù)較少,所以開了水面反射與折射幀數(shù)還是比較高。

            posted on 2009-01-10 16:19 狂爛球 閱讀(7602) 評論(73)  編輯 收藏 引用 所屬分類: 圖形編程

            評論

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-11 13:07 溜溜

            大哥把你的程序發(fā)我一份行嗎?謝謝了!!正在研究 249127959@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-11 13:07 溜溜

            再次謝謝   回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-14 17:26 gatt

            我也需要,能不能發(fā)一份給我,謝謝!!
            gatt@21cn.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-21 13:57 李季

            我也想學(xué)習(xí)學(xué)習(xí)啊 發(fā)一份我行嗎?
            470152949@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-28 22:02 billy

            請發(fā)一份程序給我學(xué)習(xí)學(xué)習(xí),你做的這個地形真不錯。。。。謝謝
            1986818lb@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-03-30 04:28 sazabileon

            請問能把程序發(fā)我一份學(xué)習(xí)一下嗎?最近在搞這個算法非常頭痛,謝謝了~~
            sazabileon@yahoo.com.cn  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-04-01 23:03 明天

            能發(fā)我一份嗎
            kuangben2001@163.com
            先謝了  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-04-02 10:54 everett

            代碼也發(fā)我一份好嗎 最近再研究相關(guān)的東西 先謝謝了。。
            foreverjingli@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-04-16 22:14 yliuman

            最近正在學(xué)習(xí)地形顯示,發(fā)一份給我學(xué)習(xí)學(xué)習(xí),先謝了!
            yliuman@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-04-17 13:33 friend

            能不能發(fā)一份LOD 源碼給我,最近正在學(xué)習(xí),謝謝,郵箱:rainlinemy@yahoo.com.cn  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-05-01 13:13 danile

            能發(fā)份我嗎?最近找資料剛好上來了,謝謝,郵箱:6953405@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-05-06 23:00 向往

            好文,若方便麻煩你發(fā)源文件到我郵箱:ztingliang@126.com.謝謝!~  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2009-05-08 11:45 jay

            能發(fā)一份源碼給我啊,我現(xiàn)在正在研究這個算法,謝謝,我的郵箱:wwjbag@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-05-09 20:17 Lee Wang

            能發(fā)我一份源碼么?謝謝啦
            wangli_first@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-05-10 09:58 Keng xiong

            能發(fā)一份源碼給我啊,我現(xiàn)在正在研究這個算法,謝謝,我的郵箱:kxteng33@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-05-16 08:31 arun

            想要你的源碼做參考和學(xué)習(xí) 謝謝----rfc_1984@hotmail.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-06-02 23:35 Pan7an

            代碼也發(fā)我一份好嗎 最近再研究這個算法,謝謝
            pyx0622@gmail.com   回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-06-03 08:58 daxiong

            也能發(fā)我一份嗎?謝謝,郵箱:yundaolewo11@sina.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-06-30 11:56 nst

            大哥,我是一個3D愛好者,能發(fā)給我以份源碼學(xué)習(xí)一下嗎?謝謝了啊。  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-07-20 23:20 小七

            衷心感謝。115580581@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-08-28 23:59 初學(xué)地形

            能夠給我源碼嗎? 謝謝
            謝謝

            非常感謝

            fero2009@126.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-09-14 12:34 小陳

            能也給我一份嗎?最近也在研究地形,謝謝,我的郵箱是371161810@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2009-10-03 17:38 Star

            呵呵。。LZ優(yōu)化需要加強(qiáng)。。理論上4097*4097能跑到35FPS的。。  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-10-03 22:57 梁藹然

            @Star
            是需要再優(yōu)化一下,不過我這里的SHADER寫得不好,4097的跑到35是DEBUG還是RELEASE呢?  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-10-19 16:06 您好

            可以發(fā)我一份代碼嗎?
            順便加一下您的qq號,呵呵。

            一起發(fā)過來吧, 交流一下 csnever@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-11-15 16:33 你好

            你好,正在學(xué)習(xí)LOD,能發(fā)一份源代碼給嗎?
            zy-li@tom.com
            謝謝  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-11-16 19:41 tian

            樓主能否發(fā)我一份源碼,最近本科畢業(yè)設(shè)計在做地形算法,想?yún)⒖枷聵侵鞯乃惴?十分感謝. 我的郵箱471108295@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2009-11-26 09:33 qianlvqiu

            給我一份,謝謝啦,學(xué)習(xí)了
            qianlvqiu@sina.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2009-12-29 09:35 Lemon

            你好..能發(fā)一份給我嗎?最近想得有點(diǎn)頭大了..謝謝你~!
            qlemonq@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-01-08 14:52 無聊

            梁生,竟然甘多人要  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-02-10 01:12 rainlinemy

            你好,最近正在研究LOD,能把你的源碼發(fā)一份嗎?
            郵箱:rainlinemy@yahoo.com.cn  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-02-26 23:10 LOD

            你好..能發(fā)一份給我嗎?最近想得有點(diǎn)頭大了..謝謝你~!
            woozylong@gmail.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-03-02 16:01 iger

            樓主,給我也發(fā)一份 ,謝謝了。。郵箱:igerer@163.com   回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-03-15 17:23 lichangan

            樓主,感謝您給我發(fā)一份源碼好嗎,謝謝了,8246390@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-05-14 09:22 賈淺

            您好,我最近也在研究運(yùn)用LOD地形渲染,把您的代碼給我發(fā)一份吧,先謝謝啦??!  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-05-14 09:24 賈淺

            我的郵箱jiaqianprivate@163.com,謝謝拉  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-05-21 16:47

            樓主,可否把你的程序發(fā)給我一份?最近正在研究這個,謝謝!
            我的郵箱yangliqun06@gmail.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-06-02 18:40

            樓主,我最近也在研究運(yùn)用LOD地形渲染, 可否把你的程序發(fā)給我一份 yuisunn@gmail.com 先謝謝  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-06-21 13:45 black0592

            能否也發(fā)一根給我 zhihai0592@sina.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2010-07-08 09:26 Michael

            可以發(fā)我一份嗎, michaelgamedesigner@hotmail.cm  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2010-07-08 09:27 Michael

            michaelgamedesigner@hotmail.com 謝謝  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-08-03 11:29 suerey

            lz,如果點(diǎn)是格網(wǎng)的話的不規(guī)則的地形能適用嗎?
            可以發(fā)份代碼給我嗎?313498985@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-08-13 11:41 t68133160

            今天看到你的文章能給我一份代碼嗎?t68133160@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-11-02 13:37 essance

            正在研究這個,前輩能給一份代碼我參考參考嗎?不甚感激吖...
            我的郵箱是:essance@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-11-03 17:09 陳安太

            前輩給我發(fā)一份吧,太感謝了,我的郵箱linyiantai@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2010-12-16 13:42 xiaodiezi

            樓主,我最近也在學(xué)習(xí)這能,能發(fā)一份代碼給我嗎?謝謝!
            986772462@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-03-17 17:17 讓人人

            有些LOD算法是一開始就根據(jù)不同的LOD和四邊的情況生成N個公共的IB,到渲染時可根據(jù)當(dāng)前情況選擇合適的IB以解決裂縫問題。這樣可省去計算IB的時間,不過IB的數(shù)量會增多,就是以內(nèi)存換時間。我現(xiàn)在的做法是以時間換內(nèi)存。

            哈哈以前就是用這種方式實(shí)現(xiàn)的,內(nèi)存占用確實(shí)比較大  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-04-27 18:03 zxy

            樓主,我最近也在學(xué)習(xí)這塊,可以把您的源代碼發(fā)我一份嗎?455408994@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-07 16:12 Jacky

            最近在研究--D3D 室外地形設(shè)計相關(guān)內(nèi)容,能發(fā)一份源代碼給我不?非常感謝?。?90007404@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-08 17:11 Jacky

            你有收到源代碼嗎?發(fā)我一份怎樣?@zxy
              回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-08 18:14 Jacky

            能發(fā)一份源代碼給我不?謝謝@溜溜
              回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-08 18:16 Jacky

            能發(fā)一份源代碼不?390007404@qq.com 謝謝@溜溜
              回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-08 18:18 Jacky

            能發(fā)一份源代碼不?390007404@qq.com 謝謝@billy
              回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2011-05-08 18:18 Jacky

            能發(fā)一份源代碼不?390007404@qq.com 謝謝@yliuman
              回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-06-13 01:22 鄭帥

            求發(fā)一份源代碼 08301090@bjtu.edu.cn  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-06-27 11:39 master3758

            能發(fā)一份源代碼不?master3758@gmail.com,謝謝~  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-09-30 17:19 liming

            您好,可以發(fā)一份源代碼給我么,自己最近在研究寫一個小型的3D游戲引擎,看到你這里處理地形效果很棒,我也想試試……郵箱liming0606@sina.cn  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2011-12-07 19:02 kathy

            我有一些關(guān)于directx的問題想請教,請加q
            422061911
            剛剛開始學(xué)習(xí)directx,您的這個程序我還不太讀得懂。。  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-02-26 16:56 大哥,能發(fā)份源碼不 348732178@qq.com

            很好的東西  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-02-26 16:56 大哥,能發(fā)份源碼不 348732178@qq.com

            很好的東西,學(xué)習(xí)借鑒一下  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-03-25 01:02 謝凌云

            求源碼,現(xiàn)在開始接觸四叉樹的LOD算法,我的畢業(yè)設(shè)計題目就是相關(guān)的,希望可以借鑒一下 xielingyun2007@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-04-02 10:41 brenna

            很好的東西,很想學(xué)習(xí),能給個源碼嗎?564054523@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-06-19 20:07 benlong

            靠!這么多要代碼的,我也要 wblong9115@gmail.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-08-15 18:06 里哈

            同求一份源代碼,lihaha1985@126.com,不甚感激!  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2012-10-24 16:31

            本人也正在學(xué)習(xí)三維地形,希望能夠提供一份源碼供參考學(xué)習(xí)。謝謝!lygsmy.2007@163.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2012-11-22 16:41 小鳥

            本人菜鳥階段,希望能夠提供一份源碼供參考學(xué)習(xí)。謝謝!
            QQ:472502272  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2013-09-23 09:35 Q

            正在學(xué)習(xí)四叉樹LOD,同求一份代碼,多謝~~~
            423322338@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2013-09-23 10:50 納尼

            正在學(xué)習(xí)四叉樹LOD,同求一份代碼,多謝515545140@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2013-11-09 14:14 上份額

            看到閣下作品很是喜歡,同求一份代碼,多謝~~~ illiy@aliyun.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2013-12-27 09:53 yuanmu

            同求:630798143@qq.com,謝謝  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計 2015-01-04 19:29 fang

            大家回復(fù)這么多應(yīng)該您都給代碼了吧,麻煩給我也發(fā)一份吧 854911348@qq.com  回復(fù)  更多評論   

            # re: 最新-基于四叉樹的LOD地形設(shè)計[未登錄] 2016-04-06 16:58 wang

            正在學(xué)習(xí)四叉樹LOD,同求一份代碼,多謝1689350222@qq.com   回復(fù)  更多評論   

            亚洲伊人久久精品影院| 久久久久久国产精品无码超碰| 大蕉久久伊人中文字幕| 国产精品内射久久久久欢欢| 久久AⅤ人妻少妇嫩草影院| 久久久久国产亚洲AV麻豆| 国产精品成人久久久| 亚洲AV无码久久精品成人| 国产成人久久精品激情| 99久久久久| 久久久久久久综合狠狠综合| 久久成人国产精品免费软件| 狠狠色丁香久久婷婷综合五月| AA级片免费看视频久久| 免费一级做a爰片久久毛片潮| 2021最新久久久视精品爱| 亚洲中文精品久久久久久不卡| 精品999久久久久久中文字幕| 久久久久亚洲精品无码网址 | 欧美牲交A欧牲交aⅴ久久| 99久久777色| 久久无码精品一区二区三区| 亚洲日本va中文字幕久久| 久久综合综合久久狠狠狠97色88| 久久午夜无码鲁丝片午夜精品| 国产aⅴ激情无码久久| 免费国产99久久久香蕉| 亚洲国产精品综合久久网络| 人妻无码中文久久久久专区| 久久99亚洲综合精品首页| 婷婷五月深深久久精品| 久久国产免费| 久久丫精品国产亚洲av不卡 | 亚洲AⅤ优女AV综合久久久| 欧美牲交A欧牲交aⅴ久久| 久久久久久国产精品无码下载| 精品综合久久久久久888蜜芽| 亚洲国产成人久久综合碰| 99久久精品日本一区二区免费 | 欧美日韩成人精品久久久免费看| 久久精品国产亚洲AV麻豆网站|