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
43
45
46zboolean lg_scene_load_data_from_assets(LG_Scene *, const char *);
47
48zboolean lg_scene_load_data_from_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:609
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:333
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:250
zboolean lg_rot_order_is_valid(const char *rot_order)
Definition lg_scene.c:860
void lg_scene_free(LG_Scene *scene)
Definition lg_scene.c:208
zboolean lg_scene_update_scenenodes_fullpath_to_bmesh(LG_SceneNode *top_node)
Definition lg_scene.c:445
zboolean lg_scene_save_scenenodes_bmeshes(LG_SceneNode *top_node)
Definition lg_scene.c:404
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:588
zboolean lg_scene_generate_serializable_data(LG_Scene *scene)
Definition lg_scene.c:460
void lg_node_NTOS_info(LG_Node_NTOS *ntos)
Definition lg_scene.c:636
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
void lg_node_NTOS_info_to_stream(LG_Node_NTOS *ntos, FILE *s)
Definition lg_scene.c:655
zboolean lg_scene_save_data_to_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:794
zboolean lg_scene_load_data_from_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:756
void lg_node_NTOS_array_info_to_stream(LG_Scene *scene, FILE *s)
Definition lg_scene.c:699
zboolean lg_generate_scene_data_from_scenenodes(LG_Scene *scene, LG_SceneNode *top_node)
Definition lg_scene.c:380
void lg_node_NTOS_array_info(LG_Scene *scene)
Definition lg_scene.c:673
zboolean lg_create_wr_scenes_dir()
Definition lg_scene.c:820
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:292
const char * lg_get_reversed_rot_order(const char *rot_order)
Definition lg_scene.c:838
zboolean lg_scene_load_data_from_assets(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:726
LG_SceneNode * lg_generate_scenenodes_from_scene_data(LG_Scene *scene, LG_SceneNode *top_node, LG_LoadMesh_Flags flags)
Definition lg_scene.c:534
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