ImageEngine/gaffer — pull request #827 by johnhaddon (2014-05-06 09:24:33+00:00)
Title: Added workaround for squash/stretch in viewport camera look-through.

The Cortex camera specification is very RenderMan centric, and the camera defines the resolution and the screen window for the render. If the aspect ratios of these are different, then we get squashing or stretching of the viewed image - and when we're using the camera in the viewport we currently must set the resolution to match the resolution of the viewport. The GafferScene.Camera node deliberately doesn't specify screen window to avoid squash/stretch in this situation, but cameras from other sources may not. As a short-term solution we just remove the screen window.

Longer term (but pretty soon I imagine) we may need to revise the Cortex/Gaffer camera representation so that we can deal with cameras in more physical terms, only performing the mapping to a screenwindow/resolution pair for the renderer. Tickets we could bundle into this chunk of work include #277 (main ticket requesting physical cameras), and #371, #276, #58 as related smaller tickets. We may want to consider adopting something like the Alembic camera representation because a great deal of discussion has gone into it, and it aims to balance the complexity of a million physical parameters with the fairly simple requirements of a renderer (a frustum).

Fixes #826.