Unity3d_Shader_RimEdgeGlow

// Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'

Shader "ZX/RimEdgeGlow" {  
    Properties {  
        _MainColor("Rim Color",COLOR) = (1,1,1,1)
        _Scale("Scale",range(1,8)) =2
        _Outer("Outer",range(0,1)) = 0.2
    }  
    SubShader {  
        Tags { "RenderType"="Opaque" "queue" = "Transparent"}  
        LOD 300  

        //=================卡通渲染PASS======================
        Pass {  
            blend srcalpha one
            zwrite off

            CGPROGRAM  
              
            #pragma vertex vert  
            #pragma fragment frag  
              
            #include "UnityCG.cginc"  
             //只有點(diǎn)乘在frag做

             float4 _MainColor;
             float _Scale;
             float _Outer;

            struct a2v {  
                float4 vertex : POSITION;  
                float3 normal : NORMAL;  
                float4 texcoord : TEXCOORD0;  
            };  
              
            struct v2f {  
                float4 pos : POSITION; 
                float3 normal:TEXCOORD0;
                float4 vertex:TEXCOORD1; 
            };  
              
            v2f vert(a2v v) {  

                v.vertex.xyz += v.normal*_Outer;

                v2f o;
                o.pos = mul(UNITY_MATRIX_MVP, v.vertex);  

                o.vertex = v.vertex;
                o.normal = v.normal;
                return o;  
            }  
              
            float4 frag(v2f i) : COLOR { 
                //float3 N = normalize( mul( i.normal ,(float3x3)_World2Object));
                float3 N =  UnityObjectToWorldNormal(i.normal);
                float3 V =  normalize( WorldSpaceViewDir(i.vertex));
                float bright =pow(saturate(dot(N,V)),_Scale);

                _MainColor.a *= bright;

                return _MainColor;  

            }  
              
            ENDCG  
        }  

        //========================================
        Pass {  
            Tags { "LightMode" = "ForwardBase" }  
              
//            Cull Back  
//            Lighting On  

            blend one one // 當(dāng)前都不渲染
//            blend srcalpha oneminussrcalpha
            zwrite off

            CGPROGRAM  
              
            #pragma vertex vert  
            #pragma fragment frag  
              
            #include "UnityCG.cginc"  
             //只有點(diǎn)乘在frag做

             float4 _MainColor;
             float _Scale;

            struct a2v {  
                float4 vertex : POSITION;  
                float3 normal : NORMAL;  
                float4 texcoord : TEXCOORD0;  
            };  
              
            struct v2f {  
                float4 pos : POSITION; 
                float3 normal:TEXCOORD0;
                float4 vertex:TEXCOORD1; 
            };  
              
            v2f vert(a2v v) {  
                v2f o;
                o.pos = mul(UNITY_MATRIX_MVP, v.vertex);  

                o.vertex = v.vertex;
                o.normal = v.normal;
                return o;  
            }  
              
            float4 frag(v2f i) : COLOR { 
                //float3 N = normalize( mul( i.normal ,(float3x3)_World2Object));
                float3 N =  UnityObjectToWorldNormal(i.normal);
                float3 V =  normalize( WorldSpaceViewDir(i.vertex));
                float bright =pow( 1.0 - saturate(dot(N,V)),_Scale);

                return _MainColor*  bright;  
            }  
              
            ENDCG  
        }  
    }   
    FallBack "Diffuse"  
}  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市他匪,隨后出現(xiàn)的幾起案子巢株,更是在濱河造成了極大的恐慌足丢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尘奏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)剪撬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悠反,“玉大人残黑,你說我怎么就攤上這事≌瘢” “怎么了梨水?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茵臭。 經(jīng)常有香客問我疫诽,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任奇徒,我火速辦了婚禮雏亚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逼龟。我一直安慰自己评凝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布腺律。 她就那樣靜靜地躺著奕短,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匀钧。 梳的紋絲不亂的頭發(fā)上翎碑,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音之斯,去河邊找鬼日杈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛佑刷,可吹牛的內(nèi)容都是我干的莉擒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼瘫絮,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼涨冀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起麦萤,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤鹿鳖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后壮莹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翅帜,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年命满,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涝滴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胶台,死狀恐怖狭莱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情概作,我是刑警寧澤腋妙,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站讯榕,受9級(jí)特大地震影響骤素,放射性物質(zhì)發(fā)生泄漏匙睹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一济竹、第九天 我趴在偏房一處隱蔽的房頂上張望痕檬。 院中可真熱鬧,春花似錦送浊、人聲如沸梦谜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)唁桩。三九已至,卻和暖如春耸棒,著一層夾襖步出監(jiān)牢的瞬間荒澡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工与殃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留单山,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓幅疼,卻偏偏與公主長(zhǎng)得像米奸,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爽篷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容