Files
djstdlib/gfx/Shader.h
2026-06-04 18:22:30 +02:00

31 lines
946 B
C

#ifndef DJSTDLIB_GFX_SHADER_H
#define DJSTDLIB_GFX_SHADER_H
#include "../vendor/raymath.h"
#include "../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, Vec4 *vector);
void setUniform4fvByLoc(int uniformLocation, Vec4 *vector);
void setUniform3fv(Shader *s, const char *uniformName, Vec3 *vector);
void setUniform3fvByLoc(int uniformLocation, Vec3 *vector);
void setUniform2fv(Shader *s, const char *uniformName, Vec2 *vector);
void setUniform2fvByLoc(int uniformLocation, Vec2 *vector);
void setUniform1i(Shader *s, const char *uniformName, int32 i);
void setUniform1iByLoc(int uniformLocation, int32 i);
int getUniformLocation(Shader *s, const char *uniformName);
#endif