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

Public Member Functions

 image2d (const math::vector2u &extent, VkFormat format=VK_FORMAT_R8G8B8A8_UNORM, VkImageLayout layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VkImageUsageFlags usage=VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT|VK_IMAGE_USAGE_STORAGE_BIT, VkFilter filter=VK_FILTER_LINEAR, VkSamplerAddressMode address_mode=VK_SAMPLER_ADDRESS_MODE_REPEAT, VkSampleCountFlagBits samples=VK_SAMPLE_COUNT_1_BIT, bool anisotropic=false, bool mipmap=false)
 
 image2d (const std::filesystem::path &path, VkFilter filter=VK_FILTER_LINEAR, VkSamplerAddressMode address_mode=VK_SAMPLER_ADDRESS_MODE_REPEAT, bool anisotropic=false, bool mipmap=false)
 
 image2d (const math::vector2u &extent, VkFormat format, memory::observer_ptr< const std::uint8_t > pixels)
 
auto set_pixels (memory::observer_ptr< const std::uint8_t > pixels) -> void
 
- Public Member Functions inherited from sbx::graphics::image
 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
 

Additional Inherited Members

- Static Public Member Functions inherited from sbx::graphics::image
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 inherited from sbx::graphics::image
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
 

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