VulkanEngine 0.1
Graphics engine using Vulkan
Loading...
Searching...
No Matches
VulkanEngine::Shader Class Reference

#include <Shader.h>

Public Member Functions

 Shader (const std::vector< std::shared_ptr< ShaderModule > > &_shader_modules)
 
 ~Shader ()
 Destructor.
 
void setDescriptors (const std::vector< std::vector< std::shared_ptr< Descriptor > > > &_descriptors)
 
void bindDescriptorSet (const vk::CommandBuffer &command_buffer, uint32_t descriptor_set_index)
 
const std::vector< vk::PipelineShaderStageCreateInfo > & getVkShaderStages () const
 
const vk::PipelineLayout createVkPipelineLayout ()
 

Detailed Description

Class which encapsulates a single shader consisting of several ShaderModule instances.

Constructor & Destructor Documentation

◆ Shader()

VulkanEngine::Shader::Shader ( const std::vector< std::shared_ptr< ShaderModule > > &  _shader_modules)
explicit

Constructor.

Parameters
shader_modulesShaderModule instances to use in this shader.

Member Function Documentation

◆ bindDescriptorSet()

void VulkanEngine::Shader::bindDescriptorSet ( const vk::CommandBuffer &  command_buffer,
uint32_t  descriptor_set_index 
)

Bind a set of descriptors to an index.

Parameters
command_bufferCommand buffer used for binding.
descriptor_set_indexThe index to bind to.

◆ createVkPipelineLayout()

const vk::PipelineLayout VulkanEngine::Shader::createVkPipelineLayout ( )
Returns
Vulkan PipelineLayout instances.

◆ getVkShaderStages()

const std::vector< vk::PipelineShaderStageCreateInfo > & VulkanEngine::Shader::getVkShaderStages ( ) const
Returns
Vulkan PipelineShaderStageCreateInfo instances.

◆ setDescriptors()

void VulkanEngine::Shader::setDescriptors ( const std::vector< std::vector< std::shared_ptr< Descriptor > > > &  _descriptors)

Set descriptors for this shader, such as images and buffers.

Parameters
_descriptorsList of descriptors to set.

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