API Documentation
Loading...
Searching...
No Matches
VulkanImageData Class Reference

A pointer to an Image and functions relating to that image within the Vulkan logic space. More...

#include <VulkanImage.h>

Inheritance diagram for VulkanImageData:
[legend]
Collaboration diagram for VulkanImageData:
[legend]

Public Member Functions

uint04 arrayLayers () const
 
void cleanup (bool destroy_memory=true)
 
void clear (const RGBColor &color=RGBColor(0, 0, 0, 0), VkCommandBuffer_T *command=nullptr)
 
void createImage (VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
 
ConstPointer< VulkanDevicedevice () const
 
VkFormat getFormat () const
 
Vector< 2, uint04getMipSize (uint04 level) const
 
bool hasAlpha () const
 
VkImageLayout layout (uint04 mip_level=0) const
 
uint04 mipMapDepth () const
 
const TimemodifiedTime () const
 
void rawSetLayout (VkImageLayout layout)
 
void setArrayLayers (uint04 array_layers)
 
void setData (const String &image_id, uint04 layer)
 
void setData (const VulkanBuffer &buffer, uint04 mip_level, uint04 image_data, VkCommandBuffer_T *command=nullptr)
 
void setData (VkImage image, bool image_owner)
 
void setDevice (const ConstPointer< VulkanDevice > &instance)
 
void setFormat (VkFormat format)
 
void setImageProperties (Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
 
void setMipMapDepth (uint04 depth)
 
void setMultiSampleCount (uint04 count)
 
Vector< 2, uint04size () const final override
 
void transitionImageLayout (VkImageLayout newLayout, uint04 miplevel, uint04 level, VkCommandBuffer_T *command=nullptr)
 
void transitionImageLayout (VkImageLayout newLayout, VkCommandBuffer_T *command=nullptr)
 
VkDeviceMemory vkMemory () const
 
VkImage vulkanImage () const
 
 VulkanImageData (const ConstPointer< VulkanDevice > &instance)
 
 VulkanImageData (const ConstPointer< VulkanDevice > &instance, Buffer< String > &image_ids, uint04 mip_map_depth)
 
 VulkanImageData (const ConstPointer< VulkanDevice > &instance, const String &image_id, uint04 mip_map_depth)
 
 VulkanImageData (const ConstPointer< VulkanDevice > &instance, Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties)
 
 VulkanImageData (const ConstPointer< VulkanDevice > &instance, VkImage image, Vector< 2, uint04 > size, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, bool image_owner)
 
 VulkanImageData (VulkanImageData &&instance)
 
 ~VulkanImageData ()
 
- Public Member Functions inherited from Image
virtual uint04 pixelSize () const
 
virtual uint01scanLine (uint04)
 
virtual ~Image ()
 

Static Public Member Functions

static VkSampleCountFlagBits getSampleBitflags (uint04 multi_sample_count)
 

Detailed Description

A pointer to an Image and functions relating to that image within the Vulkan logic space.


Constructor & Destructor Documentation

◆ VulkanImageData() [1/6]

VulkanImageData ( const ConstPointer< VulkanDevice > & instance)

◆ VulkanImageData() [2/6]

◆ VulkanImageData() [3/6]

VulkanImageData ( const ConstPointer< VulkanDevice > & instance,
const String & image_id,
uint04 mip_map_depth )

◆ VulkanImageData() [4/6]

VulkanImageData ( const ConstPointer< VulkanDevice > & instance,
Buffer< String > & image_ids,
uint04 mip_map_depth )

◆ VulkanImageData() [5/6]

VulkanImageData ( const ConstPointer< VulkanDevice > & instance,
VkImage image,
Vector< 2, uint04 > size,
VkFormat format,
VkImageTiling tiling,
VkImageUsageFlags usage,
VkMemoryPropertyFlags properties,
bool image_owner )

◆ VulkanImageData() [6/6]

VulkanImageData ( const ConstPointer< VulkanDevice > & instance,
Vector< 2, uint04 > size,
VkFormat format,
VkImageTiling tiling,
VkImageUsageFlags usage,
VkMemoryPropertyFlags properties )

◆ ~VulkanImageData()

Member Function Documentation

◆ arrayLayers()

uint04 arrayLayers ( ) const
inline

◆ cleanup()

void cleanup ( bool destroy_memory = true)

◆ clear()

void clear ( const RGBColor & color = RGBColor(0, 0, 0, 0),
VkCommandBuffer_T * command = nullptr )

◆ createImage()

void createImage ( VkImageTiling tiling,
VkImageUsageFlags usage,
VkMemoryPropertyFlags properties )

◆ device()

ConstPointer< VulkanDevice > device ( ) const
inline

◆ getFormat()

VkFormat getFormat ( ) const

◆ getMipSize()

Vector< 2, uint04 > getMipSize ( uint04 level) const

◆ getSampleBitflags()

static VkSampleCountFlagBits getSampleBitflags ( uint04 multi_sample_count)
static

◆ hasAlpha()

bool hasAlpha ( ) const
inline

◆ layout()

VkImageLayout layout ( uint04 mip_level = 0) const

◆ mipMapDepth()

uint04 mipMapDepth ( ) const
inline

◆ modifiedTime()

const Time & modifiedTime ( ) const
inline

◆ rawSetLayout()

void rawSetLayout ( VkImageLayout layout)

◆ setArrayLayers()

void setArrayLayers ( uint04 array_layers)
inline

◆ setData() [1/3]

void setData ( const String & image_id,
uint04 layer )

◆ setData() [2/3]

void setData ( const VulkanBuffer & buffer,
uint04 mip_level,
uint04 image_data,
VkCommandBuffer_T * command = nullptr )

◆ setData() [3/3]

void setData ( VkImage image,
bool image_owner )

◆ setDevice()

void setDevice ( const ConstPointer< VulkanDevice > & instance)

◆ setFormat()

void setFormat ( VkFormat format)

◆ setImageProperties()

void setImageProperties ( Vector< 2, uint04 > size,
VkFormat format,
VkImageTiling tiling,
VkImageUsageFlags usage,
VkMemoryPropertyFlags properties )

◆ setMipMapDepth()

void setMipMapDepth ( uint04 depth)
inline

◆ setMultiSampleCount()

void setMultiSampleCount ( uint04 count)
inline

◆ size()

Vector< 2, uint04 > size ( ) const
finaloverridevirtual

Reimplemented from Image.

◆ transitionImageLayout() [1/2]

void transitionImageLayout ( VkImageLayout newLayout,
uint04 miplevel,
uint04 level,
VkCommandBuffer_T * command = nullptr )

◆ transitionImageLayout() [2/2]

void transitionImageLayout ( VkImageLayout newLayout,
VkCommandBuffer_T * command = nullptr )

◆ vkMemory()

VkDeviceMemory vkMemory ( ) const
inline

◆ vulkanImage()

VkImage vulkanImage ( ) const
inline

The documentation for this class was generated from the following file: