80 VkDeviceMemory
vkMemory()
const {
return m_image_memory; }
89 void setData(VkImage image,
bool image_owner);
98 VkImage m_vulkan_image;
102 VkDeviceMemory m_image_memory;
108 uint04 m_multi_sample_count;
144 Time m_modified_time;
uint64_t VkImageView
Definition ImageResources.h:41
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:56
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
A root class that stores an an array of pixel data that can be displayed as an Image.
Definition Image.h:40
Represents a color in the RGB space with optional alpha transparency.
Definition RGBColor.h:54
The core String class for the NDEVR API.
Definition String.h:69
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
A fixed-size array with better performance compared to dynamic containers.
Definition Vector.hpp:60
Stores bools to be sent to both the Vertex and Fragment shaders in the Vulkan space.
Definition VulkanBuffer.h:46
A GraphicsDevice for managing Vulkan limitations and actions. See: https://docs.vulkan....
Definition VulkanDevice.h:12
A pointer to an Image and functions relating to that image within the Vulkan logic space.
Definition VulkanImage.h:53
VulkanImageData(const ConstPointer< VulkanDevice > &instance)
void transitionImageLayout(VkImageLayout newLayout, VkCommandBuffer_T *command=nullptr)
Vector< 2, uint04 > size() const final override
void setMipMapDepth(uint04 depth)
Definition VulkanImage.h:64
void setDevice(const ConstPointer< VulkanDevice > &instance)
VkImageLayout layout(uint04 mip_level=0) const
static VkSampleCountFlagBits getSampleBitflags(uint04 multi_sample_count)
const Time & modifiedTime() const
Definition VulkanImage.h:69
void setFormat(VkFormat format)
uint04 arrayLayers() const
Definition VulkanImage.h:66
void rawSetLayout(VkImageLayout layout)
void setData(VkImage image, bool image_owner)
uint04 mipMapDepth() const
Definition VulkanImage.h:63
void clear(const RGBColor &color=RGBColor(0, 0, 0, 0), VkCommandBuffer_T *command=nullptr)
VkFormat getFormat() const
void setData(const String &image_id, uint04 layer)
ConstPointer< VulkanDevice > device() const
Definition VulkanImage.h:77
VulkanImageData(const ConstPointer< VulkanDevice > &instance, Buffer< String > &image_ids, uint04 mip_map_depth)
void setImageProperties(Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
void createImage(VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
VkDeviceMemory vkMemory() const
Definition VulkanImage.h:80
VulkanImageData(const ConstPointer< VulkanDevice > &instance, VkImage image, Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, bool image_owner)
VulkanImageData(const ConstPointer< VulkanDevice > &instance, const String &image_id, uint04 mip_map_depth)
void setData(const VulkanBuffer &buffer, uint04 mip_level, uint04 image_data, VkCommandBuffer_T *command=nullptr)
VkImage vulkanImage() const
Definition VulkanImage.h:79
void transitionImageLayout(VkImageLayout newLayout, uint04 miplevel, uint04 level, VkCommandBuffer_T *command=nullptr)
void cleanup(bool destroy_memory=true)
Vector< 2, uint04 > getMipSize(uint04 level) const
void setArrayLayers(uint04 array_layers)
Definition VulkanImage.h:67
VulkanImageData(VulkanImageData &&instance)
void setMultiSampleCount(uint04 count)
Definition VulkanImage.h:86
bool hasAlpha() const
Definition VulkanImage.h:90
VulkanImageData(const ConstPointer< VulkanDevice > &instance, Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
Manages all images within the Vulkan space.
Definition VulkanImage.h:116
VulkanImageManager(const ConstPointer< VulkanDevice > &instance)
ConstPointer< VulkanDevice > m_device
Definition VulkanImage.h:125
Dictionary< String, DynamicPointer< VulkanImageData > > m_file_map
Definition VulkanImage.h:124
ConstPointer< VulkanImageData > getImage(const String &file)
uint04 m_mip_map_depth
Definition VulkanImage.h:126
bool needsImageUpdate() const
Manages a view within the Vulkan logic space. See: https://vulkan-tutorial.com/Drawing_a_triangle/Pre...
Definition VulkanImage.h:133
VulkanImageView(VulkanImageView &&old)
VkImageView vkImageView() const
Definition VulkanImage.h:140
VulkanImageView(const ConstPointer< VulkanImageData > &data, uint04 aspectFlags, bool create=true)
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
Definition BaseValues.hpp:106
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96