6#ifndef INCLUDE_VULKANENGINE_SHADERIMAGE_H_
7#define INCLUDE_VULKANENGINE_SHADERIMAGE_H_
9#include <VulkanEngine/Descriptor.h>
14#pragma clang diagnostic push
15#pragma clang diagnostic ignored "-Wnullability-completeness"
17#include <vk_mem_alloc.h>
19#pragma clang diagnostic pop
22#include <vulkan/vulkan.hpp>
27template <vk::Format format, vk::ImageType image_type, vk::ImageTiling tiling,
28 vk::SampleCountFlagBits
32template <vk::Format format, vk::ImageType image_type, vk::ImageTiling tiling,
33 vk::SampleCountFlagBits
36 :
public Image<format, image_type, tiling, sample_count_flags>,
47 ShaderImage(vk::ImageLayout initial_layout, vk::ImageUsageFlags usage_flags,
48 VmaMemoryUsage vma_memory_usage, uint32_t
width, uint32_t
height,
51 vk::ShaderStageFlags shader_stage_flags);
64 std::shared_ptr<std::vector<vk::WriteDescriptorSet>>
65 write_descriptor_sets,
66 std::shared_ptr<std::vector<vk::CopyDescriptorSet>> copy_descriptor_sets,
67 const vk::DescriptorSet& destination_set);
71 vk::Sampler vk_sampler;
73 vk::DescriptorImageInfo vk_descriptor_image_info;
78#include <ShaderImage.cpp>
Definition: Descriptor.h:17
uint32_t binding
The binding index.
Definition: Descriptor.h:49
uint32_t descriptor_count
The number of descriptors represented.
Definition: Descriptor.h:52
uint32_t height
The height of the Image.
Definition: Image.h:106
uint32_t depth
The depth of the Image.
Definition: Image.h:109
uint32_t width
The width of the Image.
Definition: Image.h:103
Definition: ShaderImage.h:37
virtual void appendVkDescriptorSets(std::shared_ptr< std::vector< vk::WriteDescriptorSet > > write_descriptor_sets, std::shared_ptr< std::vector< vk::CopyDescriptorSet > > copy_descriptor_sets, const vk::DescriptorSet &destination_set)
Append descriptor sets to this shader image.
Definition: ShaderImage.cpp:96
vk::DescriptorImageInfo getVkDescriptorImageInfo() const
Get descriptor image info.
Definition: ShaderImage.cpp:85
~ShaderImage()
Destructor.
Definition: ShaderImage.cpp:47
void createSampler()
Create image sampler.
Definition: ShaderImage.cpp:55
TODO development of this class is in progress.
Definition: Attribute.h:13