diff options
Diffstat (limited to 'engine/xe_image.hpp')
-rw-r--r-- | engine/xe_image.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/engine/xe_image.hpp b/engine/xe_image.hpp index bc1dad2..7884dd6 100644 --- a/engine/xe_image.hpp +++ b/engine/xe_image.hpp @@ -3,6 +3,7 @@ #include "xe_device.hpp" #include <string> +#include <set> namespace xe { @@ -10,7 +11,9 @@ class Image { public: - Image(const std::string &filename, bool anisotropic); + static Image* createImage(const std::string &filename, bool anisotropic); + static void deleteImage(Image* image); + ~Image(); Image(const Image&) = delete; @@ -18,6 +21,10 @@ class Image { private: + static void submitDeleteQueue(bool purge); + + Image(const std::string &filename, bool anisotropic); + void createTextureImage(const std::string &filename); void transitionImageLayout(VkImage image, VkFormat format, VkImageLayout oldLayout, VkImageLayout newLayout); void generateMipmaps(VkImage image, VkFormat imageFormat, int32_t texWidth, int32_t texHeight, uint32_t mipLevels); @@ -38,6 +45,7 @@ class Image { friend class RenderSystem; friend class SwapChain; + friend class Engine; }; |