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
14/* Standard arrow colors = RGB, alternate colors = purple, green, cyan */
15#define STANDARD_ARROW_COLORS FALSE
16
17LG_Scene lg_scene_new(int, LG_Camera *, LG_Light, Rec2Df, uint16_t, const char *);
18
20
21LG_SceneNode *lg_scenenode_new_and_set(int, LG_SceneNode *, lg_scenenode_type, const char *, LG_LoadMesh_Flags, vec3_t, LG_Quat, vec3_t);
22
23void lg_fill_node_NTOS_from_local_matrix(LG_Node_NTOS *, mat4_t *, const char *, zboolean);
24
25void lg_fill_node_NTOS_from_scenenode(LG_Node_NTOS *, LG_SceneNode *, const char *, zboolean);
26
28
30
32
34
36
38
40
42
44
46
47zboolean lg_scene_load_data_from_assets(LG_Scene *, const char *);
48
49zboolean lg_scene_load_data_from_file(LG_Scene *, const char *);
50
51zboolean lg_scene_save_data_to_file(LG_Scene *, const char *);
52
54
55const char *lg_get_reversed_rot_order(const char *);
56
57zboolean lg_rot_order_is_valid(const char *);
58
59#define transl_v3(x, y, z) vec3(x, y, z)
60
61#define scaling_v3(x, y, z) vec3(x, y, z)
62
63#endif /* LG_SCENE_H */
void lg_set_NTOS_array_euler_angs_from_quats(LG_Scene *scene)
Definition lg_scene.c:563
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:341
zboolean lg_rot_order_is_valid(const char *rot_order)
Definition lg_scene.c:813
void lg_scene_free(LG_Scene *scene)
Definition lg_scene.c:206
zboolean lg_scene_save_scenenodes_meshes(LG_SceneNode *top_node)
Definition lg_scene.c:412
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:542
LG_SceneNode * lg_scenenode_new_and_set(int id, LG_SceneNode *parent_node, lg_scenenode_type type, const char *mesh_relative_path, LG_LoadMesh_Flags flags, vec3_t transl, LG_Quat orientation, vec3_t scaling)
Definition lg_scene.c:262
zboolean lg_scene_generate_serializable_data(LG_Scene *scene)
Definition lg_scene.c:427
void lg_node_NTOS_info(LG_Node_NTOS *ntos)
Definition lg_scene.c:590
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:109
void lg_node_NTOS_info_to_stream(LG_Node_NTOS *ntos, FILE *s)
Definition lg_scene.c:609
zboolean lg_scene_save_data_to_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:747
zboolean lg_scene_load_data_from_file(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:710
void lg_node_NTOS_array_info_to_stream(LG_Scene *scene, FILE *s)
Definition lg_scene.c:653
zboolean lg_generate_scene_data_from_scenenodes(LG_Scene *scene, LG_SceneNode *top_node)
Definition lg_scene.c:388
void lg_node_NTOS_array_info(LG_Scene *scene)
Definition lg_scene.c:627
zboolean lg_create_wr_scenes_dir()
Definition lg_scene.c:773
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:299
const char * lg_get_reversed_rot_order(const char *rot_order)
Definition lg_scene.c:791
zboolean lg_scene_load_data_from_assets(LG_Scene *scene, const char *full_path)
Definition lg_scene.c:680
LG_SceneNode * lg_generate_scenenodes_from_scene_data(LG_Scene *scene, LG_SceneNode *top_node, LG_LoadMesh_Flags flags)
Definition lg_scene.c:488
Definition lg_camera.h:22
Definition lg_light.h:26
Definition lg_mesh.h:118
Definition lg_quaternions.h:18
Definition lg_scene_graph.h:43
Definition lg_scene_graph.h:111
Definition lg_gr_func.h:56
Definition math_3d.h:123
Definition lg_scene_graph.h:68
Definition math_3d.h:179