Abstract out camera, add texture to ground add pixel manipulation