abstract out scene rendering