lazy matrix generation in camera