91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 【Visual C++】游戲開發五十五 淺墨DirectX教程二十二 水乳交融的美學:alpha混合技術

【Visual C++】游戲開發五十五 淺墨DirectX教程二十二 水乳交融的美學:alpha混合技術

發布時間:2020-06-27 17:34:03 來源:網絡 閱讀:465 作者:poem淺墨 欄目:開發技術



本系列文章由zhmxy555(毛星云)編寫,轉載請注明出處。

作者:毛星云(淺墨)    郵箱: happylifemxy@163.com


在這篇文章里面,我們一起非常詳細地探討了Direct3D中Alpha混合相關的內容。首先是認識了Alpha通道與混合技術,然后結識了融合因子,了解了融合運算方式和融合因子的取法,以及Alpha的三處來源,接著是大家喜聞樂見的極易上手的使用三部曲,最后依舊是詳細注釋的程序源碼的欣賞,程序截圖和每文一語欄目。


放截圖吧,不過為了不毀三觀,我們還是先放原版帶紋理的截圖:

【Visual C++】游戲開發五十五 淺墨DirectX教程二十二 水乳交融的美學:alpha混合技術


對比圖,我們今天為了演示做出來的alpha效果圖:

【Visual C++】游戲開發五十五 淺墨DirectX教程二十二 水乳交融的美學:alpha混合技術


說實話,這樣的人物模型用來做Alpha混合的演示有些兇殘,但是為了更好的掌握游戲編程,我們豁出去了。:)





然后依舊是先和大家聊聊天,

昨天晚上去看了周杰倫摩天輪演唱會南京站,表示現場真是太震撼了。當杰倫唱起那些老歌比如《回到過去》,《晴天》的時候,讓淺墨想起了初中時代的那些無憂無慮的日子,發現時間真的是一去不復返了。

另外就是南京最近天氣忽然轉冷,淺墨一不小心中招感冒了,希望大家一定要注意防寒哈。

然后今天就是雙十一搶購日了,希望大家都能搶到自己心儀的寶貝。

好了,廢話不多說,我們進入正題吧。


一、初識Alpha通道與混合技術

大家應該都知道, Alpha通道是計算機中存儲一張圖片的透明和半透明度信息的通道。它是一個8位的灰度通道,用256級灰度來記錄圖像中的透明度信息,定義透明、不透明和半透明區域,其中黑表示全透明,白表示不透明,灰表示半透明。

而混合,為Blending的英譯,是計算機圖形學中常用的一種技術,即混合像素。我們通常用已經光柵化的像素光柵化同一位置的像素,或者說是在某圖元上混合圖元。這樣說不好理解的話,我們來舉個例子。說白了就是在一張圖元的地盤上又來了另一張圖元,然后他們按照我們指定的某種方式來像“揉面團”一樣揉在一起,進行加工了再在原地顯示出來。

 alpha混合技術對熟悉游戲的朋友們來說應該不會陌生,這種技術在如今的游戲特效里已經被用爛了。且不說3D游戲中它的頻繁登場,就算是2D的游戲中,這種技術也是滿眼皆是。

  alpha混合聽上去很神秘,實際非常簡單,其作用就是要實現一種半透明效果。假設一種不透明東西的顏色是A,另一種透明的東西的顏色是B,那么透過B去看A,看上去的顏色C就是B和A的混合顏色,可以用這個式子來近似,設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分量(這里自變量x取的是顏色C)。看起來這個東西這么簡單,可是用它實現的效果確實非常的華麗,應用alpha混合技術,可以實現出最眩目的火光、煙霧、陰影、動態光源等等一切我們可以想象的出來的半透明效果。



二、Direct3D中的融合套路——融合因子


上面我們講到的是一般意義上的混合技術,而在Direct3D中,我們應該按如下的思路來進一步理解。

首先,Direct3D中依然是用Alpha通道來實現多個像素顏色值的融合。每個像素都包含四個分量:Alpha分量、紅色分量、綠色分量和藍色分量(即ARGB四分量)。其中,Alpha分量用于指定像素的透明度,在0~255之間取值,0表示完全透明,255表示完全不透明。另外,根據使用的不同的顏色宏的區別,還可能是在0.0~1.0之間取值。

在Direct3D中,融合這一領域有一個權威,那便是Alpha融合公式。Alpha融合公式如下:

【Visual C++】游戲開發五十五 淺墨DirectX教程二十二 水乳交融的美學:alpha混合技術

其中RGB_src 和RGB_dst分別表示源像素和目標像素的顏色值,為包含四個顏色分量的顏色值。

K_src K_dst分別表示源融合因子和目標融合因子。他們指定了源像素和目標像素的顏色值在融合過程中所占的比例,在[0,1]之間取值。通過原融合因子和目標融合因子,我們能夠以多種方式來修改源像素和目標像素的顏色值,從而獲得我們滿意的最終的融合后的顏色值。稍后會講解融合因子的具體取法,這里我們先把這個融合公式解析完。

在融合公式中,OP表示源和目標的融合運算方式,由D3DBLENDOP枚舉體來指定,需要注意的是它的默認值是源計算結果和目標計算結果相加。而運算符“

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘德县| 仲巴县| 永和县| 东丰县| 新绛县| 安宁市| 铜山县| 新晃| 贵溪市| 敦煌市| 鸡东县| 体育| 舟山市| 正宁县| 军事| 安溪县| 太白县| 葵青区| 东乌珠穆沁旗| 广东省| 阳江市| 贵州省| 夏邑县| 定陶县| 宜城市| 长泰县| 教育| 光山县| 大兴区| 普宁市| 仙居县| 蒲城县| 青岛市| 屏边| 阳江市| 天气| 光泽县| 电白县| 焉耆| 吴忠市| 宁波市|