From bd57f345ed9dbed1d81683e48199626de2ea9044 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 27 Jun 2025 10:18:39 -0700 Subject: Restructure project --- src/asset/asset_cache.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/asset/asset_cache.h (limited to 'src/asset/asset_cache.h') diff --git a/src/asset/asset_cache.h b/src/asset/asset_cache.h new file mode 100644 index 0000000..b2a35ed --- /dev/null +++ b/src/asset/asset_cache.h @@ -0,0 +1,37 @@ +#pragma once + +#include + +#include +#include + +typedef struct Model Model; +typedef struct Texture Texture; + +typedef uint64_t Hash; + +typedef enum AssetType { + ModelAsset, + TextureAsset, +} AssetType; + +typedef struct Asset { + AssetType type; + Hash hash; + union { + Model* model; + const Texture* texture; + }; +} Asset; + +DEF_MEMPOOL(asset_pool, Asset, GFX_MAX_NUM_ASSETS) + +typedef struct AssetCache { + asset_pool assets; +} AssetCache; + +/// Create a new asset cache. +void gfx_init_asset_cache(AssetCache*); + +/// Destroy the asset cache. +void gfx_destroy_asset_cache(AssetCache*); -- cgit v1.2.3