45 lines
1.2 KiB
Plaintext

Shader "Hidden/FlipBlit"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_FlipX ("Flip X", Float) = 0
_FlipY ("Flip Y", Float) = 0
}
SubShader
{
Pass
{
ZTest Always Cull Off ZWrite Off
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex;
float4 _MainTex_ST;
float _FlipX;
float _FlipY;
struct appdata_t { float4 vertex : POSITION; float2 uv : TEXCOORD0; };
struct v2f { float2 uv : TEXCOORD0; float4 vertex : SV_POSITION; };
v2f vert (appdata_t v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
float2 uv = i.uv;
if (_FlipX > 0.5) uv.x = 1.0 - uv.x;
if (_FlipY > 0.5) uv.y = 1.0 - uv.y;
return tex2D(_MainTex, uv);
}
ENDCG
}
}
}