Invert filter reticule

I have a working reticle, but I’d like to use it as an invert filter so that bits of the scene behind it are rendered with their colors inverted. This results in the reticle’s visibility being consistent yet non-obstructive. Below is a demonstrative screenshot from Minecraft. Some players may not notice this, but I sure as hell do. And, I like it.

My current reticle is a GUITexture, but I can change it if doing so were to make this effect possible.


use this shader and plane with alpha-texture in front of camera.


Shader "Unity Answers/InvertColor"
		_MainTex ("Alpha (A) only", 2D) = "white" {}
		_AlphaCutOff ("Alpha cut off", Range(0,1)) = 1
		Tags { "Queue" = "Transparent+10" }
			Fog { Mode Off }
			Blend OneMinusDstColor Zero
			ZWrite Off


			#pragma vertex vert
			#pragma fragment frag
			sampler2D _MainTex;
			float _AlphaCutOff;

			struct appdata
				float4 vertex : POSITION;
				float4 texcoord : TEXCOORD0;

			struct v2f
				float4 pos : SV_POSITION;
				float4 uv : TEXCOORD0;

			v2f vert (appdata v)
				v2f o;
				o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
				o.uv = float4(v.texcoord.xy, 0, 0);
				return o;

			half4 frag( v2f i ) : COLOR
				half4 c = 1;
				c.a = tex2D(_MainTex, i.uv.xy).a;
				clip(_AlphaCutOff - c.a);
				return c;