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.