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

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 370171
            • 排名 - 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) 閱讀(10894) 評論(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 一樣的問題.
            不能點兩次
            怎么檢測 已經+過了???  回復  更多評論
              

            久久人人爽人人爽人人片AV麻豆| 亚洲女久久久噜噜噜熟女| 免费观看久久精彩视频| 国产99久久九九精品无码| 久久久久人妻一区精品| 久久久国产精华液| 久久这里只有精品首页| 一级A毛片免费观看久久精品| 亚洲第一极品精品无码久久| 国产高清国内精品福利99久久| 超级97碰碰碰碰久久久久最新 | 精品无码久久久久久久动漫| 中文字幕精品久久久久人妻| 久久777国产线看观看精品| 三级片免费观看久久| 99久久精品日本一区二区免费| 久久婷婷色综合一区二区| 精品久久久久久| 亚洲va久久久噜噜噜久久男同| 国产日韩久久免费影院 | 国产成人精品免费久久久久| 亚洲精品国精品久久99热| 亚洲精品高清久久| A狠狠久久蜜臀婷色中文网| 久久精品国产久精国产果冻传媒| 久久久久久久综合日本| 99国内精品久久久久久久| 精品一区二区久久| 狠狠久久亚洲欧美专区| 久久精品中文字幕无码绿巨人| 久久久久精品国产亚洲AV无码| 久久久中文字幕日本| 久久久免费观成人影院| 久久国产成人亚洲精品影院| 日韩精品久久久久久| 亚洲国产成人久久综合一 | 久久激情五月丁香伊人| 99久久国产免费福利| 国产成人精品久久亚洲高清不卡| 国产日产久久高清欧美一区| 久久九九青青国产精品|