summaryrefslogtreecommitdiff
path: root/gfx/src/core/shader_program.h
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/src/core/shader_program.h')
-rw-r--r--gfx/src/core/shader_program.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/gfx/src/core/shader_program.h b/gfx/src/core/shader_program.h
new file mode 100644
index 0000000..1443663
--- /dev/null
+++ b/gfx/src/core/shader_program.h
@@ -0,0 +1,24 @@
1#pragma once
2
3#include <gfx/core.h>
4#include <gfx/sizes.h>
5
6#include "gl_util.h"
7
8#include <math/fwd.h>
9
10#include <stdbool.h>
11
12typedef struct Texture Texture;
13
14typedef struct ShaderProgram {
15 GLuint id;
16 ShaderUniform uniforms[GFX_MAX_UNIFORMS_PER_SHADER];
17 int num_uniforms;
18} ShaderProgram;
19
20/// Create a new shader program.
21bool gfx_build_shader_program(ShaderProgram*, const ShaderProgramDesc*);
22
23/// Destroy the shader program.
24void gfx_del_shader_program(ShaderProgram*);