|
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.