per camera viewport handling