Lluvia
ImageDescriptor.h File Reference

ImageDescriptor class and related enumerations. More...

#include "lluvia/core/enums/enums.h"
#include "lluvia/core/error.h"
#include "lluvia/core/image/ImageTiling.h"
#include "lluvia/core/image/ImageUsageFlags.h"
#include "lluvia/core/types.h"
#include <array>
#include <cstdint>
#include <string>
#include <tuple>
#include <type_traits>
#include "lluvia/core/vulkan/vulkan.hpp"
Include dependency graph for ImageDescriptor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ll::ImageDescriptor
 Stores all relevant information for creating ll::Image objects. More...
 

Namespaces

 ll
 
 ll::impl
 

Enumerations

enum class  ll::ChannelType : ll::enum_t {
  ll::Uint8 = 0 , ll::Int8 = 1 , ll::Uint16 = 2 , ll::Int16 = 3 ,
  ll::Float16 = 4 , ll::Uint32 = 5 , ll::Int32 = 6 , ll::Float32 = 7 ,
  ll::Uint64 = 8 , ll::Int64 = 9 , ll::Float64 = 10
}
 Supported image channel types. More...
 
enum class  ll::ChannelCount : ll::enum_t { ll::C1 = 1 , ll::C2 = 2 , ll::C3 = 3 , ll::C4 = 4 }
 Supported image channel count. More...
 

Functions

template<typename T = std::string>
ll::channelTypeToString (ll::ChannelType &&value) noexcept
 Converts from ll::ChannelType enum value to std::string. More...
 
template<typename T = std::string>
ll::channelTypeToString (const ll::ChannelType &value) noexcept
 
template<typename T >
ll::ChannelType ll::stringToChannelType (T &&stringValue)
 Converts from a string-like object to ll::ChannelType enum. More...
 
template<typename T = uint32_t>
ll::ChannelCount ll::castChannelCount (T c)
 
uint64_t ll::getChannelTypeSize (ll::ChannelType type)
 Gets size in bytes of a given channel type. More...
 
vk::Format ll::getVulkanImageFormat (ll::ChannelCount channelCount, ll::ChannelType channelType) noexcept
 Gets the vulkan image format for a given channel count and type. More...
 

Variables

constexpr const std::array< std::tuple< const char *, ll::ChannelType >, 11 > ll::impl::ChannelTypeStrings
 Channel type string values used for converting ll::ChannelType to std::string and vice-versa. More...
 
constexpr const std::array< std::tuple< const char *, ll::ChannelCount >, 4 > ll::impl::ChannelCountStrings
 Channel type string values used for converting ll::ChannelType to std::string and vice-versa. More...
 

Detailed Description

ImageDescriptor class and related enumerations.