Skip to content

Vp::Shaders ​

#include "Viewport/shader/Shaders.h"

Public Functions ​

Name
Shaders &instance()
boolreloadShader(Shader & shader, const std::string & vertSource, const std::string & fragSource)
boolreloadShader(Shader & shader, const std::string & vertSource, const std::string & fragSource, const std::string & geoSource, const std::string & sourceToInject)
Shaders(Shaders const & ) =delete
template <typename T ,typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type =true&gt; <br>boolcreateShader(const std::string & vertSource)
template <typename T ,typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type =true&gt; <br>boolcreateShader(const std::string & vertSource, const std::string & fragSource)
template <typename T ,typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type =true&gt; <br>boolcreateShader(const std::string & vertSource, const std::string & fragSource, const std::string & geoSource)
template <typename T ,typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type =true&gt; <br>boolcreateShader(const std::string & vertSource, const std::string & fragSource, const std::string & geoSource, const std::string & sourceToInject)
template <typename T &gt; <br>std::shared_ptr< T >getShader()
template <typename T &gt; <br>T *getShaderPtr()
boolload()
voidoperator=(Shaders const & ) =delete
boolreload()

Public Attributes ​

Name
boolloaded
std::unordered_map< std::size_t, std::shared_ptr< Shader > >m_shaders

Public Functions Documentation ​

function instance ​

cpp
static inline Shaders & instance()

function reloadShader ​

cpp
static bool reloadShader(
    Shader & shader,
    const std::string & vertSource,
    const std::string & fragSource
)

function reloadShader ​

cpp
static bool reloadShader(
    Shader & shader,
    const std::string & vertSource,
    const std::string & fragSource,
    const std::string & geoSource,
    const std::string & sourceToInject
)

function Shaders ​

cpp
Shaders(
    Shaders const & 
) =delete

function createShader ​

cpp
template <typename T ,
typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type  =true>
inline bool createShader(
    const std::string & vertSource
)

function createShader ​

cpp
template <typename T ,
typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type  =true>
inline bool createShader(
    const std::string & vertSource,
    const std::string & fragSource
)

function createShader ​

cpp
template <typename T ,
typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type  =true>
inline bool createShader(
    const std::string & vertSource,
    const std::string & fragSource,
    const std::string & geoSource
)

function createShader ​

cpp
template <typename T ,
typename std::enable_if< std::is_base_of< Shader, T >::value, bool >::type  =true>
inline bool createShader(
    const std::string & vertSource,
    const std::string & fragSource,
    const std::string & geoSource,
    const std::string & sourceToInject
)

function getShader ​

cpp
template <typename T >
inline std::shared_ptr< T > getShader()

function getShaderPtr ​

cpp
template <typename T >
inline T * getShaderPtr()

function load ​

cpp
bool load()

function operator= ​

cpp
void operator=(
    Shaders const & 
) =delete

function reload ​

cpp
bool reload()

Public Attributes Documentation ​

variable loaded ​

cpp
bool loaded {false};

variable m_shaders ​

cpp
std::unordered_map< std::size_t, std::shared_ptr< Shader > > m_shaders;

Updated on 2026-09-11 at 21:24:25 +0000