OccTransVF

Shader "Custom/OccTransVF"
{
	Properties
	{
		_MainTex("Base (RGB)",2D) = "white"{}
		_RimColor("RimColor",Color) = (0,1,1,1)
		_RimPower("RimPower",Range(0.1,8.0)) = 3.0
	}
	SubShader 
	{
		LOD 300
		Tags { "Queue" = "Geometry +500" "RenderType" = "Opaque" }
		Pass 
		{
			Blend SrcAlpha One
			ZWrite Off
			Lighting Off
			ztest greater
			CGPROGRAM
			#pragma vertex vert 
			#pragma fragment frag 
			#include "UnityCG.cginc"
			float4 _RimColor;  
            float _RimPower;  
              
            struct appdata_t {  
                float4 vertex : POSITION;  
                float2 texcoord : TEXCOORD0;  
                float4 color:COLOR;  
                float4 normal:NORMAL;  
            };  
  
            struct v2f {  
                float4  pos : SV_POSITION;  
                float4  color:COLOR;  
            } ;  
            v2f vert (appdata_t v)  
            {  
                v2f o;  
                o.pos = mul(UNITY_MATRIX_MVP,v.vertex);  
                float3 viewDir = normalize(ObjSpaceViewDir(v.vertex));  
                float rim = 1 - saturate(dot(viewDir,v.normal ));  
                o.color = _RimColor*pow(rim,_RimPower);  
                return o;  
            }  
            float4 frag (v2f i) : COLOR  
            {  
                return i.color;   
            }
			ENDCG 
		}
		pass    
        {    
            ZWrite on  
            ZTest less   
  
            CGPROGRAM    
            #pragma vertex vert    
            #pragma fragment frag    
            sampler2D _MainTex;    
            float4 _MainTex_ST;  
                
            struct appdata {    
                float4 vertex : POSITION;    
                float2 texcoord : TEXCOORD0;    
            };    
              
            struct v2f  {    
                float4 pos : POSITION;    
                float2 uv : TEXCOORD0;    
            };    
              
            v2f vert (appdata v)   
            {    
                v2f o;    
                o.pos = mul(UNITY_MATRIX_MVP,v.vertex);    
                o.uv = v.texcoord;    
                return o;    
            }   
               
            float4 frag (v2f i) : COLOR    
            {    
                float4 texCol = tex2D(_MainTex, i.uv);    
                return texCol;    
            }    
            ENDCG    
        }    
    }   
    FallBack "Diffuse"   
}    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值