纳金网
标题:
一个透明shader,Fake Transcluency
[打印本页]
作者:
晃晃
时间:
2011-8-26 08:43
标题:
一个透明shader,Fake Transcluency
先看效果:
Shader "Aubergine/Fake Transcluency" {
Properties {
_MainTex ("Texture", 2D) = "white" {}
_MatThickness ("Material Thickness", Range(0.1,1.0)) = 0.5
_Coeff ("Extinction", Vector) = (0,0,0,0)
}
SubShader {
Tags { "RenderType" = "Opaque" }
CGPROGRAM
#pragma surface surf Transcluent
sampler2D _MainTex;
float _MatThickness;
float4 _Coeff;
half4 LightingTranscluent (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten) {
float halfLambert = (dot(lightDir, s.Normal) * 0.5 + 0.5);
float4 dotLN = float4(halfLambert * atten * 2);
dotLN *= float4(s.Albedo, 1.0);
float3 indirectLight = float3(_MatThickness * max(0.0, dot(-s.Normal, lightDir)));
indirectLight += _MatThickness * (dot(-viewDir, lightDir) * 0.5 + 0.5);
indirectLight *= atten;
indirectLight.x *= _Coeff.x;
indirectLight.y *= _Coeff.y;
indirectLight.z *= _Coeff.z;
float3 rim = float3(1.0 - max(0.0, dot(s.Normal, viewDir)));
rim *= rim;
rim *= max(0.0, dot(s.Normal, lightDir));
half4 c = dotLN + half4(indirectLight, s.Alpha);
c += (float4(rim * atten * c.a, c.a));
return c;
}
s***ct Input {
float2 uv_MainTex;
};
void surf (Input IN, inout SurfaceOutput o) {
o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
}
ENDCG
}
Fallback "Diffuse"
}
作者:
Asen
时间:
2011-8-26 11:06
这个有点意思哈~
作者:
Mr.cai
时间:
2011-8-27 10:30
这是?
作者:
难骑
时间:
2011-9-3 08:01
提示:
作者被禁止或删除 内容自动屏蔽
作者:
C.R.CAN
时间:
2012-1-6 19:48
你们都躲开,我来顶
作者:
晃晃
时间:
2012-4-24 23:31
心中有爱,爱咋咋地
作者:
C.R.CAN
时间:
2012-6-20 23:20
很经典,很实用,学习了!
作者:
C.R.CAN
时间:
2012-8-4 01:36
心中有爱,爱咋咋地
作者:
奇
时间:
2012-8-17 00:02
心中有爱,爱咋咋地
作者:
tc
时间:
2012-10-7 23:18
不会吧,太恐怖了
作者:
C.R.CAN
时间:
2012-10-11 23:26
已阵亡的 蝶 随 风 舞 说过 偶尔按一下 CTRL A 会发现 世界还有另一面
作者:
菜刀吻电线
时间:
2013-1-27 23:24
响应天帅号召,顶
欢迎光临 纳金网 (http://go.narkii.com/club/)
Powered by Discuz! X2.5