LibGame v0.4.0
The LG Game Engine - Copyright (C) 2024-2026 ETMSoftware
Loading...
Searching...
No Matches
lg_scene.h
1/*
2 * LibGame - Copyright (C) Emmanuel Thomas-Maurin 2011-2026
3 * All rights reserved
4 */
5
6#ifndef LG_SCENE_H
7#define LG_SCENE_H
8
9/*
10 * LG_NODE_NTOS AND LG_SCENE ARE DEFINED IN LG_SCENE_GRAPH.H
11 * (THIS MAY CREATE A BIT OF CONFUSION)
12 */
13
14LG_Scene lg_scene_new(int, LG_Camera *, LG_Light, Rec2Df, uint16_t, const char *);
15
17
18LG_SceneNode *lg_scenenode_new_and_set(int, LG_SceneNode *, lg_scenenode_type, const char *, LG_LoadMesh_Flags, vec3_t, LG_Quat, vec3_t);
19
20void lg_fill_node_NTOS_from_local_matrix(LG_Node_NTOS *, mat4_t *, const char *, zboolean);
21
22void lg_fill_node_NTOS_from_scenenode(LG_Node_NTOS *, LG_SceneNode *, const char *, zboolean);
23
25
27
29
31
33
35
37
39
41
42void lg_node_NTOS_array_info_to_stream(LG_Scene *, FILE *, zboolean);
43
44zboolean lg_scene_load_data_from_assets(LG_Scene *, const char *);
45
46zboolean lg_scene_load_data_from_file(LG_Scene *, const char *);
47
48zboolean lg_scene_load_data_from_txt_file(LG_Scene *, const char *);
49
50zboolean lg_scene_save_data_to_file(LG_Scene *, const char *);
51
53
54const char *lg_get_reversed_rot_order(const char *);
55
56zboolean lg_rot_order_is_valid(const char *);
57
58#define transl_v3(x, y, z) vec3(x, y, z)
59
60#define scaling_v3(x, y, z) vec3(x, y, z)
61
62#endif /* LG_SCENE_H */
void lg_set_NTOS_array_euler_angs_from_quats(LG_Scene *scene)
Definition lg_scene.c:635
void lg_fill_node_NTOS_from_scenenode(LG_Node_NTOS *ntos, LG_SceneNode *node, const char *euler_ang_rot_order, zboolean set_quat)
Definition lg_scene.c:331
LG_SceneNode * lg_scenenode_new_and_set(int id, LG_SceneNode *parent_node, lg_scenenode_type type, const char *mesh_full_path, LG_LoadMesh_Flags flags, vec3_t transl, LG_Quat orientation, vec3_t scaling)
Definition lg_scene.c:248
zboolean lg_rot_order_is_valid(const char *rot_order)
Definition lg_scene.c:1110
void lg_scene_free(LG_Scene *scene)
Definition lg_scene.c:206
void lg_node_NTOS_array_info_to_stream(LG_Scene *scene, FILE *stream, zboolean readable)
Definition lg_scene.c:749
zboolean lg_scene_update_nodes_fullpath_to_bmesh(LG_SceneNode *top_node)
Definition lg_scene.c:445
zboolean lg_set_TRS_matrix_from_node_NTOS_euler(mat4_t *m_TRS, LG_Node_NTOS *ntos, const char *euler_ang_rot_order)
Definition lg_scene.c:614
void lg_scene_sanitize_nodes_ids(LG_Scene *scene)
Definition lg_scene.c:473
zboolean lg_scene_generate_serializable_data(LG_Scene *scene)
Definition lg_scene.c:486
void lg_node_NTOS_info(LG_Node_NTOS *ntos)
Definition lg_scene.c:735
LG_SceneNode * lg_scene_generate_nodes_from_data(LG_Scene *scene, LG_SceneNode *top_node, LG_LoadMesh_Flags flags)
Definition lg_scene.c:560
LG_Scene lg_scene_new(int id, LG_Camera *cam1, LG_Light light1, Rec2Df landscape_rec, uint16_t grid_width, const char *euler_ang_rot_order)
Definition lg_scene.c:111
zboolean lg_scene_save_data_to_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:1027
zboolean lg_scene_generate_data_from_nodes(LG_Scene *scene, LG_SceneNode *top_node)
Definition lg_scene.c:380
zboolean lg_scene_load_data_from_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:823
zboolean lg_scene_load_data_from_txt_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:979
zboolean lg_create_wr_scenes_dir()
Definition lg_scene.c:1070
void lg_fill_node_NTOS_from_local_matrix(LG_Node_NTOS *ntos, mat4_t *local_matrix, const char *euler_ang_rot_order, zboolean set_quat)
Definition lg_scene.c:290
const char * lg_get_reversed_rot_order(const char *rot_order)
Definition lg_scene.c:1088
zboolean lg_scene_load_data_from_assets(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:781
zboolean lg_scene_save_nodes_bmeshes(LG_SceneNode *top_node)
Definition lg_scene.c:404
Definition lg_camera.h:22
Definition lg_light.h:26
Definition lg_mesh.h:121
Definition lg_quaternions.h:18
Definition lg_scene_graph.h:45
Definition lg_scene_graph.h:112
Definition lg_gr_func.h:56
Definition math_3d.c:135
Definition lg_scene_graph.h:70
Definition math_3d.c:239