//高级纹理-镜子效果
//创建RenderTexture 并付给相机镜子,创建一个quad当作镜子,并赋值材质
//使用渲染纹理作为输入属性,并把渲染纹理的水平向上反转 o.uv.x=1-o.uv.x
Shader "Unity shader book/Chapter 10/Mirror" {
Properties {
_MainTex("Main Tex",2D) = "white"{}
}
SubShader {
Tags{"RenderType"="Opaque" "Queue"="Geometry"}
Pass{
//Tags{ "LightMode" = "ForwardBase" }
CGPROGRAM
sampler2D _MainTex;
//float4 _MainTex_ST;
#pragma vertex vert
#pragma fragment frag
#include "Lighting.cginc"
struct a2v {
float4 vertex:POSITION;
float4 texcoord:TEXCOORD0;
};
struct v2f {
float4 pos:SV_POSITION;
float4 uv:TEXCOORD0;
};
v2f vert(a2v v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = v.texcoord;
o.uv.x = 1 - o.uv.x;
return o;
}
fixed4 frag(v2f i):SV_Target
{
return tex2D(_MainTex,i.uv);
}
ENDCG
}
}
FallBack Off
}