swaped shared_ptr for unique_ptr for internal shader storage