New way of handling 3d viewports