diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-02-19 07:14:06 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-02-19 07:18:45 +0000 |
| commit | b0bfd3cf610fdf243503447f6ad9fa19de502365 (patch) | |
| tree | a519569bb12219f685c32427972da67ee345ff82 /src/resources/include/engine | |
| parent | bfe5cc29b1f31fe4921264a96a58607c836ee516 (diff) | |
Add texture loading
Diffstat (limited to 'src/resources/include/engine')
| -rw-r--r-- | src/resources/include/engine/resources.h | 16 | ||||
| -rw-r--r-- | src/resources/include/engine/resources/texture.h | 10 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/resources/include/engine/resources.h b/src/resources/include/engine/resources.h index fe78a7d..707bbde 100644 --- a/src/resources/include/engine/resources.h +++ b/src/resources/include/engine/resources.h @@ -65,8 +65,8 @@ typedef struct { typedef struct { enum Asset type; const char* path; - i32 width; - i32 height; + /* Bits per component, set to zero if you don't want to change the format. */ + i32 bpc; } Asset_TextureSpec; typedef union { @@ -90,21 +90,25 @@ typedef struct { /* Loaded assets */ usize shader_len; Shader* shader; + + usize texture_len; + Texture* texture; } Resources; #define TextureDefinition(_path, ...) unimplemented #define Resource_AudioDefinition(_path, ...) unimplemented -#define Declare_Shader(_path) (const asset_t){.shader = {.type = Asset_shader, .path=_path}} +#define Declare_Shader(PATH) (const asset_t){.shader = {.type = Asset_shader, .path=PATH}} #define Declare_ShaderProgram(SHADERS, NUMSHADERS) (const asset_t){.shaderprog = {.type = Asset_shaderprog, .shader=SHADERS, .shader_len=NUMSHADERS}} +#define Declare_Texture(PATH) (const asset_t){.texture = {.type = Asset_texture, .path=PATH, .bpc=0}} void* get_asset(Resources* r, u32 idx); /* Each of resource_load_font, resource_load_texture, and resource_load_audio * loads a given resource into the engines memory and returns an identifier. */ -isize resource_load_font(Asset_FontSpec font_def); -isize resource_load_texture(Asset_TextureSpec texture_def); -isize resource_load_audio(Asset_AudioSpec audio_def); +//isize resource_load_font(Asset_FontSpec font_def); +//isize resource_load_texture(Asset_TextureSpec texture_def); +//isize resource_load_audio(Asset_AudioSpec audio_def); // Loads all resources specified in `assets` and populates corresponding // resources members. diff --git a/src/resources/include/engine/resources/texture.h b/src/resources/include/engine/resources/texture.h index 979dd25..9f533d6 100644 --- a/src/resources/include/engine/resources/texture.h +++ b/src/resources/include/engine/resources/texture.h @@ -6,14 +6,10 @@ extern "C" { #endif #include <engine/core/types.h> +#include <engine/resources.h> +#include <engine/rendering/rendering.h> -typedef struct { - const i32 tilesize; - const i32 width; - const i32 height; -} Texture; - -Texture* load_texture(void* render, const Asset_TextureSpec* ts); +Texture load_texture(const Asset_TextureSpec *restrict ts); #ifdef __cplusplus } |
