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

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 371315
            • 排名 - 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久久香蕉国产线看观香| 国产人久久人人人人爽| 久久夜色精品国产亚洲av| 日韩欧美亚洲综合久久影院Ds | 久久男人Av资源网站无码软件| 久久综合给久久狠狠97色| 青青草原1769久久免费播放| 性做久久久久久免费观看| 精品久久久久久久| 午夜精品久久久久久影视777| 久久精品www人人爽人人| 国产精品久久久久乳精品爆 | 亚洲va久久久久| 久久国产精品久久| 久久人人爽人人爽人人爽| 国产精品视频久久久| 精品国产乱码久久久久久人妻| 成人国内精品久久久久影院VR| 精品国产乱码久久久久久呢| 久久影院午夜理论片无码 | 99精品伊人久久久大香线蕉| 99精品久久久久久久婷婷| 国产巨作麻豆欧美亚洲综合久久| 亚洲va久久久噜噜噜久久天堂| 久久国产香蕉一区精品| 亚洲精品国产成人99久久| 9久久9久久精品| 77777亚洲午夜久久多人| 99精品久久久久久久婷婷| 狠狠色综合久久久久尤物| 91亚洲国产成人久久精品网址| 久久性生大片免费观看性| 色婷婷综合久久久久中文一区二区| 国产成人精品久久综合 | 亚洲精品无码久久久久久| 免费一级欧美大片久久网| 久久99精品久久久久久9蜜桃| 久久综合综合久久97色| 中文字幕久久久久人妻| 久久午夜夜伦鲁鲁片免费无码影视| 久久99热这里只有精品66|