#ifndef LEDDA_SHADER_H #define LEDDA_SHADER_H #include "../lib/raymath.h" #include "../lib/djstdlib/core.h" typedef struct { uint32 progId; } Shader; Shader createShader(string vertex_path, string fragment_path); void setUniformMat4fv(Shader *s, const char *uniformName, Matrix *matrix); void setUniformMat4fvByLoc(int uniformLocation, Matrix *matrix); void setUniform4fv(Shader *s, const char *uniformName, RLVector4 *vector); void setUniform4fvByLoc(int uniformLocation, RLVector4 *vector); void setUniform3fv(Shader *s, const char *uniformName, RLVector3 *vector); void setUniform3fvByLoc(int uniformLocation, RLVector3 *vector); void setUniform2fv(Shader *s, const char *uniformName, RLVector2 *vector); void setUniform2fvByLoc(int uniformLocation, RLVector2 *vector); void setUniform1i(Shader *s, const char *uniformName, int32 i); void setUniform1iByLoc(int uniformLocation, int32 i); int getUniformLocation(Shader *s, const char *uniformName); #endif