/// Initialise a D3D viewport for rendering a poster into a render texture sub-region.
void ImposterSystem::InitImposterViewport(int textureWidth, int textureHeight,
                                          const D3DXVECTOR2& imposterUVOffset,
                                          const D3DXVECTOR2& imposterUVScale)
{
	D3DVIEWPORT9 viewport;
	viewport.X = (DWORD) (textureWidth * imposterUVOffset.x);
	viewport.Y = (DWORD) (textureHeight * imposterUVOffset.y);
	viewport.Width = (DWORD) (textureWidth * imposterUVScale.x);
	viewport.Height = (DWORD) (textureHeight * imposterUVScale.y);
	viewport.MinZ = 0.0f;
	viewport.MaxZ = 1.0f;
	LPDIRECT3DDEVICE9 pD3DDevice = DXUTGetD3DDevice();
	pD3DDevice->SetViewport(&viewport);
}