XRay2

来源:互联网 发布:淘宝好评后可以退款吗 编辑:程序博客网 时间:2024/05/21 17:15
Shader "Custom/XRayBumpVF"{Properties{_BumpMap("Normalmap",2D) = "bump"{}_RimColor("RimColor",Color) = (1,1,0,1)_RimPower("RimPower",Range(0.1,8.0)) = 3.0}SubShader {Tags{"Queue" = "Transparent" "RenderType" = "Opaque"}LOD 200Pass {Blend SrcAlpha OneZWrite OffLighting OffCGPROGRAM#pragma vertex vert #pragma fragment frag #include "UnityCG.cginc"float4 _RimColor;sampler2D _BumpMap;float _RimPower;float4 _BumpMap_ST;struct v2f{float4 pos:SV_POSITION;float2 uv :TEXCOORD0 ;float3 viewDir:TEXCOORD1  ;float3 tangent:TEXCOORD2 ;float3 binormal:TEXCOORD3;float3 normal :TEXCOORD4 ;   };v2f vert(appdata_full v){v2f o;o.pos = mul(UNITY_MATRIX_MVP,v.vertex);o.uv = TRANSFORM_TEX(v.texcoord,_BumpMap);o.tangent = v.tangent.xyz;o.binormal = cross(v.normal,v.tangent)*v.tangent.w;o.normal = v.normal;o.viewDir = normalize(ObjSpaceViewDir(v.vertex));return o;}float4 frag(v2f i):COLOR{float3x3 rotation = float3x3(i.tangent.xyz,i.binormal,i.normal);float3 N = UnpackNormal(tex2D(_BumpMap,i.uv));N = normalize(mul(N,rotation));float rim = 1-saturate(dot(i.viewDir ,N));float4 c = _RimColor * pow(rim,_RimPower);return c;}ENDCG}}}

0 0