73 void cleanup(
bool destroy_memory =
true);
78 VkDeviceMemory
vkMemory()
const {
return m_image_memory; }
87 void setData(VkImage image,
bool image_owner);
96 VkImage m_vulkan_image;
100 VkDeviceMemory m_image_memory;
106 uint04 m_multi_sample_count;
137 Time m_modified_time;
uint32_t VkMemoryPropertyFlags
Definition VulkanImage.h:43
uint32_t VkImageUsageFlags
Definition VulkanImage.h:42
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition GraphicsPipeline.h:42
Definition Dictionary.h:48
Represents a color in the RGB space with optional alpha transparency.
Definition RGBColor.h:53
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
An element of a vector space. An element of the real coordinate space Rn Basis vector,...
Definition Vector.hpp:62
Definition VulkanBuffer.h:43
Definition VulkanDevice.h:8
Definition VulkanImage.h:51
VulkanImageData(const ConstPointer< VulkanDevice > &instance)
Definition VulkanImage.cpp:22
void transitionImageLayout(VkImageLayout newLayout, VkCommandBuffer_T *command=nullptr)
Definition VulkanImage.cpp:335
Vector< 2, uint04 > size() const final override
Definition VulkanImage.cpp:159
static VkSampleCountFlagBits getSampleBitflags(uint04 multi_sample_count)
Definition VulkanImage.cpp:248
void setMipMapDepth(uint04 depth)
Definition VulkanImage.h:62
void setDevice(const ConstPointer< VulkanDevice > &instance)
Definition VulkanImage.cpp:139
VkImageLayout layout(uint04 mip_level=0) const
Definition VulkanImage.cpp:272
const Time & modifiedTime() const
Definition VulkanImage.h:67
void setFormat(VkFormat format)
Definition VulkanImage.cpp:18
uint04 arrayLayers() const
Definition VulkanImage.h:64
void rawSetLayout(VkImageLayout layout)
Definition VulkanImage.cpp:267
uint04 mipMapDepth() const
Definition VulkanImage.h:61
void clear(const RGBColor &color=RGBColor(0, 0, 0, 0), VkCommandBuffer_T *command=nullptr)
Definition VulkanImage.cpp:131
VkFormat getFormat() const
Definition VulkanImage.cpp:14
void setData(const String &image_id, uint04 layer)
Definition VulkanImage.cpp:163
ConstPointer< VulkanDevice > device() const
Definition VulkanImage.h:75
void setImageProperties(Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
Definition VulkanImage.cpp:259
void createImage(VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
Definition VulkanImage.cpp:276
VkDeviceMemory vkMemory() const
Definition VulkanImage.h:78
~VulkanImageData()
Definition VulkanImage.cpp:126
VkImage vulkanImage() const
Definition VulkanImage.h:77
void cleanup(bool destroy_memory=true)
Definition VulkanImage.cpp:143
Vector< 2, uint04 > getMipSize(uint04 level) const
Definition VulkanImage.cpp:10
void setArrayLayers(uint04 array_layers)
Definition VulkanImage.h:65
void setMultiSampleCount(uint04 count)
Definition VulkanImage.h:84
bool hasAlpha() const
Definition VulkanImage.h:88
Definition VulkanImage.h:112
VulkanImageManager(const ConstPointer< VulkanDevice > &instance)
Definition VulkanImage.cpp:555
~VulkanImageManager()
Definition VulkanImage.cpp:559
ConstPointer< VulkanDevice > m_device
Definition VulkanImage.h:121
bool updateImages()
Definition VulkanImage.cpp:564
Dictionary< String, DynamicPointer< VulkanImageData > > m_file_map
Definition VulkanImage.h:120
ConstPointer< VulkanImageData > getImage(const String &file)
Definition VulkanImage.cpp:587
uint04 m_mip_map_depth
Definition VulkanImage.h:122
bool needsImageUpdate() const
Definition VulkanImage.cpp:577
Definition VulkanImage.h:126
void cleanup()
Definition VulkanImage.cpp:535
bool needsUpdate() const
Definition VulkanImage.cpp:551
~VulkanImageView()
Definition VulkanImage.cpp:547
VkImageView vkImageView() const
Definition VulkanImage.h:133
void create()
Definition VulkanImage.cpp:516
VulkanImageView(const ConstPointer< VulkanImageData > &data, uint04 aspectFlags, bool create=true)
Definition VulkanImage.cpp:501
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer -Can represent exact integer values 0 thro...
Definition BaseValues.hpp:132
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120