Shader

Shader interface.

Overview

Typical use cases:

  • Defining Vulkan-specific shader implementations

Header

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

Metadata

Author

Estorc

Version

v1.0

Copyright

Copyright (c) 2025 Estorc MIT License.

Classes

Classes

Class

Description

RaeptorCogs::GAPI::Vulkan::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.

Initializes the Vulkan shader modules.

virtual void bind() override

Bind the shader for use.

Binds the Vulkan shader program.

virtual void unbind() const override

Unbind the shader.

Unbinds the Vulkan shader program.

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

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

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

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

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

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

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

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

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

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

Functions

Functions

Function

Description

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

Register Shader with the FactoryRegistry.

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

Register Shader with the FactoryRegistry.