Hymn to Beauty
C++ 3D Engine
Video::VulkanShaderProgram Class Reference

Vulkan implementation of ShaderProgram. More...

#include <VulkanShaderProgram.hpp>

Inheritance diagram for Video::VulkanShaderProgram:
Video::ShaderProgram

Classes

struct  StorageBufferInfo
 Informationa bout a storage buffer used in the shader program. More...
 

Public Member Functions

 VulkanShaderProgram (VulkanRenderer *vulkanRenderer, std::initializer_list< const Shader * > shaders)
 Create new Vulkan shader program. More...
 
 ~VulkanShaderProgram () final
 Destructor. More...
 
const std::vector< const VulkanShader * > & GetShaders () const
 Get the shaders in the shader program. More...
 
const VkDescriptorSetLayout * GetDescriptorSetLayouts () const
 Get the descriptor set layouts. More...
 
const VkPushConstantRange * GetPushConstantRange () const
 Get the push constant range. More...
 
const StorageBufferInfoGetStorageBufferInfo (uint32_t binding) const
 Get reflection info about a storage buffer used in the shader. More...
 
- Public Member Functions inherited from Video::ShaderProgram
 ShaderProgram ()
 Create a new shader program. More...
 
virtual ~ShaderProgram ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from Video::ShaderProgram
enum  BindingType {
  MATRICES , MATERIAL , UNIFORMS , STORAGE_BUFFER ,
  BINDING_TYPES
}
 A type of bound resource. More...
 

Detailed Description

Vulkan implementation of ShaderProgram.

Constructor & Destructor Documentation

◆ VulkanShaderProgram()

Video::VulkanShaderProgram::VulkanShaderProgram ( VulkanRenderer vulkanRenderer,
std::initializer_list< const Shader * >  shaders 
)

Create new Vulkan shader program.

Parameters
vulkanRendererThe Vulkan renderer.
shadersList of shaders to link together.

◆ ~VulkanShaderProgram()

Video::VulkanShaderProgram::~VulkanShaderProgram ( )
final

Destructor.

Member Function Documentation

◆ GetDescriptorSetLayouts()

const VkDescriptorSetLayout * Video::VulkanShaderProgram::GetDescriptorSetLayouts ( ) const

Get the descriptor set layouts.

Returns
The descriptor set layouts.

◆ GetPushConstantRange()

const VkPushConstantRange * Video::VulkanShaderProgram::GetPushConstantRange ( ) const

Get the push constant range.

Returns
The push constant range, or nullptr if no push constants are used.

◆ GetShaders()

const std::vector< const VulkanShader * > & Video::VulkanShaderProgram::GetShaders ( ) const

Get the shaders in the shader program.

Returns
A list of shaders in the shader program.

◆ GetStorageBufferInfo()

const VulkanShaderProgram::StorageBufferInfo & Video::VulkanShaderProgram::GetStorageBufferInfo ( uint32_t  binding) const

Get reflection info about a storage buffer used in the shader.

Parameters
bindingWhich binding to get information about.
Returns
Information about the storage buffer.

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