BakedVertexColorBumpSpec2

From Unify Community Wiki
Revision as of 17:29, 22 January 2008 by NeARAZ (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Author: Aras Pranckevicius

Description

Similar to builtin Lightmapped/Bumped Specular, but this uses lighting baked into vertex colors instead of a separate lightmap texture. Any additional Unity lights add on top of baked lighting.

Should work on dual texture graphics cards (NVIDIA TNT2, ATI Rage 128 and up).

ShaderLab - BakedVertexColorBumpSpec2.shader

<shaderlab>Shader "Baked Vertex Lighting/Bumped Specular" { Properties {

   _Color ("Main Color", Color) = (1,1,1,1)
   _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
   _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
   _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}
   _BumpMap ("Bump (RGB)", 2D) = "bump" {}

}

SubShader {

   Blend AppSrcAdd AppDstAdd
   
   // Always drawn pass with lighting in vertex colors
   Pass {
       Tags {"LightMode" = "Always"}
       Lighting Off
       BindChannels {
           Bind "Vertex", vertex
           Bind "TexCoord", texcoord
           Bind "Color", color
       } 
       SetTexture [_MainTex] {
           combine primary * texture
       } 
       SetTexture [_MainTex] {
           constantColor [_Color]
           combine previous * constant
       } 
   }
   // Vertex lights
   Pass {
       Tags {"LightMode" = "Vertex"}
       Material {
           Diffuse [_Color]
           Shininess [_Shininess]
           Specular [_SpecColor]
       }
       Lighting On
       SeperateSpecular On
       ColorMask RGB

       SetTexture [_MainTex] { combine texture * primary DOUBLE }
   }    
   // Pixel lights
   UsePass "Bumped Specular/PPL"

}

Fallback "VertexLit" } </shaderlab>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox