shader from old ptr * to std::shared_ptr