星際2的DS和Shadow學習筆記。

2021-05-05 17:30:04 字數 1506 閱讀 2445

最近,隨著外包告一段落,開始整理和重構gc了,順手整理一下gc的mrt。

之前沒有認真讀完的星際2的***,這次至少是把mrt部分和shadow部分讀了一下。

先說mrt吧:

星際2的mrt大約如下配置:

半透明陰影確實能帶來很多真實感,效果看起來也很不錯。如果煙霧沒有投影,給人最深刻的感覺就是這些半透明的東西,很可能是「浮」的,似乎不存在於世界之中。

星際2shadow部分的處理,是把整個shadow map分成兩個組成部分,乙個是不透明物的opaque shadow map,乙個是透明物的translucent shadow map+translucent shadow color,分兩個批次來渲染投影。

不透明物的就不用說的,老演算法,開opaque shadow map的rendertarget,光照空間——渲染物體——記錄深度。

半透明這裡稍微有點不同:

首先,別清空depthstencil,因為半透明這裡還需要獲取不透明物體的depth stencil。但是這裡,需要把半透明物的translucent shadow map和translucent shadow color設定為render target。

然後,半透明那套設定方法,開blend。

渲染的時候,演算法是像下面這樣:不斷的「濾除」顏色分量。例如,青的物體(0,1,1),濾除的將是紅色,如果陰影過來,那麼紅色分量就會被無視掉。然後,黃色的物體(1,1,0),濾除的將是藍色。這樣,上乙個stage經過的(0,1,1)就會進一步只剩下(0,1,0)。這個應該是自然界投影的乙個原則。

shadow map渲染完後,在最後場景渲染的時候就好辦了:

如果被半透明深度遮擋,就從半透明顏色translucent shadow color中讀取顏色進行shadow著色。

否則,如果被不透明深度遮擋,就根據光源的shadow顏色進行著色。

中間那個藍色的物體是個半透明物體,光照為它投了乙個半透明的影子在後面的模型上,本意是模擬肥皂泡那種感覺的shadow,引數調的還不是太好。

等全部重構完了,然後再貼正常一點的圖吧。

最近真的太懶了,嘿嘿。

星際2的質疑

簡體中文版還沒有出來,於是試玩了盜版星際2,劇情不錯,最後漫天的霞光下,英雄抱著美女看天上的飛蟲。好浪漫啊。不過一玩對戰就覺得有問題,一些常識問題 1.所有飛行器都在同一高度 2.衝鋒槍可以打到巨型戰艦 3.有些兵種只能對空,有些只能對地。不會吧,就算給你一把,也沒有這個限制,頂多是打的中打不中的問...

星際2的質疑

簡體中文版還沒有出來,於是試玩了盜版星際2,劇情不錯,最後漫天的霞光下,英雄抱著美女看天上的飛蟲。好浪漫啊。不過一玩對戰就覺得有問題,一些常識問題 1.所有飛行器都在同一高度 2.衝鋒槍可以打到巨型戰艦 3.有些兵種只能對空,有些只能對地。不會吧,就算給你一把手槍,也沒有這個限制,頂多是打的中打不中...

linux的passwd和shadow重要檔案說明

l etc passwd vim etc passwd root x 0 0 root root bin bash 省略 說明 每一行都代表乙個賬號。有很多賬號是系統中必須要的,簡稱系統賬號,例如bin,nobody 等。每一行使用 分隔開,共有七段,分別是 1,賬號名稱。對應 uid 用的!2,密...