UnityShader應用 外發光實現

2021-09-05 10:20:49 字數 1753 閱讀 2005

學習了一下實現物體外發光的shader。分成兩個pass進行,第乙個pass渲染物體正面,剔除背面;第二個pass渲染背面(剔除正面),通過擴充套件法線方向頂點,在進行顏色計算。

實現外發光的pass

//pass2 生成模型外部的光暈

pass

cull front //不正面剔除會出錯

blend srcalpha one

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

uniform float _size;

uniform float4 _atmocolor;

uniform float _outlightpow;

uniform float _outlightstrength;

struct v2f

;fixed4 frag(v2f i) : color

endcg

}

將渲染佇列設定為透明

如果不設定透明佇列會出現下圖這樣的情況:

將pass寫進之前的內發光shader中進行合成

內外發光合成效果是這樣:

最後附上合成的shader**

shader "unlit/outandrimlight"

subshader

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

#include "lighting.cginc"

; struct v2f ;

float _specularglass;

fixed4 _objcolor;

fixed4 _rimcolor;

float _rimstrength;

fixed4 frag(v2f i) : sv_target

endcg }

pass //pass2 實現outlight

cull front

blend srcalpha one

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

uniform float _size;

uniform float4 _atmocolor;

uniform float _outlightpow;

uniform float _outlightstrength;

struct v2f

; fixed4 frag(v2f i) : color

endcg }}

}

參考:

外鏈怎麼發效果好

眾所周知,內鏈為王,外鏈為皇,這是大多數站長都知道的乙個永遠不變的理論。每個一站不光要有內鏈的憂化。更要有外鏈的支撐。不然乙個站就得不到好的展示,就像一件物品,裡面的東西再完全再精緻。沒有乙個好的我裝,它照樣賣不出好的價錢來。所以乙個 的建設外鏈是必不可少的,那麼,我們站一天的外鏈量倒底需要發多少呢...

怎麼發外鏈效果好

1.原創的就是值得尊重的 乙個好的文章乙個要切合乙個相關的主題,就像乙個好演員乙個要碰到相對應的角色才能去發揮他的特長,不相關的內容會被搜尋引擎視為垃圾外鏈結,反而會對優化產生不好的影響。其實外鏈的作用無論是對 還是對銷售都具有一定的推動作用,對 外鏈可以引導蜘蛛進行抓取,對品牌推廣來說外鏈能給企業...

mysql外來鍵的應用 MySQL外來鍵應用

mysql外來鍵應用,所有tables必須是innodb型,它們不能是臨時表.因為在mysql中只有innodb型別的表才支援外來鍵.mysql版本 5.5.28 系統平台 rhel 5.8 32位 1 外來鍵的使用 外來鍵的作用,主要有兩個 乙個是讓資料庫自己通過外來鍵來保證資料的完整性和一致性 ...