Kohi Game Engine
|
Go to the source code of this file.
Data Structures | |
struct | pending_mesh |
struct | simple_scene |
Typedefs | |
typedef enum simple_scene_state | simple_scene_state |
typedef struct pending_mesh | pending_mesh |
typedef struct simple_scene | simple_scene |
Functions | |
KAPI b8 | simple_scene_create (void *config, simple_scene *out_scene) |
Creates a new scene with the given config with default values. No resources are allocated. Config is not yet processed. More... | |
KAPI b8 | simple_scene_initialize (simple_scene *scene) |
Performs initialization routines on the scene, including processing configuration (if provided) and scaffolding heirarchy. More... | |
KAPI b8 | simple_scene_load (simple_scene *scene) |
Performs loading routines and resource allocation on the given scene. More... | |
KAPI b8 | simple_scene_unload (simple_scene *scene, b8 immediate) |
Performs unloading routines and resource de-allocation on the given scene. A scene is also destroyed when unloading. More... | |
KAPI b8 | simple_scene_update (simple_scene *scene, const struct frame_data *p_frame_data) |
Performs any required scene updates for the given frame. More... | |
KAPI b8 | simple_scene_populate_render_packet (simple_scene *scene, struct camera *current_camera, struct viewport *v, struct frame_data *p_frame_data, struct render_packet *packet) |
Populate the given render packet with data from the provided scene. More... | |
KAPI b8 | simple_scene_raycast (simple_scene *scene, const struct ray *r, struct raycast_result *out_result) |
KAPI b8 | simple_scene_directional_light_add (simple_scene *scene, const char *name, struct directional_light *light) |
KAPI b8 | simple_scene_point_light_add (simple_scene *scene, const char *name, struct point_light *light) |
KAPI b8 | simple_scene_mesh_add (simple_scene *scene, const char *name, struct mesh *m) |
KAPI b8 | simple_scene_skybox_add (simple_scene *scene, const char *name, struct skybox *sb) |
KAPI b8 | simple_scene_terrain_add (simple_scene *scene, const char *name, struct terrain *t) |
KAPI b8 | simple_scene_directional_light_remove (simple_scene *scene, const char *name) |
KAPI b8 | simple_scene_point_light_remove (simple_scene *scene, const char *name) |
KAPI b8 | simple_scene_mesh_remove (simple_scene *scene, const char *name) |
KAPI b8 | simple_scene_skybox_remove (simple_scene *scene, const char *name) |
KAPI b8 | simple_scene_terrain_remove (simple_scene *scene, const char *name) |
KAPI struct directional_light * | simple_scene_directional_light_get (simple_scene *scene, const char *name) |
KAPI struct point_light * | simple_scene_point_light_get (simple_scene *scene, const char *name) |
KAPI struct mesh * | simple_scene_mesh_get (simple_scene *scene, const char *name) |
KAPI struct skybox * | simple_scene_skybox_get (simple_scene *scene, const char *name) |
KAPI struct terrain * | simple_scene_terrain_get (simple_scene *scene, const char *name) |
KAPI struct transform * | simple_scene_transform_get_by_id (simple_scene *scene, u32 unique_id) |
KAPI b8 | simple_scene_debug_render_data_query (simple_scene *scene, u32 *data_count, struct geometry_render_data **debug_geometries) |
typedef struct pending_mesh pending_mesh |
typedef struct simple_scene simple_scene |
typedef enum simple_scene_state simple_scene_state |
enum simple_scene_state |
KAPI b8 simple_scene_create | ( | void * | config, |
simple_scene * | out_scene | ||
) |
Creates a new scene with the given config with default values. No resources are allocated. Config is not yet processed.
config | A pointer to the configuration. Optional. |
out_scene | A pointer to hold the newly created scene. Required. |
KAPI b8 simple_scene_debug_render_data_query | ( | simple_scene * | scene, |
u32 * | data_count, | ||
struct geometry_render_data ** | debug_geometries | ||
) |
KAPI b8 simple_scene_directional_light_add | ( | simple_scene * | scene, |
const char * | name, | ||
struct directional_light * | light | ||
) |
KAPI struct directional_light* simple_scene_directional_light_get | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_directional_light_remove | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_initialize | ( | simple_scene * | scene | ) |
Performs initialization routines on the scene, including processing configuration (if provided) and scaffolding heirarchy.
scene | A pointer to the scene to be initialized. |
KAPI b8 simple_scene_load | ( | simple_scene * | scene | ) |
Performs loading routines and resource allocation on the given scene.
scene | A pointer to the scene to be loaded. |
KAPI b8 simple_scene_mesh_add | ( | simple_scene * | scene, |
const char * | name, | ||
struct mesh * | m | ||
) |
KAPI struct mesh* simple_scene_mesh_get | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_mesh_remove | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_point_light_add | ( | simple_scene * | scene, |
const char * | name, | ||
struct point_light * | light | ||
) |
KAPI struct point_light* simple_scene_point_light_get | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_point_light_remove | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_populate_render_packet | ( | simple_scene * | scene, |
struct camera * | current_camera, | ||
struct viewport * | v, | ||
struct frame_data * | p_frame_data, | ||
struct render_packet * | packet | ||
) |
Populate the given render packet with data from the provided scene.
scene | A pointer to the scene to be updated. |
current_camera | The current camera to use while rendering the scene. |
viewport | A pointer to the viewport to be used when populating the render packets. |
p_frame_data | A constant pointer to the current frame's data. |
packet | A pointer to the packet to populate. |
KAPI b8 simple_scene_raycast | ( | simple_scene * | scene, |
const struct ray * | r, | ||
struct raycast_result * | out_result | ||
) |
KAPI b8 simple_scene_skybox_add | ( | simple_scene * | scene, |
const char * | name, | ||
struct skybox * | sb | ||
) |
KAPI struct skybox* simple_scene_skybox_get | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_skybox_remove | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_terrain_add | ( | simple_scene * | scene, |
const char * | name, | ||
struct terrain * | t | ||
) |
KAPI struct terrain* simple_scene_terrain_get | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI b8 simple_scene_terrain_remove | ( | simple_scene * | scene, |
const char * | name | ||
) |
KAPI struct transform* simple_scene_transform_get_by_id | ( | simple_scene * | scene, |
u32 | unique_id | ||
) |
KAPI b8 simple_scene_unload | ( | simple_scene * | scene, |
b8 | immediate | ||
) |
Performs unloading routines and resource de-allocation on the given scene. A scene is also destroyed when unloading.
scene | A pointer to the scene to be unloaded. |
immediate | Unload immediately instead of the next frame. NOTE: can have unintended side effects if used improperly. |
KAPI b8 simple_scene_update | ( | simple_scene * | scene, |
const struct frame_data * | p_frame_data | ||
) |
Performs any required scene updates for the given frame.
scene | A pointer to the scene to be updated. |
p_frame_data | A constant pointer to the current frame's data. |