Raito 0.1
Loading...
Searching...
No Matches
Raito::Renderer::OpenGL::OpenGLShader Class Referencefinal

#include <OpenGLShader.h>

Inheritance diagram for Raito::Renderer::OpenGL::OpenGLShader:
Collaboration diagram for Raito::Renderer::OpenGL::OpenGLShader:

Public Member Functions

 OpenGLShader (u32 id)
 
virtual ~OpenGLShader ()
 
 DEFAULT_MOVE_AND_COPY (OpenGLShader)
 
void Bind () const
 
void UnBind () const
 
template<typename T >
void SetUniform (u32 id, T value)
 
template<typename T >
void SetUniformRef (u32 id, const T &value)
 
template<typename T >
void SetUniform (const char *uniformName, T value)
 
template<typename T >
void SetUniformRef (const char *uniformName, const T &value)
 
NODISCARD OpenGLShaderType ShaderType () const
 
NODISCARD size_t UniformCount () const
 
NODISCARD size_t AttributeCount () const
 
NODISCARD const std::unordered_map< std::string, ShaderValue > & Uniforms () const
 
NODISCARD const std::unordered_map< std::string, ShaderValue > & Attributes () const
 
NODISCARD u32 Id () const
 
NODISCARD GLint GetUniformLocation (const std::string &uniformName) const
 
NODISCARD GLint GetUniformLocation (const char *uniformName) const
 
template<>
void SetUniform (u32 id, bool value)
 
template<>
void SetUniform (u32 id, i32 value)
 
template<>
void SetUniform (u32 id, u32 value)
 
template<>
void SetUniform (u32 id, float value)
 
template<>
void SetUniformRef (u32 id, const Iv2 &value)
 
template<>
void SetUniformRef (u32 id, const V2 &value)
 
template<>
void SetUniformRef (u32 id, const V3 &value)
 
template<>
void SetUniformRef (u32 id, const V4 &value)
 
template<>
void SetUniformRef (u32 id, const Mat3 &value)
 
template<>
void SetUniformRef (u32 id, const Mat4 &value)
 
- Public Member Functions inherited from Raito::Renderer::Shader
 Shader ()
 
virtual ~Shader ()
 
NODISCARD EngineShader EngineType () const
 
NODISCARD std::string FilePath () const
 

Friends

u32 ShaderCompiler::CompileShader (const ShaderFileData &)
 

Additional Inherited Members

- Protected Attributes inherited from Raito::Renderer::Shader
std::filesystem::path m_FilePath
 
EngineShader m_EngineType
 

Constructor & Destructor Documentation

◆ OpenGLShader()

Raito::Renderer::OpenGL::OpenGLShader::OpenGLShader ( u32 id)

◆ ~OpenGLShader()

Raito::Renderer::OpenGL::OpenGLShader::~OpenGLShader ( )
virtual

Member Function Documentation

◆ AttributeCount()

NODISCARD size_t Raito::Renderer::OpenGL::OpenGLShader::AttributeCount ( ) const
inline

◆ Attributes()

NODISCARD const std::unordered_map< std::string, ShaderValue > & Raito::Renderer::OpenGL::OpenGLShader::Attributes ( ) const
inline

◆ Bind()

void Raito::Renderer::OpenGL::OpenGLShader::Bind ( ) const

◆ DEFAULT_MOVE_AND_COPY()

Raito::Renderer::OpenGL::OpenGLShader::DEFAULT_MOVE_AND_COPY ( OpenGLShader )

◆ GetUniformLocation() [1/2]

NODISCARD GLint Raito::Renderer::OpenGL::OpenGLShader::GetUniformLocation ( const char * uniformName) const
inline

◆ GetUniformLocation() [2/2]

NODISCARD GLint Raito::Renderer::OpenGL::OpenGLShader::GetUniformLocation ( const std::string & uniformName) const
inline

◆ Id()

NODISCARD u32 Raito::Renderer::OpenGL::OpenGLShader::Id ( ) const
inline

◆ SetUniform() [1/6]

template<typename T >
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( const char * uniformName,
T value )
inline

◆ SetUniform() [2/6]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( u32 id,
bool value )
inline

◆ SetUniform() [3/6]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( u32 id,
float value )
inline

◆ SetUniform() [4/6]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( u32 id,
i32 value )
inline

◆ SetUniform() [5/6]

template<typename T >
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( u32 id,
T value )
inline

◆ SetUniform() [6/6]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniform ( u32 id,
u32 value )
inline

◆ SetUniformRef() [1/8]

template<typename T >
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( const char * uniformName,
const T & value )
inline

◆ SetUniformRef() [2/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const Iv2 & value )
inline

◆ SetUniformRef() [3/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const Mat3 & value )
inline

◆ SetUniformRef() [4/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const Mat4 & value )
inline

◆ SetUniformRef() [5/8]

template<typename T >
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const T & value )
inline

◆ SetUniformRef() [6/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const V2 & value )
inline

◆ SetUniformRef() [7/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const V3 & value )
inline

◆ SetUniformRef() [8/8]

template<>
void Raito::Renderer::OpenGL::OpenGLShader::SetUniformRef ( u32 id,
const V4 & value )
inline

◆ ShaderType()

NODISCARD OpenGLShaderType Raito::Renderer::OpenGL::OpenGLShader::ShaderType ( ) const
inline

◆ UnBind()

void Raito::Renderer::OpenGL::OpenGLShader::UnBind ( ) const

◆ UniformCount()

NODISCARD size_t Raito::Renderer::OpenGL::OpenGLShader::UniformCount ( ) const
inline

◆ Uniforms()

NODISCARD const std::unordered_map< std::string, ShaderValue > & Raito::Renderer::OpenGL::OpenGLShader::Uniforms ( ) const
inline

Friends And Related Symbol Documentation

◆ ShaderCompiler::CompileShader


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