| Fling Engine 0.00.1 Fling Engine is a game engine written in Vulkan

Public Member Functions | Static Public Member Functions | Private Attributes
Fling::ShaderProgram Class Reference

`#include <ShaderProgram.h>`

## Public Member Functions
| ShaderProgram (VkDevice t_Device, const std::vector< Shader *> &t_Shaders)
| ~ShaderProgram ()
void | InitGraphicPipeline (VkRenderPass t_Renderpass, Multisampler *t_Sampler)
const std::shared_ptr< GraphicsPipeline > | GetPipeline () const
VkDescriptorSetLayout & | GetDescriptorLayout ()
VkPipelineLayout & | GetPipelineLayout ()

## Static Public Member Functions
static ShaderProgramType | ShaderProgramFromStr (std::string &t_Str)

## Private Attributes
VkDescriptorSetLayout | m_DescriptorLayout
VkPipelineLayout | m_PipelineLayout
std::shared_ptr< GraphicsPipeline > | m_Pipeline
std::vector< Shader * > | m_Shaders
VkDevice | m_Device

## Constructor & Destructor Documentation

## ◆ ShaderProgram()

Fling::ShaderProgram::ShaderProgram | ( | VkDevice | t_Device,
|  | const std::vector< Shader *> & | t_Shaders
| ) |  |

## ◆ ~ShaderProgram()

Fling::ShaderProgram::~ShaderProgram | ( |  | ) |

## Member Function Documentation

## ◆ GetDescriptorLayout()

VkDescriptorSetLayout& Fling::ShaderProgram::GetDescriptorLayout | ( |  | ) |
| inline

## ◆ GetPipeline()

const std::shared_ptr<GraphicsPipeline> Fling::ShaderProgram::GetPipeline | ( |  | ) | const
| inline

## ◆ GetPipelineLayout()

VkPipelineLayout& Fling::ShaderProgram::GetPipelineLayout | ( |  | ) |
| inline

## ◆ InitGraphicPipeline()

void Fling::ShaderProgram::InitGraphicPipeline | ( | VkRenderPass | t_Renderpass,
|  | Multisampler * | t_Sampler
| ) |  |

## ◆ ShaderProgramFromStr()

ShaderProgramType Fling::ShaderProgram::ShaderProgramFromStr | ( | std::string & | t_Str | ) |
| static

## Field Documentation

## ◆ m_DescriptorLayout

VkDescriptorSetLayout Fling::ShaderProgram::m_DescriptorLayout
| private

## ◆ m_Device

VkDevice Fling::ShaderProgram::m_Device
| private

## ◆ m_Pipeline

std::shared_ptr<GraphicsPipeline> Fling::ShaderProgram::m_Pipeline
| private

## ◆ m_PipelineLayout

VkPipelineLayout Fling::ShaderProgram::m_PipelineLayout
| private

## ◆ m_Shaders

std::vector<Shader*> Fling::ShaderProgram::m_Shaders
| private

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

- FlingEngine/Graphics/inc/ShaderPrograms/ShaderProgram.h
- FlingEngine/Graphics/src/ShaderPrograms/ShaderProgram.cpp