The whole shader contains way too much code irrelevant to the topic to post here, but I've extracted all parts of interest here:
uniform float3x4 m_W;
uniform float3x4 m_V;
uniform float4x4 m_P;
uniform float3x4 m_WV;
uniform float4x4 m_VP;
uniform float4x4 m_WVP;
uniform sampler2D s_position;
float3 pos_1_world = float3( 146.73, 0.70, -85.29);
float3 uv_posxy = tex2D(s_position, center).xyz;
float4 check_pos_vs = mul(m_VP, float4(pos_1_world, 1));
if (distance(uv_posxy, check_pos_vs) < 1.0)
final += float4(1,0,0,1);
That's all I got. All the uniform variables are just references to matrices or sampler states passed by the engine. How the engine calculates those and what buffers or registers might be involved I don't know. I basically just use what the engine gives me.
Whether or not camera (post-)effects such as head-bobbing matter or not I cannot say for sure, but when looking at the result I see that everything is fine and correct as long as the camera only turns around or moves slowly in one direction, but when doing bigger and/or abrupt movement changes such as sprinting, jumping, or leaning sidewards the result starts getting off.