41 OpenGLShader(
const std::string& vertexSrc,
const std::string& fragmentSrc);
55 OpenGLShader(
const std::string& vertexSrcFile,
const std::string& fragmentSrcFile, std::shared_ptr<UniformBufferObject> ubo,
56 const std::string& shaderName);
72 virtual void Bind()
const override;
82 virtual void Bind(
const std::string& texShaderName)
const override;
90 virtual void UnBind()
const override;
109 void Compile(
const std::unordered_map<GLenum, std::string>& shaderSources);
113 uint32_t m_RendererID;
114 std::shared_ptr<OpenGLUniformBuffer> m_UniformBufferObject;
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
This file contains various classes and functions for various Karma's utilities.
This file contains the Shader class.
virtual void Bind() const override
Binds the shader and uniform. Seems legacy.
Definition OpenGLShader.cpp:207
OpenGLShader(const std::string &vertexSrc, const std::string &fragmentSrc)
A constructor.
Definition OpenGLShader.cpp:8
virtual void UnBind() const override
Unbind the shader.
Definition OpenGLShader.cpp:220
void UploadUniformMat4(const std::string &name, const glm::mat4 &matrix)
A legacy uniform upload routine.
Definition OpenGLShader.cpp:225
Shader(std::shared_ptr< UniformBufferObject > ubo)
A constructor.
Definition Shader.h:31