Lua-controllable camera projection offset

This would enable two things:

  • Post-processing shaders could implement temporal AA, which requires the ability to move the projection (not camera! projection!) by subpixel amounts
  • It would allow the morrowind-exe-vs-openmw graphics comparison scripts for @AnyOldName3 to be finished

This is relatively easy to implement.

It must be possible to offset the projection in pixels or some other screenspace unit, and NOT in a worldspace unit, which you can already do and is an unrelated feature.

This needs to be compatible with all existing ways that the camera works, so it should be a stateful offset that's applied on top of everything else at the last possible moment per frame.

The following vertex shader bodge is an example of what this "pixel offset" looks like at a projection math level:

vec4 modelToClip(vec4 pos)
{
    vec4 r = projectionMatrix * modelToView(pos);
    vec4 q = vec4(0.5, -0.5, 0.0, 0.0);
    q.y *= (1.0/864.0);
    q.x *= (1.0/1152.0);
    q *= r.z;
    q *= 2.0;
    return r + q;
}