Orihaus

Obsolete Main Shader "Rimlight_Transparent_Base"

Jun 20th, 2012
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.64 KB | None | 0 0
  1. Shader "Rimlight_Transparent_Base"
  2. {  
  3.     Properties
  4.     {
  5.         _Color( "Main Color", Color ) = ( 1, 1, 1, 1 )
  6.         _RimColor( "Rim Color", Color ) = ( 0.89, 0.945, 1.0, 0.0 )
  7.         _RimPower( "Rim Power", Range( 0.5,32.0 ) ) = 3.0
  8.         _SpecColor( "Specular Color", Color ) = ( 0.5, 0.5, 0.5, 1 )
  9.         _Shininess( "Shininess", Range( 0.00, 1 ) ) = 0.078125
  10.         _Alpha( "Alpha", Range( 1.0, 0.00 ) ) = 1.0
  11.         _AlphaOffset( "Alpha Offset", Range ( 0.0313725490196078, 0.00 ) ) = 0.01
  12.         _Ambient( "Ambient", Range( 1.0, 0.00 ) ) = 0.01
  13.     }  
  14.    
  15.     SubShader
  16.     {
  17.         Tags { "Queue" = "Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
  18.  
  19.         CGPROGRAM
  20.        
  21.         #pragma surface surf SimpleSpecular alpha noambient nolightmap
  22.    
  23.         float _Shininess;
  24.         float _Alpha;
  25.         float _AlphaOffset;
  26.  
  27.         float4 LightingSimpleSpecular (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten)
  28.         {
  29.             float3 h = normalize( lightDir + viewDir );
  30.             float diff = max( 0, dot( s.Normal, lightDir ) );
  31.             float nh = max( 0, dot( s.Normal, h ) );
  32.             float spec = pow( nh, 48.0 );
  33.  
  34.             float4 c;
  35.             c.rgb = ( s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec * _Shininess * _SpecColor ) * atten;
  36.                 c.a = s.Alpha;
  37.  
  38.             return c;
  39.         }
  40.    
  41.         struct Input
  42.         {
  43.             float3 viewDir;
  44.         };
  45.      
  46.         float4 _RimColor;
  47.         float _RimPower;
  48.         float _Ambient;
  49.         float4 _Color;
  50.    
  51.         void surf (Input IN, inout SurfaceOutput o)
  52.         {
  53.             o.Albedo = _Color.rgb;
  54.             float rim = 1.0 - saturate( dot ( normalize( IN.viewDir), o.Normal ) );
  55.             o.Emission = _Ambient;
  56.             o.Alpha = _Alpha * pow ( rim, _RimPower ) + _AlphaOffset;
  57.         }
  58.         ENDCG
  59.     }
  60.     Fallback "Diffuse"
  61. }
Advertisement
Add Comment
Please, Sign In to add comment