added camera cache for buffer drawing, some cleanup