diff options
| author | tech kaczynski <tk@techkaczynski.dev> | 2026-09-22 22:38:57 +1000 |
|---|---|---|
| committer | tech kaczynski <tk@techkaczynski.dev> | 2026-09-22 22:38:57 +1000 |
| commit | 08cb8d6a585dd552b69a488d9db1be123f01467a (patch) | |
| tree | 77d50ce30bbc102b08486929ba654b5bef70af43 /res.h | |
initial commit.
Diffstat (limited to 'res.h')
| -rw-r--r-- | res.h | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +#ifndef RES_H +#define RES_H + +#include "common.h" + +typedef struct { + Shader sdr; + map_t(int) uniforms; +} FunShader; + +typedef enum { + ASSET_TAG_INVALID, + ASSET_TAG_MODEL, + ASSET_TAG_TEXTURE, + ASSET_TAG_SOUND, + ASSET_TAG_FONT, +} AssetTag; + +typedef struct { + AssetTag tag; + union { + Model mdl; + Texture tex; + Sound snd; + Font fnt; + }; + char *path; + u32 path_strlen, ref_cnt; + bool loaded; +} Asset; + +void res_init(void); +void res_exit(void); +void res_update(void); + +Asset* asset_get(cstr key); +FunShader* shader_get(cstr key); + +void fun_shader_create(cstr key, cstr vpath, cstr fpath); +void fun_shader_delete(FunShader*); +int fun_shader_uniform(cstr skey, cstr ukey); + +#endif |
