class new in Git master
#include <Magnum/Vk/ImageCreateInfo.h>
ImageCreateInfo Image creation info.
Wraps a VkImageCreateInfo. See Image creation for usage information.
Derived classes
- class ImageCreateInfo1D new in Git master
- Convenience constructor for 1D images.
- class ImageCreateInfo1DArray new in Git master
- Convenience constructor for 1D array images.
- class ImageCreateInfo2D new in Git master
- Convenience constructor for 2D images.
- class ImageCreateInfo2DArray new in Git master
- Convenience constructor for 2D array images.
- class ImageCreateInfo3D new in Git master
- Convenience constructor for 3D images.
- class ImageCreateInfoCubeMap new in Git master
- Convenience constructor for cube map images.
- class ImageCreateInfoCubeMapArray new in Git master
- Convenience constructor for cube map array images.
Public types
- enum class Flag: UnsignedInt { MutableFormat = VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT, CubeCompatible = VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT }
- Image creation flag.
-
using Flags = Containers::
EnumSet<Flag> - Image creation flags.
Constructors, destructors, conversion operators
-
ImageCreateInfo(VkImageType type,
ImageUsages usages,
PixelFormat format,
const Vector3i& size,
Int layers,
Int levels,
Int samples = 1,
ImageLayout initialLayout = ImageLayout::
Undefined, Flags flags = {}) explicit - Constructor.
-
ImageCreateInfo(VkImageType type,
ImageUsages usages,
Magnum::
PixelFormat format, const Vector3i& size, Int layers, Int levels, Int samples = 1, ImageLayout initialLayout = ImageLayout:: Undefined, Flags flags = {}) explicit - Construct with a generic pixel format.
-
ImageCreateInfo(VkImageType type,
ImageUsages usages,
Magnum::
CompressedPixelFormat format, const Vector3i& size, Int layers, Int levels, Int samples = 1, ImageLayout initialLayout = ImageLayout:: Undefined, Flags flags = {}) explicit - Constructor with a generic compressed pixel format.
- ImageCreateInfo(NoInitT) explicit noexcept
- Construct without initializing the contents.
- ImageCreateInfo(const VkImageCreateInfo& info) explicit
- Construct from existing data.
- operator const VkImageCreateInfo*() const
Public functions
- auto operator*() -> VkImageCreateInfo&
- Underlying VkImageCreateInfo structure.
- auto operator*() const -> const VkImageCreateInfo&
- auto operator->() -> VkImageCreateInfo*
- auto operator->() const -> const VkImageCreateInfo*
Enum documentation
enum class Magnum:: Vk:: ImageCreateInfo:: Flag: UnsignedInt
Image creation flag.
Wraps VkImageCreateFlagBits.
Enumerators | |
---|---|
MutableFormat |
Allow creating a view of different format |
CubeCompatible |
Allow creating a cube map view |
Typedef documentation
typedef Containers:: EnumSet<Flag> Magnum:: Vk:: ImageCreateInfo:: Flags
Image creation flags.
Type-safe wrapper for VkImageCreateFlags.
Function documentation
Magnum:: Vk:: ImageCreateInfo:: ImageCreateInfo(VkImageType type,
ImageUsages usages,
PixelFormat format,
const Vector3i& size,
Int layers,
Int levels,
Int samples = 1,
ImageLayout initialLayout = ImageLayout:: Undefined,
Flags flags = {}) explicit
Constructor.
Parameters | |
---|---|
type | Image type |
usages | Desired image usage. At least one flag is required. |
format | Image format. Available through Image:: |
size | Image size |
layers | Array layer count |
levels | Mip level count |
samples | Sample count |
initialLayout | Initial layout. Can be only either ImageLayout:: |
flags | Image creation flags |
The following VkImageCreateInfo fields are pre-filled in addition to sType
, everything else is zero-filled:
flags
imageType
totype
format
extent
tosize
mipLevels
tolevels
arrayLayers
tolayers
samples
tiling
to VK_IMAGE_ TILING_ OPTIMAL usage
tousages
sharingMode
to VK_SHARING_ MODE_ EXCLUSIVE initialLayout
There are various restrictions on size
, layers
, levels
for a particular type
— for common image types you're encouraged to make use of ImageCreateInfo1D, ImageCreateInfo2D, ImageCreateInfo3D, ImageCreateInfo1DArray, ImageCreateInfo2DArray, ImageCreateInfoCubeMap and ImageCreateInfoCubeMapArray convenience classes instead of this constructor.
Magnum:: Vk:: ImageCreateInfo:: ImageCreateInfo(VkImageType type,
ImageUsages usages,
Magnum:: PixelFormat format,
const Vector3i& size,
Int layers,
Int levels,
Int samples = 1,
ImageLayout initialLayout = ImageLayout:: Undefined,
Flags flags = {}) explicit
Construct with a generic pixel format.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Note that implementation-specific values are passed as-is with pixelFormatUnwrap(). It's the user responsibility to ensure an implementation-specific value actually represents a valid Vulkan pixel format.
Magnum:: Vk:: ImageCreateInfo:: ImageCreateInfo(VkImageType type,
ImageUsages usages,
Magnum:: CompressedPixelFormat format,
const Vector3i& size,
Int layers,
Int levels,
Int samples = 1,
ImageLayout initialLayout = ImageLayout:: Undefined,
Flags flags = {}) explicit
Constructor with a generic compressed pixel format.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Note that implementation-specific values are passed as-is with compressedPixelFormatUnwrap(). It's the user responsibility to ensure an implementation-specific actually represents a valid Vulkan pixel format.
Magnum:: Vk:: ImageCreateInfo:: ImageCreateInfo(NoInitT) explicit noexcept
Construct without initializing the contents.
Note that not even the sType
field is set — the structure has to be fully initialized afterwards in order to be usable.
Magnum:: Vk:: ImageCreateInfo:: ImageCreateInfo(const VkImageCreateInfo& info) explicit
Construct from existing data.
Copies the existing values verbatim, pointers are kept unchanged without taking over the ownership. Modifying the newly created instance will not modify the original data nor the pointed-to data.
Magnum:: Vk:: ImageCreateInfo:: operator const VkImageCreateInfo*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkImageCreateInfo& Magnum:: Vk:: ImageCreateInfo:: operator*() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
VkImageCreateInfo* Magnum:: Vk:: ImageCreateInfo:: operator->()
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
const VkImageCreateInfo* Magnum:: Vk:: ImageCreateInfo:: operator->() const
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.