summaryrefslogtreecommitdiff
path: root/in_practice/breakout/shader.h
blob: 19c30441c17749ea2c341dabcd5a7300a8c26c7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef SHADER_H
#define SHADER_H

#include "my_math.h"

typedef struct {
	u32 id;
	const char *name;
} shader_t;

#define MAX_SHADERS 8
extern shader_t shaders[MAX_SHADERS];

extern u32 load_shader(const char *dir, const char *vertex_filename, const char *fragment_filename, const char *geometry_filename, const char *name);
extern u32 get_shader(const char *name);
extern void uniform_f32(u32 id, const char *name, f32 v);
extern void uniform_v3(u32 id, const char *name, v3 v);
extern void uniform_mat(u32 id, const char *name, mat m);

#endif