alignment isn't even necessary

well, not perfect alignment. as long as it covers the entire screen, then you can texture it in screen-space (does this ring any bells, guitar?)
just looking through my stuff...
Code:
const float4x4 matWorldViewProj; // World*view*projection matrix.
const float4x4 mat2Tex = {
0.5f, 0.f, 0.f, 0.f,
0.f, -0.5f, 0.f, 0.f,
0.f, 0.f, 1.0f, 0.f,
0.5f, 0.5f, 0.f, 1.0f
};
texture mtlSkin1;
sampler ScreenSampler = sampler_state
{
Texture = <mtlSkin1>;
AddressU = Clamp;
AddressV = Clamp;
};
void ScreenMapVS( in float4 InPos : POSITION,
in float4 InNormal : NORMAL,
out float4 OutPos : POSITION,
out float4 OutTex : TEXCOORD0,
out float4 OutNormal : TEXCOORD1
)
{
OutPos = mul(InPos, matWorldViewProj);
float4x4 matOffset = mul(matWorldViewProj,mat2Tex);
OutTex = mul(InPos,matOffset);
OutNormal = InNormal;
}
float4 ScreenMapPS( in float4 InTex : TEXCOORD0,
in float4 InNormal : TEXCOORD1,
in float4 InPos : TEXCOORD2) : COLOR
{
float4 sPos = InTex;
float4 colScreen = tex2Dproj(ScreenSampler,sPos);
colScreen.bg = 0;
return colScreen;
}
technique Project2ScreenTechnique
{
pass P0
{
VertexShader = compile vs_2_0 ScreenMapVS();
PixelShader = compile ps_2_0 ScreenMapPS();
}
}
this is pretty basic. mat2Tex is just a matrix that, when multiplied by matWorldViewProj, will give a matrix that, when multiplied by the object's coordinates as passed to the vertex shader, will convert its screen coordinates to texture coordinates. these can be used when sampling the texture, which in my example is given by a render-to-texture by a view that's identical to the camera (those details aren't in my example... it's just basic RTT).
the blue and green components are removed so you can see where the object is in this example.
this'll be a tad easier in the next update... can't wait!!

here the shader has been applied to a sphere.
if you have a view-entity easily covering the whole screen, then you won't have to worry about adjusting the model for different screen-ratios, camera arcs, etc. the shader will handle that. as long as both views have identical properties.
Quote:
the alignment problem itself being one and another being slight image distortions that inevitably result from inevitably imperfect screen alignment.
this'll sort that out 
julz