sandbox
Loading...
Searching...
No Matches
sbx::graphics::image Class Reference
Inheritance diagram for sbx::graphics::image:
sbx::utility::noncopyable sbx::graphics::descriptor sbx::graphics::depth_image sbx::graphics::image2d

Public Member Functions

 image (const VkExtent3D extent, VkFilter filter, VkSamplerAddressMode address_mode, VkSampleCountFlagBits samples, VkImageLayout layout, VkImageUsageFlags usage, VkFormat format, std::uint32_t mip_levels, std::uint32_t array_layers)
 
auto write_descriptor_set (std::uint32_t binding, VkDescriptorType descriptor_type) const noexcept -> graphics::write_descriptor_set override
 
auto extent () const noexcept -> const VkExtent3D &
 
auto size () const noexcept -> math::vector2u
 
auto format () const noexcept -> VkFormat
 
auto samples () const noexcept -> VkSampleCountFlagBits
 
auto usage () const noexcept -> VkImageUsageFlags
 
auto mip_levels () const noexcept -> std::uint32_t
 
auto array_layers () const noexcept -> std::uint32_t
 
auto filter () const noexcept -> VkFilter
 
auto address_mode () const noexcept -> VkSamplerAddressMode
 
auto layout () const noexcept -> VkImageLayout
 
auto handle () const noexcept -> const VkImage &
 
 operator const VkImage & () const noexcept
 
auto view () const noexcept -> const VkImageView &
 
auto memory () const noexcept -> const VkDeviceMemory &
 
auto sampler () const noexcept -> const VkSampler &
 
- Public Member Functions inherited from sbx::utility::noncopyable
 noncopyable (const noncopyable &)=delete
 
 noncopyable (noncopyable &&) noexcept=default
 
auto operator= (const noncopyable &) -> noncopyable &=delete
 
auto operator= (noncopyable &&) noexcept -> noncopyable &=default
 
virtual auto write_descriptor_set (std::uint32_t binding, VkDescriptorType descriptor_type) const noexcept -> graphics::write_descriptor_set=0
 

Static Public Member Functions

static auto create_descriptor_set_layout_binding (std::uint32_t binding, VkDescriptorType descriptor_type, VkShaderStageFlags shader_stage_flags, std::uint32_t count=1u) noexcept -> VkDescriptorSetLayoutBinding
 
static auto mip_levels (const VkExtent3D &extent) noexcept -> std::uint32_t
 
static auto find_supported_format (const std::vector< VkFormat > &candidates, VkImageTiling tiling, VkFormatFeatureFlags features) noexcept -> VkFormat
 
static auto has_depth_component (VkFormat format) noexcept -> bool
 
static auto has_stencil_component (VkFormat format) noexcept -> bool
 
static auto create_image (VkImage &image, VkDeviceMemory &memory, const VkExtent3D &extent, VkFormat format, VkSampleCountFlagBits samples, VkImageTiling tiling, VkImageUsageFlags usage, VkMemoryPropertyFlags properties, std::uint32_t mip_levels, std::uint32_t array_layers, VkImageType type) -> void
 
static auto create_image_view (const VkImage &image, VkImageView &image_view, VkImageViewType type, VkFormat format, VkImageAspectFlags image_aspect, std::uint32_t mip_levels, std::uint32_t base_mip_level, std::uint32_t layer_count, std::uint32_t base_array_layer) -> void
 
static auto create_image_sampler (VkSampler &sampler, VkFilter filter, VkSamplerAddressMode address_mode, bool anisotropic, std::uint32_t mip_levels) -> void
 
static auto create_mipmaps (const VkImage &image, const VkExtent3D &extent, VkFormat format, VkImageLayout dst_image_layout, std::uint32_t mip_levels, std::uint32_t base_array_layer, std::uint32_t layer_count) -> void
 
static auto transition_image_layout (const VkImage &image, VkFormat format, VkImageLayout src_image_layout, VkImageLayout dst_image_layout, VkImageAspectFlags image_aspect, std::uint32_t mip_levels, std::uint32_t base_mip_level, std::uint32_t layer_count, std::uint32_t base_array_layer) -> void
 
static auto transition_image_layout (command_buffer &command_buffer, const VkImage &image, VkFormat format, VkImageLayout src_image_layout, VkImageLayout dst_image_layout, VkImageAspectFlags image_aspect, std::uint32_t mip_levels, std::uint32_t base_mip_level, std::uint32_t layer_count, std::uint32_t base_array_layer) -> void
 
static auto insert_image_memory_barrier (command_buffer &command_buffer, const VkImage &image, VkAccessFlags src_access_mask, VkAccessFlags dst_access_mask, VkImageLayout old_image_layout, VkImageLayout new_image_layout, VkPipelineStageFlags src_stage_mask, VkPipelineStageFlags dst_stage_mask, VkImageAspectFlags image_aspect, uint32_t mip_levels, uint32_t base_mip_level, uint32_t layer_count, uint32_t base_array_layer) -> void
 
static auto copy_buffer_to_image (const VkBuffer &buffer, const VkImage &image, const VkExtent3D &extent, std::uint32_t layer_count, std::uint32_t base_array_layer) -> void
 
static auto copy_image (const VkImage &src_image, VkImage &dst_image, VkDeviceMemory &dst_image_memory, VkFormat src_format, const VkExtent3D &extent, VkImageLayout src_image_layout, std::uint32_t mip_level, std::uint32_t array_layer) -> bool
 

Protected Attributes

VkExtent3D _extent
 
VkFilter _filter
 
VkSamplerAddressMode _address_mode
 
VkSampleCountFlagBits _samples
 
VkImageLayout _layout
 
VkImageUsageFlags _usage
 
VkFormat _format
 
std::uint32_t _mip_levels
 
std::uint32_t _array_layers
 
VkImage _handle
 
VkDeviceMemory _memory
 
VkImageView _view
 
VkSampler _sampler
 

Member Function Documentation

◆ write_descriptor_set()

auto sbx::graphics::image::write_descriptor_set ( std::uint32_t  binding,
VkDescriptorType  descriptor_type 
) const -> graphics::write_descriptor_set
overridevirtualnoexcept

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