I don't understand why using arc<0 is a dirty trick. It is supported in the manual for the purposes of making a mirrored scene. I understand that in some cases, shadows should be turned off in a mirror to allow higher framerates, but this should be an option not a requirement (furthermore I don't see this limitation actually noted anywhere).

In any case, I tried the shader method and it works. However, I'm new to shaders so I'm not sure my method is the most ideal. Can you check out my .fx file below?

pp_fliphorizontal.fx
Code:
Texture TargetMap;
sampler2D g_samSrcColor = sampler_state { texture = <TargetMap>; MipFilter = Linear;	};

float4 vecSkill1;//

float4 postprocessing_fliphoriz(float2 Tex : TEXCOORD0) : COLOR0 
{  
	return tex2D(g_samSrcColor, float2(1-Tex.x, Tex.y));
}

technique PostProcess 
{
	pass p1 
	{
		AlphaBlendEnable = false;	
		VertexShader = null;
		PixelShader = compile ps_2_0 postprocessing_fliphoriz();
	}
}



defined in my main.c file:
Code:
MATERIAL* mtl_fliphorizontal =
{
	effect = "pp_fliphorizontal.fx";
}



in my main function before loading my level:
Code:
pp_set(camera, mtl_fliphorizontal);




Joris Lambrecht
My Contributions: Relative Rotation, Window Sizing