#pragma once #include "../../types.hpp" #include "../../utils.hpp" namespace amalgine { class Image; class Texture2D { DISABLE_COPY(Texture2D) public: Texture2D(); // Not thread safe Texture2D(Image *image); ~Texture2D(); Texture2D(Texture2D &&other); Texture2D& operator=(Texture2D &&other); i32 get_texture_id() const { return texture_id; } private: i32 texture_id; u32 texture_ref; }; }