|
Kohi Game Engine
|
#include "core_render_types.h"#include "defines.h"#include "identifiers/identifier.h"#include "math/math_types.h"#include "parsers/kson_parser.h"#include "strings/kname.h"Go to the source code of this file.
Data Structures | |
| struct | binary_asset_header |
| The primary header for binary assets, to be used for serialization. This should be the first member of the asset-specific binary file header. NOTE: Binary asset headers should be 32-bit aligned. More... | |
| struct | kasset_importer |
| Represents the interface point for an importer. More... | |
| struct | kasset_metadata |
| Various metadata included with the asset. More... | |
| struct | kasset |
| a structure meant to be included as the first member in the struct of all asset types for quick casting purposes. More... | |
| struct | kasset_heightmap_terrain |
| struct | kasset_image |
| struct | kasset_material |
| struct | kasset_text |
| struct | kasset_binary |
| struct | kasset_kson |
| struct | kasset_shader_stage |
| struct | kasset_shader_attribute |
| struct | kasset_shader_pipeline |
| struct | kasset_shader_attachment |
| struct | kasset_shader |
| Represents a shader asset, typically loaded from disk. More... | |
| struct | kasset_system_font_face |
| struct | kasset_system_font |
| struct | kasset_bitmap_font_glyph |
| struct | kasset_bitmap_font_kerning |
| struct | kasset_bitmap_font_page |
| struct | kasset_bitmap_font |
| struct | kasset_audio |
| struct | kasset_model_key_vec3 |
| struct | kasset_model_key_quat |
| struct | kasset_model_channel |
| struct | kasset_model_animation |
| struct | kasset_model_bone |
| struct | kasset_model_node |
| struct | kasset_model_submesh_data |
| struct | kasset_model |
Macros | |
| #define | ASSET_MAGIC 0xDECAFBAD |
| A magic number indicating the file as a kohi binary asset file. More... | |
| #define | KASSET_TYPE_MAX_LENGTH 64 |
| #define | KASSET_NAME_MAX_LENGTH 256 |
| #define | KPACKAGE_NAME_MAX_LENGTH 128 |
| #define | KASSET_FULLY_QUALIFIED_NAME_MAX_LENGTH = (KPACKAGE_NAME_MAX_LENGTH + KASSET_TYPE_MAX_LENGTH + KASSET_NAME_MAX_LENGTH + 2) |
| #define | KASSET_TYPE_NAME_HEIGHTMAP_TERRAIN "HeightmapTerrain" |
| #define | KASSET_TYPE_NAME_IMAGE "Image" |
| #define | KASSET_TYPE_NAME_MATERIAL "Material" |
| #define | KASSET_TYPE_NAME_TEXT "Text" |
| #define | KASSET_TYPE_NAME_BINARY "Binary" |
| #define | KASSET_TYPE_NAME_KSON "Kson" |
| #define | KASSET_TYPE_NAME_SHADER "Shader" |
| #define | KASSET_TYPE_NAME_SYSTEM_FONT "SystemFont" |
| #define | KASSET_TYPE_NAME_BITMAP_FONT "BitmapFont" |
| #define | KASSET_TYPE_NAME_AUDIO "Audio" |
| #define | KASSET_TYPE_NAME_MODEL "Model" |
| #define | KASSET_MODEL_CURRENT_VERSION 1 |
Typedefs | |
| typedef enum kasset_type | kasset_type |
| typedef struct binary_asset_header | binary_asset_header |
| The primary header for binary assets, to be used for serialization. This should be the first member of the asset-specific binary file header. NOTE: Binary asset headers should be 32-bit aligned. More... | |
| typedef enum asset_request_result | asset_request_result |
| typedef void(* | PFN_kasset_on_result) (asset_request_result result, const struct kasset *asset, void *listener_inst) |
| A function pointer typedef to be used to provide the asset asset_system with a calback function when asset loading is complete or failed. This process is asynchronus. More... | |
| typedef void(* | PFN_kasset_on_hot_reload) (const struct vfs_asset_data *asset_data, const struct kasset *asset) |
| A function pointer typedef to be used to provide the asset system with a callback function when an asset is written to on-disk (i.e. a hot-reload). This process is synchronous. More... | |
| typedef b8(* | PFN_kasset_importer_import) (const struct kasset_importer *self, u64 data_size, const void *data, void *params, struct kasset *out_asset) |
| Imports an asset according to the provided params and the importer's internal logic. NOTE: Some importers (i.e. .obj for static meshes) can also trigger imports of other assets. Those assets are immediately serialized to disk/package and not returned here though. More... | |
| typedef struct kasset_importer | kasset_importer |
| Represents the interface point for an importer. More... | |
| typedef struct kasset_metadata | kasset_metadata |
| Various metadata included with the asset. More... | |
| typedef struct kasset | kasset |
| a structure meant to be included as the first member in the struct of all asset types for quick casting purposes. More... | |
| typedef struct kasset_heightmap_terrain | kasset_heightmap_terrain |
| typedef struct kasset_image | kasset_image |
| typedef struct kasset_material | kasset_material |
| typedef struct kasset_text | kasset_text |
| typedef struct kasset_binary | kasset_binary |
| typedef struct kasset_kson | kasset_kson |
| typedef struct kasset_shader_stage | kasset_shader_stage |
| typedef struct kasset_shader_attribute | kasset_shader_attribute |
| typedef struct kasset_shader_pipeline | kasset_shader_pipeline |
| typedef struct kasset_shader_attachment | kasset_shader_attachment |
| typedef struct kasset_shader | kasset_shader |
| Represents a shader asset, typically loaded from disk. More... | |
| typedef struct kasset_system_font_face | kasset_system_font_face |
| typedef struct kasset_system_font | kasset_system_font |
| typedef struct kasset_bitmap_font_glyph | kasset_bitmap_font_glyph |
| typedef struct kasset_bitmap_font_kerning | kasset_bitmap_font_kerning |
| typedef struct kasset_bitmap_font_page | kasset_bitmap_font_page |
| typedef struct kasset_bitmap_font | kasset_bitmap_font |
| typedef struct kasset_audio | kasset_audio |
| typedef struct kasset_model_key_vec3 | kasset_model_key_vec3 |
| typedef struct kasset_model_key_quat | kasset_model_key_quat |
| typedef struct kasset_model_channel | kasset_model_channel |
| typedef struct kasset_model_animation | kasset_model_animation |
| typedef struct kasset_model_bone | kasset_model_bone |
| typedef struct kasset_model_node | kasset_model_node |
| typedef enum kasset_model_mesh_type | kasset_model_mesh_type |
| typedef struct kasset_model_submesh_data | kasset_model_submesh_data |
| typedef struct kasset_model | kasset_model |
| #define ASSET_MAGIC 0xDECAFBAD |
A magic number indicating the file as a kohi binary asset file.
| #define KASSET_FULLY_QUALIFIED_NAME_MAX_LENGTH = (KPACKAGE_NAME_MAX_LENGTH + KASSET_TYPE_MAX_LENGTH + KASSET_NAME_MAX_LENGTH + 2) |
| #define KASSET_MODEL_CURRENT_VERSION 1 |
| #define KASSET_NAME_MAX_LENGTH 256 |
| #define KASSET_TYPE_MAX_LENGTH 64 |
| #define KASSET_TYPE_NAME_AUDIO "Audio" |
| #define KASSET_TYPE_NAME_BINARY "Binary" |
| #define KASSET_TYPE_NAME_BITMAP_FONT "BitmapFont" |
| #define KASSET_TYPE_NAME_HEIGHTMAP_TERRAIN "HeightmapTerrain" |
| #define KASSET_TYPE_NAME_IMAGE "Image" |
| #define KASSET_TYPE_NAME_KSON "Kson" |
| #define KASSET_TYPE_NAME_MATERIAL "Material" |
| #define KASSET_TYPE_NAME_MODEL "Model" |
| #define KASSET_TYPE_NAME_SHADER "Shader" |
| #define KASSET_TYPE_NAME_SYSTEM_FONT "SystemFont" |
| #define KASSET_TYPE_NAME_TEXT "Text" |
| #define KPACKAGE_NAME_MAX_LENGTH 128 |
| typedef enum asset_request_result asset_request_result |
| typedef struct binary_asset_header binary_asset_header |
The primary header for binary assets, to be used for serialization. This should be the first member of the asset-specific binary file header. NOTE: Binary asset headers should be 32-bit aligned.
a structure meant to be included as the first member in the struct of all asset types for quick casting purposes.
| typedef struct kasset_audio kasset_audio |
Represents a Kohi Audio asset.
| typedef struct kasset_binary kasset_binary |
| typedef struct kasset_bitmap_font kasset_bitmap_font |
| typedef struct kasset_bitmap_font_glyph kasset_bitmap_font_glyph |
| typedef struct kasset_bitmap_font_kerning kasset_bitmap_font_kerning |
| typedef struct kasset_bitmap_font_page kasset_bitmap_font_page |
| typedef struct kasset_heightmap_terrain kasset_heightmap_terrain |
| typedef struct kasset_image kasset_image |
| typedef struct kasset_importer kasset_importer |
Represents the interface point for an importer.
| typedef struct kasset_kson kasset_kson |
| typedef struct kasset_material kasset_material |
| typedef struct kasset_metadata kasset_metadata |
Various metadata included with the asset.
| typedef struct kasset_model kasset_model |
Represents a Kohi Model asset. A model can contain mesh data (i.e. vertices/indices), bone, node, and animation data.
| typedef struct kasset_model_animation kasset_model_animation |
| typedef struct kasset_model_bone kasset_model_bone |
| typedef struct kasset_model_channel kasset_model_channel |
| typedef struct kasset_model_key_quat kasset_model_key_quat |
| typedef struct kasset_model_key_vec3 kasset_model_key_vec3 |
| typedef enum kasset_model_mesh_type kasset_model_mesh_type |
| typedef struct kasset_model_node kasset_model_node |
| typedef struct kasset_model_submesh_data kasset_model_submesh_data |
| typedef struct kasset_shader kasset_shader |
Represents a shader asset, typically loaded from disk.
| typedef struct kasset_shader_attachment kasset_shader_attachment |
| typedef struct kasset_shader_attribute kasset_shader_attribute |
| typedef struct kasset_shader_pipeline kasset_shader_pipeline |
| typedef struct kasset_shader_stage kasset_shader_stage |
| typedef struct kasset_system_font kasset_system_font |
| typedef struct kasset_system_font_face kasset_system_font_face |
| typedef struct kasset_text kasset_text |
| typedef enum kasset_type kasset_type |
| typedef b8(* PFN_kasset_importer_import) (const struct kasset_importer *self, u64 data_size, const void *data, void *params, struct kasset *out_asset) |
Imports an asset according to the provided params and the importer's internal logic. NOTE: Some importers (i.e. .obj for static meshes) can also trigger imports of other assets. Those assets are immediately serialized to disk/package and not returned here though.
| self | A constant pointer to the importer itself. |
| data_size | The size of the data being imported. |
| data | A constant pointer to a block of memory containing the data being imported. |
| params | A block of memory containing parameters for the import. Optional in general, but required by some importers. |
| out_asset | A pointer to the asset being imported. |
| typedef void(* PFN_kasset_on_hot_reload) (const struct vfs_asset_data *asset_data, const struct kasset *asset) |
A function pointer typedef to be used to provide the asset system with a callback function when an asset is written to on-disk (i.e. a hot-reload). This process is synchronous.
| typedef void(* PFN_kasset_on_result) (asset_request_result result, const struct kasset *asset, void *listener_inst) |
A function pointer typedef to be used to provide the asset asset_system with a calback function when asset loading is complete or failed. This process is asynchronus.
| result | The result of the asset request. |
| asset | A constant pointer to the asset that is loaded. |
| listener_inst | A pointer to the listener, usually passed along with the original request. |
| enum asset_request_result |
| enum kasset_type |