23 constexpr const char*
AUDIO =
"audio";
24 constexpr const char*
BINARY =
"binary";
26 constexpr const char*
CUBEMAP =
"cubemap";
27 constexpr const char*
CSS =
"css";
28 constexpr const char*
FONT =
"font";
29 constexpr const char*
GSPLAT =
"gsplat";
30 constexpr const char*
JSON =
"json";
31 constexpr const char*
HTML =
"html";
33 constexpr const char*
MODEL =
"model";
34 constexpr const char*
RENDER =
"render";
35 constexpr const char*
SCRIPT =
"script";
36 constexpr const char*
SHADER =
"shader";
37 constexpr const char*
SPRITE =
"sprite";
39 constexpr const char*
TEXT =
"text";
40 constexpr const char*
TEXTURE =
"texture";
60 using Resource = std::variant<Texture*, ContainerResource*, FontResource*>;
79 const std::string&
name()
const {
return _name; }
80 const std::string&
type()
const {
return _type; }
81 const std::string&
file()
const {
return _file; }
101 std::function<
void(std::optional<Resource>)> callback);
104 static std::weak_ptr<GraphicsDevice> _defaultGraphicsDevice;
114 std::vector<Resource> _resources;
static void setDefaultGraphicsDevice(const std::shared_ptr< GraphicsDevice > &graphicsDevice)
const AssetData & data() const
void loadAsync(ResourceLoader &loader, std::function< void(std::optional< Resource >)> callback)
std::optional< Resource > resource()
Synchronous load — blocks until the resource is ready.
const std::string & type() const
Asset(const std::string &name, const std::string &type, const std::string &file, const AssetData &data={})
const std::string & file() const
const std::string & name() const
Abstract GPU interface for resource creation, state management, and draw submission.
Async resource loader with background I/O thread, pixel decoding, and main-thread callbacks.
constexpr const char * AUDIO
constexpr const char * CONTAINER
constexpr const char * SPRITE
constexpr const char * SCRIPT
constexpr const char * TEMPLATE
constexpr const char * JSON
constexpr const char * ANIMATION
constexpr const char * FONT
constexpr const char * CSS
constexpr const char * MODEL
constexpr const char * TEXT
constexpr const char * SHADER
constexpr const char * RENDER
constexpr const char * TEXTURE
constexpr const char * HTML
constexpr const char * GSPLAT
constexpr const char * BINARY
constexpr const char * TEXTUREATLAS
constexpr const char * CUBEMAP
constexpr const char * MATERIAL
constexpr const char * TEXTURETYPE_DEFAULT
constexpr const char * TEXTURETYPE_RGBE
constexpr const char * TEXTURETYPE_SWIZZLEGGGR
constexpr const char * TEXTURETYPE_RGBM
constexpr const char * TEXTURETYPE_RGBP
std::variant< Texture *, ContainerResource *, FontResource * > Resource