69 SOURCE = VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
70 TARGET = VK_IMAGE_USAGE_TRANSFER_DST_BIT,
73 COLOR = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
74 DEPTH = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT,
75 TRANSIENT = VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
76 INPUT = VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
115 VkImageLayout initialLayout = VK_IMAGE_LAYOUT_UNDEFINED,
116 const std::vector< unsigned int >& queueFamilyIndices = std::vector< unsigned int >() );
160 const VkExtent3D&
extent()
const;
209 VkImageTiling TILING = VK_IMAGE_TILING_OPTIMAL,
210 VkSampleCountFlagBits MULTISAMPLING = VK_SAMPLE_COUNT_1_BIT,
211 bool MIPMAPPED =
true,
212 bool ARRAYED =
false,
213 unsigned int FLAGS = 0u >
294 template<
class AttributesT >
327 unsigned int mipLevels = 1u,
328 unsigned int arrayLevels = 1u,
329 VkImageLayout initialLayout = VK_IMAGE_LAYOUT_UNDEFINED,
330 const std::vector< unsigned int >& queueFamilyIndices = std::vector< unsigned int >() );
363 unsigned int mipLevels = 1u,
364 unsigned int arrayLevels = 1u,
365 VkImageLayout initialLayout = VK_IMAGE_LAYOUT_UNDEFINED,
366 const std::vector< unsigned int >& queueFamilyIndices = std::vector< unsigned int >() );
382 unsigned int mipLevels = 1u,
383 unsigned int arrayLevels = 1u );
412 unsigned int mipLevels = 1u,
413 unsigned int arrayLevels = 1u );
424 explicit Image (
const Img& rawImage );
429 template<
class FormatT >
432 FormatT,
RENDER, IMG_TYPE_1D,
433 VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
435 template<
class FormatT >
438 FormatT,
RENDER, IMG_TYPE_2D,
439 VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
441 template<
class FormatT >
444 FormatT,
RENDER, IMG_TYPE_3D,
445 VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
447 template<
class FormatT >
450 FormatT,
RENDER, IMG_TYPE_CUBE_2D,
451 VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
453 template<
class FormatT >
456 FormatT,
RENDER, IMG_TYPE_1D,
457 VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
459 template<
class FormatT >
462 FormatT,
RENDER, IMG_TYPE_2D,
463 VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
465 template<
class FormatT >
468 FormatT,
RENDER, IMG_TYPE_3D,
469 VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
471 template<
class FormatT >
474 FormatT,
RENDER, IMG_TYPE_CUBE_2D,
475 VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT > >;
477 template<
class FormatT >
480 FormatT,
RENDER, IMG_TYPE_2D,
481 VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT > >;
483 template<
class FormatT >
486 FormatT,
RENDER, IMG_TYPE_2D,
487 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT > >;
Represents logical rendering device.
Definition: vppDevice.hpp:49
bool valid() const
Checks whether this is a valid image.
const VkExtent3D & extent() const
Retrieves image size.
VkImage handle() const
Retrieves the Vulkan handle.
Class representing generic (untyped) Vulkan image.
Definition: vppImage.hpp:54
A structure containing image parameters.
Definition: vppImageInfo.hpp:64
Allows to use an image as a destination of transfer or blit operation.
Definition: vppImage.hpp:70
The VPP namespace.
Definition: main.hpp:1
Img()
Constructs null reference.
Allows to use an image as a source of transfer or blit operation.
Definition: vppImage.hpp:69
AttributesT attributes_type
Image attributes.
Definition: vppImage.hpp:299
A template containing image attributes inside C++ type.
Definition: vppImage.hpp:214
Allows to use an image as an attachment, to be used in a rendering process.
Definition: vppImage.hpp:73
Allows to use an image as an input attachment, to provide data for a rendering process.
Definition: vppImage.hpp:76
Image()
Constructs null reference.
Allows to use an image as an attachment, to be used in a rendering process as depth buffer...
Definition: vppImage.hpp:74
AttributesT::format_type format_type
Image format.
Definition: vppImage.hpp:302
VkFormat format() const
Retrieves image format.
All images used for normal rendering.
Definition: vppImageInfo.hpp:37
const ImageInfo & info() const
Retrieves all image attributes.
Allows to optimize memory allocation for an attachment image.
Definition: vppImage.hpp:75
Class representing typed Vulkan image.
Definition: vppImage.hpp:295
Allows to use an image as a read-only texture.
Definition: vppImage.hpp:71
Abstraction of GPU-interoperable memory types.
Definition: vppDeviceMemory.hpp:39
EImagePurpose
Enumeration specifying general purpose of an image.
Definition: vppImageInfo.hpp:35
EUsageFlags
Enumeration specifying how an image may be used.
Definition: vppImage.hpp:67
const Device & device() const
Retrieves the device.
Allows to use an image as a mutable image (writable in the shader).
Definition: vppImage.hpp:72