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

Opengl Shader implementation. More...

#include <shader_gl.h>

Inheritance diagram for OpenglShader:
Shader

Public Member Functions

 OpenglShader ()=default
 
template<typename T >
get_value (const std::string &name)
 
 OpenglShader (const std::string &vertex, const std::string &fragment)
 
void bind () const override
 
void set_value (const std::string &name, float value) override
 
void set_value (const std::string &name, int value) override
 
void set_value (const std::string &name, unsigned int value) override
 
void set_value (const std::string &name, glm::mat4 value, Uint32 count=1) override
 
void set_value (const std::string &name, const int *value, Uint32 count=1) override
 
void set_value (const std::string &name, const float *value, Uint32 count=1) override
 
void set_value (const std::string &name, glm::vec2 value, Uint32 count=1) override
 
void set_value (const std::string &name, glm::vec3 value, Uint32 count=1) override
 
void set_value (const std::string &name, glm::vec4 value, Uint32 count=1) override
 
void destroy () override
 
unsigned int get_id () const override
 
bool is_valid () const override
 
- Public Member Functions inherited from Shader
 Shader ()=default
 
virtual ~Shader ()=default
 

Additional Inherited Members

- Protected Attributes inherited from Shader
unsigned int id = 0
 
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.

◆ get_id()

unsigned int OpenglShader::get_id ( ) const
overridevirtual

Implements Shader.

◆ get_value()

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

◆ is_valid()

bool OpenglShader::is_valid ( ) const
overridevirtual

Implements Shader.

◆ set_value() [1/9]

void OpenglShader::set_value ( const std::string &  name,
const float *  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [2/9]

void OpenglShader::set_value ( const std::string &  name,
const int *  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [3/9]

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

Implements Shader.

◆ set_value() [4/9]

void OpenglShader::set_value ( const std::string &  name,
glm::mat4  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [5/9]

void OpenglShader::set_value ( const std::string &  name,
glm::vec2  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [6/9]

void OpenglShader::set_value ( const std::string &  name,
glm::vec3  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [7/9]

void OpenglShader::set_value ( const std::string &  name,
glm::vec4  value,
Uint32  count = 1 
)
overridevirtual

Implements Shader.

◆ set_value() [8/9]

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

Implements Shader.

◆ set_value() [9/9]

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

Implements Shader.


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