6#ifndef INCLUDE_VULKANENGINE_SHADER_H_
7#define INCLUDE_VULKANENGINE_SHADER_H_
9#include <VulkanEngine/Descriptor.h>
10#include <VulkanEngine/ShaderModule.h>
23 const std::vector<std::shared_ptr<ShaderModule>>& _shader_modules);
31 const std::vector<std::vector<std::shared_ptr<Descriptor>>>&
38 uint32_t descriptor_set_index);
49 std::vector<vk::PipelineShaderStageCreateInfo> shader_stages;
52 std::vector<std::shared_ptr<ShaderModule>> shader_modules;
55 std::vector<std::vector<std::shared_ptr<Descriptor>>> descriptors;
58 vk::DescriptorPool vk_descriptor_pool;
61 std::vector<vk::DescriptorSetLayout> vk_descriptor_set_layouts;
64 std::vector<vk::DescriptorSet> vk_descriptor_sets;
67 vk::PipelineLayout vk_pipeline_layout;
void setDescriptors(const std::vector< std::vector< std::shared_ptr< Descriptor > > > &_descriptors)
Definition: Shader.cpp:50
~Shader()
Destructor.
Definition: Shader.cpp:40
void bindDescriptorSet(const vk::CommandBuffer &command_buffer, uint32_t descriptor_set_index)
Definition: Shader.cpp:123
const std::vector< vk::PipelineShaderStageCreateInfo > & getVkShaderStages() const
Definition: Shader.cpp:133
const vk::PipelineLayout createVkPipelineLayout()
Definition: Shader.cpp:137
TODO development of this class is in progress.
Definition: Attribute.h:13