viewport & camera, plus text rendering