• <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>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
                    alpha混合技術(shù)對(duì)熟悉游戲的人來(lái)說(shuō)不會(huì)陌生,這種技術(shù)在如今的游戲特效里已經(jīng)被用爛了。3D的游戲就不說(shuō)了,2D的游戲里,這種技術(shù)也是滿眼皆是。

              alpha混合聽上去很神秘,實(shí)際非常簡(jiǎn)單,其作用就是要實(shí)現(xiàn)一種半透明效果。假設(shè)一種不透明東西的顏色是A,另一種透明的東西的顏色是B,那么透過(guò)B去看A,看上去的顏色C就是B和A的混合顏色,可以用這個(gè)式子來(lái)近似,設(shè)B物體的透明度為alpha(取值為0-1,0為完全透明,1為完全不透明)

            R(C)=alpha*R(B)+(1-alpha)*R(A)
            G(C)=alpha*G(B)+(1-alpha)*G(A)
            B(C)=alpha*B(B)+(1-alpha)*B(A)

              R(x)、G(x)、B(x)分別指顏色x的RGB分量。看起來(lái)這個(gè)東西這么簡(jiǎn)單,可是用它實(shí)現(xiàn)的效果絕對(duì)不簡(jiǎn)單,應(yīng)用alpha混合技術(shù),可以實(shí)現(xiàn)出最眩目的火光、煙霧、陰影、動(dòng)態(tài)光源等等一切你可以想象的出來(lái)的半透明效果。

              火光、煙霧的效果是事先做好一個(gè)火或霧的圖和一個(gè)alpha通道圖(用過(guò)Photoshop的人都該知道什么是alpha通道),畫上去的時(shí)候每點(diǎn)每點(diǎn)計(jì)算,得到的就是火光掩映的效果。霧化效果在3D里還需要模糊一下,在這里就免了,本來(lái)alpha混合就有不小的計(jì)算量了,算法再不優(yōu)化再加上模糊或其它的一些什么原因,那么你就是在看幻燈片了。(關(guān)于優(yōu)化,網(wǎng)上見仁見智,我再找時(shí)候再講)。

              動(dòng)態(tài)光源,聽起來(lái)高深的一塌。那我先講一下陰影,這個(gè)就簡(jiǎn)單了,以往的游戲也有陰影(象《仙劍》),不過(guò)我們把它升一下級(jí),從不透明變成半透明而已。就是把一個(gè)影子圖放在地表上面作alpha混合(而且可以簡(jiǎn)化,因?yàn)橛白拥腶lpha值可以是一定的,這樣就可以大幅提高計(jì)算速度)就OK了。

              該講動(dòng)態(tài)光源了。我們把沒有光源的地方想象成一張黑幕蒙在屏幕上,沒光也就什么都看不到。那么我們就加上一個(gè)光源,相當(dāng)于在黑幕上挖了一個(gè)洞,這個(gè)洞的大小就是被照亮的范圍,現(xiàn)在我們可以看到下面的東西了。但現(xiàn)在這個(gè)效果說(shuō)是光源,倒不如說(shuō)是個(gè)窗戶,要顯得象光源,就要讓光源的中心最亮,逐漸向四周暗下去,最后到什么都看不見,這才象個(gè)光源。具體實(shí)現(xiàn)就是alpha混合啦,蒙版的顏色是黑,中心alpha值為0,完全透明,到光源的盡頭alpha值為1,完全不透明,成果就是這個(gè)樣子,象這么回事吧!光源做好了,動(dòng)態(tài)的光源就是實(shí)時(shí)生成一個(gè)動(dòng)態(tài)的alpha蒙版,然后蓋上去就行了。

              不難吧!游戲里(其實(shí)也不只游戲,好多算法也是這樣)的一些技術(shù)聽起來(lái)很玄,說(shuō)通了也就是那么回事,只不過(guò)不是一下子就能想到就是了。

              Diablo里面就大量應(yīng)用了alpha混合技術(shù)(至少我看上去象),那些眩目的魔法產(chǎn)生出來(lái)的半透明效果,還有亂飛的火球照亮迷宮,每個(gè)火球也就是個(gè)小的光源,一堆光源產(chǎn)生出來(lái)的蒙版(就是對(duì)應(yīng)的alpha相加,超過(guò)255就截?cái)?再蒙上去。(真正的光源應(yīng)該是這樣的:當(dāng)alpha值超過(guò)255時(shí),alpha=alpha-255,alpha是一個(gè)Byte時(shí)也就是回繞,同時(shí)該點(diǎn)蒙版的色彩變?yōu)榘咨@才是對(duì)的,不過(guò)簡(jiǎn)單起見,還是原來(lái)那樣就可以了)。

            久久精品国产99久久久香蕉| 久久亚洲国产欧洲精品一| 久久无码国产| 亚洲成av人片不卡无码久久| 久久香综合精品久久伊人| 久久99毛片免费观看不卡| 久久综合久久伊人| 72种姿势欧美久久久久大黄蕉| 88久久精品无码一区二区毛片 | 热久久这里只有精品| 狠狠综合久久综合中文88| 男女久久久国产一区二区三区| 99久久亚洲综合精品成人| 99国产精品久久| 免费精品国产日韩热久久| www.久久99| 伊人久久大香线蕉av不变影院| 99久久精品免费看国产免费| 久久精品无码一区二区WWW | 亚洲国产日韩欧美久久| 99久久无码一区人妻| 国产精品青草久久久久婷婷| 伊人久久大香线蕉av不卡| 色妞色综合久久夜夜| 人人狠狠综合88综合久久| 久久国产视屏| 久久精品?ⅴ无码中文字幕| 18岁日韩内射颜射午夜久久成人| 午夜精品久久久久久毛片| 久久久久久精品免费看SSS| 久久久久亚洲AV片无码下载蜜桃| 久久亚洲天堂| 久久综合视频网| 午夜精品久久久久久影视riav| 日韩欧美亚洲综合久久影院Ds| 久久精品无码一区二区日韩AV| 97久久精品人人澡人人爽| 四虎国产精品免费久久5151| 99久久这里只有精品| 99久久99久久精品国产| 欧洲国产伦久久久久久久|