Vulkan2D
2D renderer written in C using Vulkan and SDL2
|
Information needed to queue an asset loading off-thread. More...
#include <Structs.h>
Data Fields | ||
VK2DAssetType | type | |
Type of asset this is. | ||
VK2DAssetState | state | |
State this asset is in. | ||
union { | ||
struct { | ||
const char * filename | ||
Filename to pull from or filename of the vertex shader. | ||
const char * fragmentFilename | ||
Fragment shader filename. | ||
} | ||
struct { | ||
int size | ||
Data size or data size of the vertex shader. | ||
void * data | ||
Data to pull from or data for the vertex shader. | ||
int fragmentSize | ||
Fragment shader's size. | ||
void * fragmentData | ||
Fragment shader's data. | ||
} | ||
} | Load | |
Information needed to create the asset. | ||
union { | ||
struct { | ||
int uniformBufferSize | ||
Uniform buffer size of this shader. | ||
} Shader | ||
Information needed if this is a texture. | ||
struct { | ||
VK2DTexture * tex | ||
Texture to use for this model (pointer so the model's texture may be in the same list) | ||
} Model | ||
Information needed if this is a model. | ||
} | Data | |
Asset-specific information. | ||
union { | ||
VK2DShader * shader | ||
Pointer to where the output object will be placed. | ||
VK2DModel * model | ||
Pointer to where the output object will be placed. | ||
VK2DTexture * texture | ||
Pointer to where the output object will be placed. | ||
} | Output | |
How the user will receive the loaded asset. | ||
Information needed to queue an asset loading off-thread.