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

            李錦俊(mybios)的blog

            游戲開發 C++ Cocos2d-x OpenGL DirectX 數學 計算機圖形學 SQL Server

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              86 Posts :: 0 Stories :: 370 Comments :: 0 Trackbacks

            公告

            QQ:30743734
            EMain:mybios@qq.com

            常用鏈接

            留言簿(16)

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 371330
            • 排名 - 67

            最新評論

            閱讀排行榜

            評論排行榜

            源碼已發布,請打開下載http://www.shnenglu.com/mybios/archive/2008/10/31/65636.html
            上次發了個這樣的圖,結果被某些人鄙視了,很郁悶啊。

            我們把一個魔獸3的草地貼圖提取出來,并且用下面的分塊方法來標示每一塊小貼圖,然后通過一種特定的方式來組織這些小貼圖,形成真正的地表貼圖。
            魔獸爭霸編輯器中刷地表時,刷一格就會影響四個周圍的渲染塊,具體如何影響?請看下圖:

            這是貼圖的分塊索引方法:




            通過魔獸爭霸地圖編輯器點一下刷地表草之后,在地圖中就會出現一小塊綠色草地地表,請注意在圖中我用數字1、2、4、8來表示四個渲染塊對應的貼圖索引,而這個1、2、4、8是固定的。代表的是相對于筆刷位置(筆刷位置是指周圍四個渲染塊中間位置)來說,左下角的角落貼圖索引是1;右下角的角落貼圖索引是2;左上角的角落貼圖索引是4;右上角的角落貼圖索引是8。如下圖所示:



            如果在已經有草地的地表旁邊再點一下刷地表,會刷成如下圖這個樣子:
            看明白8+4=12沒有?這里是兩個角落貼圖索引相加后的結果,得到12,就從文章開頭的索引貼圖中找到12對應的小貼圖貼上去。
            2+1=3同理,用兩個角落貼圖索引相加后的結果3從索引貼圖中找到3對應的小貼圖貼上去。
            這樣得到的效果就會變成如下圖:



            這里有是更復雜的情況,有三個角落相加,1+8+4=13,不過道理都是一樣的。


            最后說一下四周都有貼圖的情況,看到中間筆刷位置沒有?筆刷左上方有一個貼圖,對應的是貼圖索引中的0,這是因為他四個角都填充了,所以就需要從0、16~31中隨機選擇一個小貼圖貼上去以完整的填充整個渲染塊:


            至此貼圖選擇的方法已經說完了。
            至于渲染的方法,都是大同小異,這里就不多說了。


            如果本文對你的開發有所幫助,并且你手頭恰好有零錢。

            不如打賞我一杯咖啡,鼓勵我繼續分享優秀的文章。




            posted on 2008-10-26 12:16 李錦俊(mybios) 閱讀(10925) 評論(11)  編輯 收藏 引用 所屬分類: 3D引擎開發

            Feedback

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2008-11-01 09:23 hyp
            好親切啊 我看到了魔獸地圖編輯器  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2008-11-02 20:37 Touchsoft
            我上次看了,可沒有BS你 :)
            不要輕易被別人惹惱。下來看看。  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-01-15 17:55 learn
            如果在同一個坐標,點擊了兩下該如何判斷  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-01-16 11:47 李錦俊
            @learn
            那一般情況下結果不變,除非是0、16~31的圖層就可以隨機重新自動選擇。從而多樣化。  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-01-16 13:56 learn
            謝謝你,我最近在研究這個,對于你所說的結果不變。我想應該是通過什么來判斷, 4+4 8+8 1+1 2+2。代碼中畫紋理的那一部分我看的不是很明白。  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-05-12 09:25 yafare
            Good job.  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-07-10 15:05 realizz
            請問用的什么工具轉化blp文件?我用的BLPConv轉化出來的圖片不像你的圖片那樣有空白區,而是有顏色的。  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2009-07-12 08:20 vsc
            樓上的,你用photoshop看看通道,里面有alpha通道,設為可見就有透明度了  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2010-03-18 10:12 小熙
            你好,當拉近看地表紋理時,可以看到接縫,如何解決這個問題啊  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2011-05-20 07:25 lhc
            也可以用4個角的位碼理解
            1010
            1100...  回復  更多評論
              

            # re: 魔獸爭霸3的自動拼接地形渲染方式 2011-10-16 14:04 TasNat
            我用Delphi
            實現了一下
            目前有個和learn 一樣的問題.
            不能點兩次
            怎么檢測 已經+過了???  回復  更多評論
              

            国产99久久久久久免费看| 亚洲人成精品久久久久| 国产精品毛片久久久久久久| 69国产成人综合久久精品| 办公室久久精品| 亚洲国产精品无码久久久久久曰 | 亚洲精品乱码久久久久久久久久久久 | 成人资源影音先锋久久资源网| 久久免费线看线看| 久久国产精品无| 日本三级久久网| 伊人久久大香线蕉AV色婷婷色| 亚洲午夜久久久精品影院| 色偷偷偷久久伊人大杳蕉| 久久亚洲中文字幕精品一区| 精品久久久久久国产| 欧美亚洲国产精品久久高清 | 久久久久久久97| 久久精品二区| 久久香蕉国产线看观看99| 色欲久久久天天天综合网精品| 国内精品欧美久久精品| 成人综合伊人五月婷久久| 伊人色综合久久天天网 | 99久久婷婷国产综合亚洲| 久久婷婷午色综合夜啪| 久久久久99精品成人片| 色综合久久精品中文字幕首页 | 久久精品国产福利国产琪琪| 国产成人久久精品激情| 精品熟女少妇a∨免费久久| 色综合久久无码中文字幕| 无码国内精品久久人妻| 2020久久精品亚洲热综合一本| 久久午夜综合久久| 久久亚洲国产成人精品无码区| 久久综合五月丁香久久激情| 久久久国产精品| 亚洲国产成人久久精品99| 一本一道久久综合狠狠老| 亚洲AV日韩AV天堂久久|