纳金网
标题:
各向异性高光Shader
[打印本页]
作者:
王者再临
时间:
2014-4-30 22:45
标题:
各向异性高光Shader
这个shader可以用来做一做各种
餐具
的shader:
Shader "Bumped Anisotropic Specular" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Diffuse (RGB) Alpha (A)", 2D) = "white" {}
_SpecularTex ("Specular (R) Gloss (G) Anisotropic Mask (B)", 2D) = "gray" {}
_BumpMap ("Normal (Normal)", 2D) = "bump" {}
_AnisoTex ("Anisotropic Direction (RGB)", 2D) = "bump" {}
_AnisoOffset ("Anisotropic Highlight Offset", Range(-1,1)) = -0.2
_Cutoff ("Alpha Cut-Off Threshold", Range(0,1)) = 0.5
}
SubShader{
Tags { "RenderType" = "Opaque" }
CGPROGRAM
struct SurfaceOutputAniso {
fixed3 Albedo;
fixed3 Normal;
fixed4 AnisoDir;
fixed3 Emission;
half Specular;
fixed Gloss;
fixed Alpha;
};
float _AnisoOffset, _Cutoff;
inline fixed4 LightingAniso (SurfaceOutputAniso s, fixed3 lightDir, fixed3 viewDir, fixed atten)
{
fixed3 h = normalize(normalize(lightDir) + normalize(viewDir));
float NdotL = saturate(dot(s.Normal, lightDir));
fixed HdotA = dot(normalize(s.Normal + s.AnisoDir.rgb), h);
float aniso = max(0, sin(radians((HdotA + _AnisoOffset) * 180)));
float spec = saturate(dot(s.Normal, h));
spec = saturate(pow(lerp(spec, aniso, s.AnisoDir.a), s.Gloss * 128) * s.Specular);
fixed4 c;
c.rgb = ((s.Albedo * _LightColor0.rgb * NdotL) + (_LightColor0.rgb * spec)) * (atten * 2);
c.a = 1;
clip(s.Alpha - _Cutoff);
return c;
}
#pragma surface surf Aniso
#pragma target 3.0
struct Input
{
float2 uv_MainTex;
float2 uv_AnisoTex;
};
sampler2D _MainTex, _SpecularTex, _BumpMap, _AnisoTex;
void surf (Input IN, inout SurfaceOutputAniso o)
{
fixed4 albedo = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = albedo.rgb;
o.Alpha = albedo.a;
o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_MainTex));
fixed3 spec = tex2D(_SpecularTex, IN.uv_MainTex).rgb;
o.Specular = spec.r;
o.Gloss = spec.g;
o.AnisoDir = fixed4(tex2D(_AnisoTex, IN.uv_AnisoTex).rgb, spec.b);
}
ENDCG
}
FallBack "Transparent/Cutout/VertexLit"
}
复制代码
作者:
seillea
时间:
2014-5-2 17:21
不错,,崇拜!!!
作者:
gxf5168
时间:
2014-5-23 11:45
感谢楼主分享
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5