Decal2UVs

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(Removing all content from page)
m (Reverted edits by Joseph05408 (Talk); changed back to last version by NeARAZ)
Line 1: Line 1:
 +
Author: [[User:NeARAZ|Aras Pranckevicius]]
  
 +
==Description==
 +
Just like builtin Decal - allows you to have a base texture with another transparent texture "splatted on top". The only difference is that the additional decal texture here uses 2nd UV set (whereas in builtin shader both use the same UV set).
 +
 +
Works on three texture graphics cards (GeForce3/4Ti and up, Radeon and up).
 +
 +
==ShaderLab - Decal2UVs.shader==
 +
<shaderlab>Shader " Decal (2 UV sets)" {
 +
Properties {
 +
    _Color ("Main Color", Color) = (1,1,1,1)
 +
    _SpecColor ("Spec Color", Color) = (1,1,1,1)
 +
    _Emission ("Emmisive Color", Color) = (0,0,0,0)
 +
    _Shininess ("Shininess", Range (0.01, 1)) = 0.7
 +
    _MainTex ("Base (RGB)", 2D) = "white" {}
 +
    _DecalTex ("Decal (RGBA)", 2D) = "black" {}
 +
}
 +
 +
SubShader {
 +
    Material {
 +
        Diffuse [_Color]
 +
        Ambient [_Color]
 +
        Shininess [_Shininess]
 +
        Specular [_SpecColor]
 +
        Emission [_Emission]
 +
    }
 +
    Pass {
 +
        BindChannels {
 +
            Bind "Vertex", vertex
 +
            Bind "normal", normal
 +
            Bind "texcoord", texcoord0 // main uses 1st uv
 +
            Bind "texcoord1", texcoord1 // decal uses 2nd uv
 +
        }
 +
        Lighting On
 +
        SeperateSpecular On
 +
        SetTexture [_MainTex] {combine texture}
 +
        SetTexture [_DecalTex] {combine texture lerp (texture) previous}
 +
        SetTexture [_MainTex] {combine previous * primary DOUBLE, previous * constant constantColor [_Color]}
 +
    }
 +
}
 +
 +
Fallback " VertexLit", 1
 +
 +
}
 +
</shaderlab>

Revision as of 19:17, 19 October 2009

Author: Aras Pranckevicius

Description

Just like builtin Decal - allows you to have a base texture with another transparent texture "splatted on top". The only difference is that the additional decal texture here uses 2nd UV set (whereas in builtin shader both use the same UV set).

Works on three texture graphics cards (GeForce3/4Ti and up, Radeon and up).

ShaderLab - Decal2UVs.shader

<shaderlab>Shader " Decal (2 UV sets)" { Properties {

   _Color ("Main Color", Color) = (1,1,1,1)
   _SpecColor ("Spec Color", Color) = (1,1,1,1)
   _Emission ("Emmisive Color", Color) = (0,0,0,0)
   _Shininess ("Shininess", Range (0.01, 1)) = 0.7
   _MainTex ("Base (RGB)", 2D) = "white" {}
   _DecalTex ("Decal (RGBA)", 2D) = "black" {}

}

SubShader {

   Material {
       Diffuse [_Color]
       Ambient [_Color]
       Shininess [_Shininess]
       Specular [_SpecColor]
       Emission [_Emission]
   }
   Pass {
       BindChannels {
           Bind "Vertex", vertex
           Bind "normal", normal
           Bind "texcoord", texcoord0 // main uses 1st uv
           Bind "texcoord1", texcoord1 // decal uses 2nd uv
       }
       Lighting On
       SeperateSpecular On
       SetTexture [_MainTex] {combine texture}
       SetTexture [_DecalTex] {combine texture lerp (texture) previous}
       SetTexture [_MainTex] {combine previous * primary DOUBLE, previous * constant constantColor [_Color]}
   }

}

Fallback " VertexLit", 1

} </shaderlab>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox