Hymn to Beauty
C++ 3D Engine
Video::VulkanTexture Class Reference

Vulkan implementation of Texture. More...

#include <VulkanTexture.hpp>

Inheritance diagram for Video::VulkanTexture:
Video::Texture

Public Member Functions

 VulkanTexture (VulkanRenderer &vulkanRenderer, VkDevice device, VkPhysicalDevice physicalDevice, const glm::uvec2 size, Texture::Type type, Texture::Format format, int components=0, unsigned char *data=nullptr)
 Create new Vulkan texture. More...
 
 ~VulkanTexture () final
 Destructor. More...
 
VkFormat GetFormat () const
 Get the format of the texture. More...
 
VkImage GetImage () const
 Get the image. More...
 
VkImageView GetImageView () const
 Get image view. More...
 
VkImageLayout GetImageLayout () const
 Get the current image layout. More...
 
void SetImageLayout (VkImageLayout layout)
 Set the current image layout. More...
 
- Public Member Functions inherited from Video::Texture
 Texture (Type type, const glm::uvec2 &size, Format format)
 Create a new texture. More...
 
virtual ~Texture ()
 Destructor. More...
 
Type GetType () const
 Get the type of texture. More...
 
const glm::uvec2 & GetSize () const
 Get the size of the texture. More...
 
Format GetFormat () const
 Get the format of the texture. More...
 
uint64_t GetUniqueIdentifier () const
 Get a unique identifier. More...
 

Additional Inherited Members

- Public Types inherited from Video::Texture
enum class  Type { COLOR , RENDER_COLOR , RENDER_DEPTH }
 The type of texture. More...
 
enum class  Format {
  R8 , R8G8B8A8 , R11G11B10 , R16G16B16A16 ,
  D32
}
 The format of the texture. More...
 

Detailed Description

Vulkan implementation of Texture.

Constructor & Destructor Documentation

◆ VulkanTexture()

Video::VulkanTexture::VulkanTexture ( VulkanRenderer vulkanRenderer,
VkDevice  device,
VkPhysicalDevice  physicalDevice,
const glm::uvec2  size,
Texture::Type  type,
Texture::Format  format,
int  components = 0,
unsigned char *  data = nullptr 
)

Create new Vulkan texture.

Parameters
vulkanRendererThe Vulkan renderer.
deviceThe Vulkan device.
physicalDeviceThe physical device.
sizeThe size of the texture, in pixels.
typeThe type of texture to create.
formatThe format of the texture.
componentsThe number of components in the texture, 0 if no texture data is supplied.
dataThe texture data to upload, or nullptr.
Todo:
Support textures of different formats.

◆ ~VulkanTexture()

Video::VulkanTexture::~VulkanTexture ( )
final

Destructor.

Member Function Documentation

◆ GetFormat()

VkFormat Video::VulkanTexture::GetFormat ( ) const

Get the format of the texture.

Returns
The format of the texture.

◆ GetImage()

VkImage Video::VulkanTexture::GetImage ( ) const

Get the image.

Returns
The image.

◆ GetImageLayout()

VkImageLayout Video::VulkanTexture::GetImageLayout ( ) const

Get the current image layout.

Returns
The image layout.

◆ GetImageView()

VkImageView Video::VulkanTexture::GetImageView ( ) const

Get image view.

Returns
The image view.

◆ SetImageLayout()

void Video::VulkanTexture::SetImageLayout ( VkImageLayout  layout)

Set the current image layout.

Parameters
layoutThe new image layout.

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