32 lines
705 B
C
32 lines
705 B
C
//
|
|
// Created by Tristan on 10/16/2025.
|
|
//
|
|
|
|
#ifndef SHADER_H
|
|
#define SHADER_H
|
|
|
|
#include <glad/glad.h>
|
|
#include <string.h>
|
|
|
|
typedef struct {
|
|
// Reference ID of the shader program
|
|
GLuint ID;
|
|
// Location of the camera matrix uniform, set at creation
|
|
GLint camMatrixLocation;
|
|
GLint modelMatrixLocation;
|
|
} Shader;
|
|
|
|
char *get_file_contents(const char *filename);
|
|
|
|
Shader shader_create(const char *vertexFile, const char *fragmentFile);
|
|
|
|
// Takes a pointer to the instance
|
|
void shader_activate(Shader *self);
|
|
void shader_delete(Shader *self);
|
|
|
|
// Private helper on shaderClass.h C++ header -- no private in C :)
|
|
void compile_errors(unsigned int shader, const char *type);
|
|
|
|
|
|
#endif //SHADER_H
|