Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
asset_manager.h
Go to the documentation of this file.
1#ifndef ASSET_MANAGER_H
2#define ASSET_MANAGER_H
3
4#include <stdbool.h>
5#include <stdint.h>
6
7/* Centralisation stricte des chemins racine */
8#define ASSET_DIR_HDR "assets/textures/hdr"
9// non utilisée, il y a des traces de `shaders/` un peu partout !
10// principalement présents dans les calls de `shader_load(...)`,
11// `shader_load_compute_program(...)`, `shader_load_with_defines(...)`
12#define ASSET_DIR_SHADERS "shaders"
13// n'existe pas
14#define ASSET_DIR_MODELS "assets/models"
15
16/* Enumération universelle des types de ressources pris en charge */
17typedef enum {
21 /* Futur : ASSET_TYPE_MODEL_OBJ, etc. */
23
24/* Flags (Bitmask) pour catégoriser les capacités des formats */
25typedef enum {
27 ASSET_FLAG_HDR_CAPABLE = (1U << 0U), /* Utilisable pour l'IBL/Skybox */
28 ASSET_FLAG_COMPRESSED = (1U << 1U) /* Supporte la compression GPU */
30
31/* Poignée standardisée circulant dans le moteur */
32typedef struct {
33 char full_path[512];
34 char filename[256];
36 uint32_t flags;
38
39/* API Publique */
40
45bool asset_resolve_path(const char* base_dir, const char* filename,
46 AssetHandle* out_handle);
47
52bool asset_has_flag(const char* filename, uint32_t flag);
53
54#endif /* ASSET_MANAGER_H */
AssetType
Definition asset_manager.h:17
@ ASSET_TYPE_UNKNOWN
Definition asset_manager.h:18
@ ASSET_TYPE_TEXTURE_KTX
Definition asset_manager.h:20
@ ASSET_TYPE_TEXTURE_STB
Definition asset_manager.h:19
bool asset_resolve_path(const char *base_dir, const char *filename, AssetHandle *out_handle)
Tente de résoudre un fichier en une ressource reconnue.
Definition asset_manager.c:46
AssetFlags
Definition asset_manager.h:25
@ ASSET_FLAG_COMPRESSED
Definition asset_manager.h:28
@ ASSET_FLAG_NONE
Definition asset_manager.h:26
@ ASSET_FLAG_HDR_CAPABLE
Definition asset_manager.h:27
bool asset_has_flag(const char *filename, uint32_t flag)
Vérifie si un fichier correspond à un flag spécifique (ex: ASSET_FLAG_HDR_CAPABLE)
Definition asset_manager.c:71
Definition asset_manager.h:32
uint32_t flags
Definition asset_manager.h:36
AssetType type
Definition asset_manager.h:35