SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
Sleak::RenderEngine::OpenGLShader Class Reference

GLSL shader program compiled from either a combined source file or separate vertex/fragment files. More...

#include <OpenGLShader.hpp>

Inheritance diagram for Sleak::RenderEngine::OpenGLShader:

Public Member Functions

 OpenGLShader ()
 ~OpenGLShader () override
void bind () override
 Binds this program as the active shader for subsequent draws.
bool compile (const std::string &shaderPath) override
 Splits a combined shader file into vertex/fragment stages and links them.
bool compile (const std::string &vert, const std::string &frag) override
 Compiles and links separate vertex and fragment shader files.
GLuint GetProgram () const
Public Member Functions inherited from Sleak::RenderEngine::Shader
virtual ~Shader ()=default

Detailed Description

GLSL shader program compiled from either a combined source file or separate vertex/fragment files.

Definition at line 11 of file OpenGLShader.hpp.

Constructor & Destructor Documentation

◆ OpenGLShader()

Sleak::RenderEngine::OpenGLShader::OpenGLShader ( )

Definition at line 9 of file OpenGLShader.cpp.

◆ ~OpenGLShader()

Sleak::RenderEngine::OpenGLShader::~OpenGLShader ( )
override

Definition at line 11 of file OpenGLShader.cpp.

Member Function Documentation

◆ bind()

void Sleak::RenderEngine::OpenGLShader::bind ( )
overridevirtual

Binds this program as the active shader for subsequent draws.

Implements Sleak::RenderEngine::Shader.

Definition at line 73 of file OpenGLShader.cpp.

◆ compile() [1/2]

bool Sleak::RenderEngine::OpenGLShader::compile ( const std::string & shaderPath)
overridevirtual

Splits a combined shader file into vertex/fragment stages and links them.

Implements Sleak::RenderEngine::Shader.

Definition at line 18 of file OpenGLShader.cpp.

◆ compile() [2/2]

bool Sleak::RenderEngine::OpenGLShader::compile ( const std::string & vert,
const std::string & frag )
overridevirtual

Compiles and links separate vertex and fragment shader files.

Implements Sleak::RenderEngine::Shader.

Definition at line 28 of file OpenGLShader.cpp.

◆ GetProgram()

GLuint Sleak::RenderEngine::OpenGLShader::GetProgram ( ) const
inline

Definition at line 22 of file OpenGLShader.hpp.