31 lines
972 B
C
31 lines
972 B
C
#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
|