diff options
author | Vito Caputo <vcaputo@pengaru.com> | 2020-07-31 16:54:31 -0700 |
---|---|---|
committer | Vito Caputo <vcaputo@pengaru.com> | 2020-07-31 16:54:31 -0700 |
commit | 94de2291e005f1c646fd779e8d32b2820e22e071 (patch) | |
tree | 988bb9fde53a73edf948dd14fec07802a2f42406 /src/shader-node.h | |
parent | cd7e9ebd9675461f59d5f7a9c7c0a9a1a0536d12 (diff) |
*: initial implementation of pig
This is nothing to write home about, but it provides a little sandbox for
developing shader-generated textures in the spirit of shadertoy or the
demoscene tool bonzomatic.
It's more oriented towards developing shaders for use with libstage in
the small games I've been hacking on.
Diffstat (limited to 'src/shader-node.h')
-rw-r--r-- | src/shader-node.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/shader-node.h b/src/shader-node.h new file mode 100644 index 0000000..ae9b252 --- /dev/null +++ b/src/shader-node.h @@ -0,0 +1,14 @@ +#ifndef _SHADER_NODE_H +#define _SHADER_NODE_H + +typedef struct shader_t shader_t; +typedef struct stage_t stage_t; +typedef struct m4f_t m4f_t; + +typedef void (shader_node_uniforms_func_t)(shader_t *shader, void *uniforms_ctxt, void *render_ctxt, unsigned n_uniforms, const int *uniforms, const m4f_t *transform, float alpha); + +stage_t * shader_node_new_shader(const stage_conf_t *conf, shader_t *shader, const m4f_t *transform, shader_node_uniforms_func_t *uniforms_func, void *uniforms_ctxt); +stage_t * shader_node_new_src(const stage_conf_t *conf, const char *vs_src, const char *fs_src, const m4f_t *transform, shader_node_uniforms_func_t *uniforms_func, void *uniforms_ctxt, unsigned n_uniforms, const char **uniforms); +stage_t * shader_node_new_files(const stage_conf_t *conf, const char *vs_path, const char *fs_path, const m4f_t *transform, shader_node_uniforms_func_t *uniforms_func, void *uniforms_ctxt, unsigned n_uniforms, const char **uniforms); + +#endif |