Shader

Shader interface.

Overview

Typical use cases:

  • Defining OpenGL-specific shader implementations

Header

<RaeptorCogs/GAPI/GL/Ressources/Shader.hpp>

Metadata

Author

Estorc

Version

v1.0

Copyright

Copyright (c) 2025 Estorc MIT License.

Classes

Classes

Class

Description

RaeptorCogs::GAPI::GL::Shader

No description.

class Shader : public RaeptorCogs::GAPI::Common::Shader

Public Functions

Shader() = default

Default constructor.

virtual ~Shader() override = default

Virtual destructor.

virtual void build(const char *vertexSource, const char *fragmentSource) override

virtual void initialize() override

Initialize the shader object.

Initializes the OpenGL shader program.

Note

Overrides the pure virtual method from the base class.

virtual void bind() override

Bind the shader program for use.

Binds the OpenGL shader program.

Note

Overrides the pure virtual method from the base class.

virtual void unbind() const override

Unbind the shader program.

Unbinds the OpenGL shader program.

Note

Overrides the pure virtual method from the base class.

virtual void setBool(const std::string &name, bool value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setBool() const

virtual void setInt(const std::string &name, int value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setInt() const

virtual void setUInt(const std::string &name, unsigned int value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setUInt() const

virtual void setFloat(const std::string &name, float value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setFloat() const

virtual void setVec2(const std::string &name, const glm::vec2 &value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setVec2() const

virtual void setVec3(const std::string &name, const glm::vec3 &value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setVec3() const

virtual void setVec4(const std::string &name, const glm::vec4 &value) const override

See also

RaeptorCogs::GAPI::Common::Shader::setVec4() const

virtual void setMat2(const std::string &name, const glm::mat2 &mat) const override

See also

RaeptorCogs::GAPI::Common::Shader::setMat2() const

virtual void setMat3(const std::string &name, const glm::mat3 &mat) const override

See also

RaeptorCogs::GAPI::Common::Shader::setMat3() const

virtual void setMat4(const std::string &name, const glm::mat4 &mat) const override

See also

RaeptorCogs::GAPI::Common::Shader::setMat4() const

Functions

Functions

Function

Description

RaeptorCogs::GAPI::GL::REGISTER(Common::Shader, Shader)

Register Shader with the FactoryRegistry.

RaeptorCogs::GAPI::GL::REGISTER(Common::Shader, Shader)

Register Shader with the FactoryRegistry.