graphics assign4 final

gave up, maybe pick it up again later