Creating viewports with general shapes