Lugdunum  0.1.0
Texture.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
12 
13 namespace lug {
14 namespace Graphics {
15 namespace Vulkan {
16 namespace Render {
17 
19  friend Resource::SharedPtr<lug::Graphics::Render::Texture> Builder::Texture::build(const ::lug::Graphics::Builder::Texture&);
20 
21 public:
22  Texture(const Texture&) = delete;
23  Texture(Texture&&) = delete;
24 
25  Texture& operator=(const Texture&) = delete;
26  Texture& operator=(Texture&&) = delete;
27 
28  ~Texture();
29 
30  const API::DeviceMemory& getDeviceMemory() const;
31  const API::Image& getImage() const;
32  const API::ImageView& getImageView() const;
33  const API::Sampler& getSampler() const;
34 
35  void destroy();
36 
37 private:
38  Texture(const std::string& name);
39 
40 private:
45 };
46 
48 
49 } // Render
50 } // Vulkan
51 } // Graphics
52 } // lug
#define LUG_GRAPHICS_API
Definition: Export.hpp:11
Resource::SharedPtr< Render::Texture > build()
Definition: Texture.cpp:37