Files
evol-mod-assetmanager/meta/evmod.types
2021-07-09 05:00:38 +02:00

63 lines
1.1 KiB
Plaintext

TYPE(AssetHandle, GenericHandle)
/* #include LOADERS_TYPES_H */
TYPE(TextAsset, struct {
evstring text;
})
TYPE(JSONAsset, struct {
PTR json_data;
})
TYPE(MeshAsset, struct {
uint32_t vertexBuferSize;
uint32_t vertexCount;
float *vertexData;
uint32_t indexBuferSize;
uint32_t indexCount;
uint32_t *indexData;
})
typedef enum {
EV_IMAGEFORMAT_R8G8B8_SRGB,
EV_IMAGEFORMAT_R8G8B8_UNORM,
EV_IMAGEFORMAT_R8G8B8A8_SRGB,
EV_IMAGEFORMAT_R8G8B8A8_UNORM,
EV_IMAGEFORMAT_R32G32B32A32_SFLOAT,
EV_IMAGEFORMAT_INVALID
} EvImageFormat;
TYPE(ImageAsset, struct {
uint32_t bufferSize;
uint32_t width;
uint32_t height;
EvImageFormat format;
PTR data;
})
TYPE(ShaderAssetStage, enum {
EV_SHADERASSETSTAGE_VERTEX,
EV_SHADERASSETSTAGE_FRAGMENT,
EV_SHADERASSETSTAGE_COMPUTE,
EV_SHADERASSETSTAGE_GEOMETRY,
EV_SHADERASSETSTAGE_DETECT,
EV_SHADERASSETSTAGE_COUNT
})
TYPE(CompiledShaderType, enum {
EV_SHADER_ASM,
EV_SHADER_BIN
})
TYPE(ShaderAsset, struct {
PTR binary;
U64 len;
GenericHandle internal_handle;
CompiledShaderType type;
})