44 lines
1.0 KiB
Plaintext
44 lines
1.0 KiB
Plaintext
Shader "Custom/DualLayer" {
|
|||
|
|
Properties {
|
||
|
|
_DiffuseColor ("Diffuse Color", Color) = (1.0,1.0,1.0,1.0)
|
||
|
|
_SpecColor ("Spec Color", Color) = (1.0,1.0,1.0,1.0)
|
||
|
|
_MainTex ("DiffuseMap", 2D) = "white" {}
|
||
|
|
_SpecularMap ("SpecularMap", 2D) = "white" {}
|
||
|
|
_ReflectionIntensity ("Reflection Intensity", Float) = 0.5
|
||
|
|
_Shininess ("Specular Shininess", Float) = 0.078125
|
||
|
|
_Gloss ("Specular Gloss", Float) = 0.078125
|
||
|
|
}
|
||
|
|
SubShader {
|
||
|
|
Tags { "RenderType"="Opaque" }
|
||
|
|
LOD 200
|
||
|
|
|
||
|
|
CGPROGRAM
|
||
|
|
#pragma surface surf BlinnPhong
|
||
|
|
|
||
|
|
sampler2D _MainTex;
|
||
|
|
sampler2D _SpecularMap;
|
||
|
|
float _ReflectionIntensity;
|
||
|
|
float _Shininess;
|
||
|
|
float _Gloss;
|
||
|
|
float4 _DiffuseColor;
|
||
|
|
|
||
|
|
struct Input {
|
||
|
|
float2 uv_MainTex;
|
||
|
|
float3 worldRefl;
|
||
|
|
float3 viewDir;
|
||
|
|
};
|
||
|
|
|
||
|
|
void surf (Input IN, inout SurfaceOutput o) {
|
||
|
|
half4 d = tex2D (_MainTex, IN.uv_MainTex);
|
||
|
|
half s = tex2D (_SpecularMap, IN.uv_MainTex).a;
|
||
|
|
|
||
|
|
o.Albedo = _DiffuseColor.rgb * d.rgb;
|
||
|
|
o.Alpha = 1;
|
||
|
|
o.Gloss = _Gloss * s;
|
||
|
|
o.Specular = _Shininess;
|
||
|
|
}
|
||
|
|
ENDCG
|
||
|
|
}
|
||
|
|
FallBack "Diffuse"
|
||
|
|
}
|