 				o.ScreenPos = UnityObjectToClipPos(v.LocalPos);
 				return o;
 			}
-			
+
+
 			fixed4 frag (v2f i) : SV_Target
 			{
-				float3 ViewDir = _WorldSpaceCameraPos.xyz - i.WorldPos;
+				
+				float3 ViewDir = GetEyePosition() - i.WorldPos;
 				float2 EquirectUv = ViewToEquirect( ViewDir );
 
 				//	gr: why upside down?

			#include "UnityCG.cginc"
			#include "PopCommon.cginc"


			//	global toggle
			int LeftEye = 0;


			sampler2D _MainTex;
			half4 _Stereo;
			float4 _MainTex_ST;

			bool IsStereoLeftEye()
			{
