Documenting done.

This commit is contained in:
2022-10-20 07:49:42 -07:00
parent 0033785251
commit 221e5ee1f1
19 changed files with 243 additions and 123 deletions

View File

@ -23,10 +23,14 @@ namespace Dawn {
GLuint shaderProgram = -1;
protected:
void compileShader(
std::string vertexShader,
std::string fragmentShader
);
/**
* Compiles a GLSL shader and stores it on the GPU, updates the underlying
* pointers for you.
*
* @param vertexShader The string source of the vertex shader.
* @param fragmentShader The string source of the fragment shader.
*/
void compileShader(std::string vertexShader, std::string fragmentShader);
public:
/**
@ -37,13 +41,21 @@ namespace Dawn {
*/
shaderparameter_t getParameterByName(std::string name);
void bind() override;
/**
* Method to request that this shader be compiled and put on the GPU. This
* method should call the protected compileShader method.
*/
virtual void compile() = 0;
void bind() override;
void setMatrix(shaderparameter_t parameter, glm::mat4 matrix) override;
void setBoolean(shaderparameter_t parameter, bool_t value) override;
void setColor(shaderparameter_t parameter, struct Color color) override;
void setVector3(shaderparameter_t parameter, glm::vec3 vector) override;
~Shader();
/**
* Destroys and deletes the shader from the GPU.
*/
virtual ~Shader();
};
}