SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::ShaderProgram< ShaderModuleType > Class Template Referenceabstract

Represents a shader program with a specific type of IShaderModule. More...

#include <Shader.h>

Inheritance diagram for spark::render::ShaderProgram< ShaderModuleType >:
spark::render::IShaderProgram

Public Types

using shader_module_type = ShaderModuleType
 

Public Member Functions

virtual std::vector< const shader_module_type * > shaders () const noexcept=0
 Gets all shaders contained in this program.
 
- Public Member Functions inherited from spark::render::IShaderProgram
std::vector< const IShaderModule * > shaders () const noexcept
 Gets all shaders contained in this program.
 
virtual std::shared_ptr< IPipelineLayoutreflectPipelineLayout () const =0
 Uses shader reflexion to extract the pipeline layout from this shader program.
 

Detailed Description

template<typename ShaderModuleType>
class spark::render::ShaderProgram< ShaderModuleType >

Represents a shader program with a specific type of IShaderModule.

Template Parameters
ShaderModuleTypeThe type of IShaderModule this shader program contains.

Member Function Documentation

◆ shaders()

template<typename ShaderModuleType >
virtual std::vector< const shader_module_type * > spark::render::ShaderProgram< ShaderModuleType >::shaders ( ) const
nodiscardpure virtualnoexcept

Gets all shaders contained in this program.

Returns
A std::vector of pointers to all shaders contained in this program.

Implemented in spark::render::vk::VulkanShaderProgram.