Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
Public Member Functions | List of all members
OpenglShader Class Reference

Opengl Shader implementation. More...

#include <shader_gl.h>

Inheritance diagram for OpenglShader:
Shader

Public Member Functions

 OpenglShader ()=default
 
template<typename T >
GetValue (const std::string &name)
 
 OpenglShader (const std::string &vertex, const std::string &fragment)
 
void Bind () const override
 
void SetValue (const std::string &name, float value) override
 
void SetValue (const std::string &name, int value) override
 
void SetValue (const std::string &name, unsigned int value) override
 
void SetValue (const std::string &name, glm::mat4 value) override
 
void SetValue (const std::string &name, glm::vec2 value) override
 
void SetValue (const std::string &name, glm::vec3 value) override
 
void SetValue (const std::string &name, glm::vec4 value) override
 
void Destroy () override
 
unsigned int GetID () const override
 
bool IsValid () const override
 
- Public Member Functions inherited from Shader
 Shader ()=default
 
virtual ~Shader ()=default
 

Additional Inherited Members

- Protected Attributes inherited from Shader
unsigned int id
 
std::unordered_map< std::string, unsigned int > uniforms
 

Detailed Description

Opengl Shader implementation.

Version
0.0.9
Parameters
stringvertex The shader source
stringfragment The shader source

Constructor & Destructor Documentation

◆ OpenglShader() [1/2]

OpenglShader::OpenglShader ( )
default

◆ OpenglShader() [2/2]

OpenglShader::OpenglShader ( const std::string &  vertex,
const std::string &  fragment 
)

Member Function Documentation

◆ Bind()

void OpenglShader::Bind ( ) const
overridevirtual

Implements Shader.

◆ Destroy()

void OpenglShader::Destroy ( )
overridevirtual

Implements Shader.

◆ GetID()

unsigned int OpenglShader::GetID ( ) const
overridevirtual

Implements Shader.

◆ GetValue()

template<typename T >
T OpenglShader::GetValue ( const std::string &  name)
inline

◆ IsValid()

bool OpenglShader::IsValid ( ) const
overridevirtual

Implements Shader.

◆ SetValue() [1/7]

void OpenglShader::SetValue ( const std::string &  name,
float  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [2/7]

void OpenglShader::SetValue ( const std::string &  name,
glm::mat4  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [3/7]

void OpenglShader::SetValue ( const std::string &  name,
glm::vec2  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [4/7]

void OpenglShader::SetValue ( const std::string &  name,
glm::vec3  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [5/7]

void OpenglShader::SetValue ( const std::string &  name,
glm::vec4  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [6/7]

void OpenglShader::SetValue ( const std::string &  name,
int  value 
)
overridevirtual

Implements Shader.

◆ SetValue() [7/7]

void OpenglShader::SetValue ( const std::string &  name,
unsigned int  value 
)
overridevirtual

Implements Shader.


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