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< GraphicsPipelineGetPipeline () 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< GraphicsPipelinem_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: