evan 2026.1.4
Evan
Loading...
Searching...
No Matches
evan::ADeviceBackend::CreateImageProperties Struct Reference

Encapsulates the properties required to create a Vulkan image and allocate its memory. More...

#include <headers/evan/ADeviceBackend.hpp>

Public Attributes

uint32_t _width
 The width of the image in pixels.
 
uint32_t _height
 The height of the image in pixels.
 
uint32_t _mipLevels
 The number of mipmap levels for the image.
 
VkSampleCountFlagBits _numSamples
 The number of samples for multisample anti-aliasing (MSAA).
 
VkFormat _format
 The format of the image (e.g., VK_FORMAT_R8G8B8A8_SRGB).
 
VkImageTiling _tiling
 The tiling arrangement of the image (e.g., VK_IMAGE_TILING_OPTIMAL).
 
VkImageUsageFlags _usage
 The usage flags for the image (e.g., VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT).
 
VkMemoryPropertyFlags _properties
 The memory property flags for the image (e.g., VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT).
 
VkImage & _image
 A reference to the VkImage object that will be created.
 
VkDeviceMemory & _imageMemory
 A reference to the VkDeviceMemory object that will be allocated for the image.
 
uint32_t _arrayLayers = 1
 The number of array layers of the image.
 

Detailed Description

Encapsulates the properties required to create a Vulkan image and allocate its memory.

This structure holds all necessary parameters for creating a VkImage object and allocating its associated device memory in Vulkan. It includes device handles, image dimensions, format, usage flags, and references to the resulting image and memory objects.

Definition at line 185 of file ADeviceBackend.hpp.

Member Data Documentation

◆ _arrayLayers

uint32_t evan::ADeviceBackend::CreateImageProperties::_arrayLayers = 1

The number of array layers of the image.

Defaults to 1: plain 2D images. Multiview attachments use one layer per view so that a single framebuffer covers all views.

Definition at line 237 of file ADeviceBackend.hpp.

◆ _format

VkFormat evan::ADeviceBackend::CreateImageProperties::_format

The format of the image (e.g., VK_FORMAT_R8G8B8A8_SRGB).

Definition at line 206 of file ADeviceBackend.hpp.

◆ _height

uint32_t evan::ADeviceBackend::CreateImageProperties::_height

The height of the image in pixels.

Definition at line 193 of file ADeviceBackend.hpp.

◆ _image

VkImage& evan::ADeviceBackend::CreateImageProperties::_image

A reference to the VkImage object that will be created.

Definition at line 225 of file ADeviceBackend.hpp.

◆ _imageMemory

VkDeviceMemory& evan::ADeviceBackend::CreateImageProperties::_imageMemory

A reference to the VkDeviceMemory object that will be allocated for the image.

Definition at line 230 of file ADeviceBackend.hpp.

◆ _mipLevels

uint32_t evan::ADeviceBackend::CreateImageProperties::_mipLevels

The number of mipmap levels for the image.

Definition at line 197 of file ADeviceBackend.hpp.

◆ _numSamples

VkSampleCountFlagBits evan::ADeviceBackend::CreateImageProperties::_numSamples

The number of samples for multisample anti-aliasing (MSAA).

Definition at line 202 of file ADeviceBackend.hpp.

◆ _properties

VkMemoryPropertyFlags evan::ADeviceBackend::CreateImageProperties::_properties

The memory property flags for the image (e.g., VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT).

Definition at line 221 of file ADeviceBackend.hpp.

◆ _tiling

VkImageTiling evan::ADeviceBackend::CreateImageProperties::_tiling

The tiling arrangement of the image (e.g., VK_IMAGE_TILING_OPTIMAL).

Definition at line 211 of file ADeviceBackend.hpp.

◆ _usage

VkImageUsageFlags evan::ADeviceBackend::CreateImageProperties::_usage

The usage flags for the image (e.g., VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT).

Definition at line 216 of file ADeviceBackend.hpp.

◆ _width

uint32_t evan::ADeviceBackend::CreateImageProperties::_width

The width of the image in pixels.

Definition at line 189 of file ADeviceBackend.hpp.


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