首页 > 代码库 > SimpleReflection

SimpleReflection

SimpleReflection

  取法线的x、y作为reflection-map的uv。

Shader "Custom/SimpleReflection" {    Properties     {        _MainTex ("Base (RGB)", 2D) = "White" {}        _ReflectionMap ("ReflectionMap", 2D) = "White" {}    }       SubShader     {           Lod 100          Tags { "Queue" = "Transparent"}        Pass          {             Blend SrcAlpha OneMinusSrcAlpha             CGPROGRAM                   #pragma vertex Vert             #pragma fragment Frag             #include "UnityCG.cginc"                         sampler2D _MainTex;            sampler2D _ReflectionMap;                      struct V2F             {                 fixed4 pos:SV_POSITION;                 fixed2 uv:TEXCOORD0;                 fixed2 uv2:TEXCOORD1;             };                                       V2F Vert(appdata_full v)            {                V2F output;                output.pos = mul (UNITY_MATRIX_MVP, v.vertex);                output.uv = v.texcoord;                output.uv2 = mul(UNITY_MATRIX_IT_MV, float4(v.normal, 0)).xy/2+0.5;                return output;            }            half4 Frag(V2F i):COLOR            {                return tex2D(_MainTex,i.uv) + tex2D(_ReflectionMap,i.uv2);            }            ENDCG         }    }         FallBack "VertexLit"}

 

SimpleReflection