toViewport improved