|
| 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 |
|
| 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 & |
|
| 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 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 |
|
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 |
|