LibGame  v0.4.0
The LG Game Engine - Copyright (C) 2024-2025 ETMSoftware
lg_scene.h
1 /*
2  * LibGame - Copyright (C) Emmanuel Thomas-Maurin 2011-2025
3  * All rights reserved
4  */
5 
6 #ifndef LG_SCENE_H
7 #define LG_SCENE_H
8 
9 /*
10  * LG_MESH_NTOS, LG_SCENE, AND LG_SCENEDZ 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 
17 LG_Scene lg_scene_new(int, LG_Camera *, LG_Light, Rec2Df, uint16_t);
18 
19 void lg_scene_free(LG_Scene *);
20 
22 
24 
25 mat4_t lg_get_TRS_matrix_from_NTOS_v(vec3_t, LG_EulerAng, vec3_t, const char *);
26 
28 
30 
32 
34 
35 zboolean lg_scenedz_save_to_file(LG_SceneDZ *, const char *);
36 
37 zboolean lg_create_wr_scenes_dir();
38 
40 
42 
44 
45 #define transl_v3(x, y, z) vec3(x, y, z)
46 
47 #define scaling_v3(x, y, z) vec3(x, y, z)
48 
49 #endif /* LG_SCENE_H */
lg_scene_set_from_scenedz
void lg_scene_set_from_scenedz(LG_Scene *scene, LG_SceneDZ *scenedz)
Definition: lg_scene.c:465
LG_LoadMesh_Flags
Definition: lg_mesh.h:119
Rec2Df
Definition: lg_gr_func.h:56
lg_scene_new
LG_Scene lg_scene_new(int id, LG_Camera *cam1, LG_Light light1, Rec2Df landscape_rec, uint16_t grid_width)
Definition: lg_scene.c:87
LG_Quat
Definition: lg_quaternions.h:29
lg_scene_free
void lg_scene_free(LG_Scene *scene)
Definition: lg_scene.c:166
LG_SceneNode
Definition: lg_scene_graph.h:37
LG_Scene
Definition: lg_scene_graph.h:86
lg_create_wr_scenes_dir
zboolean lg_create_wr_scenes_dir()
Definition: lg_scene.c:445
LG_EulerAng
Definition: lg_quaternions.h:16
LG_Light
Definition: lg_light.h:26
lg_set_TRS_matrix_from_mesh_NTOS
zboolean lg_set_TRS_matrix_from_mesh_NTOS(mat4_t *m_TRS, LG_Mesh_NTOS *tos)
Definition: lg_scene.c:337
lg_scenedz_save_to_file
zboolean lg_scenedz_save_to_file(LG_SceneDZ *scenedz, const char *path)
Definition: lg_scene.c:435
lg_scenedz_load_from_assets
LG_SceneDZ lg_scenedz_load_from_assets(const char *path)
Definition: lg_scene.c:385
vec3_t
Definition: math_3d.h:123
LG_Camera
Definition: lg_camera.h:22
lg_mesh_NTOS_array_to_scenenodes
LG_SceneNode * lg_mesh_NTOS_array_to_scenenodes(LG_SceneNode *node, LG_LoadMesh_Flags flags, LG_Mesh_NTOS *mesh_ntos, int n_mesh_ntos)
Definition: lg_scene.c:272
lg_mesh_NTOS_array_info
void lg_mesh_NTOS_array_info(LG_Mesh_NTOS *mesh_ntos, int n_mesh_ntos)
Definition: lg_scene.c:359
LG_SceneDZ
Definition: lg_scene_graph.h:99
lg_scenedz_set_from_scene
void lg_scenedz_set_from_scene(LG_SceneDZ *scenedz, LG_Scene *scene)
Definition: lg_scene.c:489
LG_Mesh_NTOS
Definition: lg_scene_graph.h:60
lg_generate_scenenodes_from_scenedz
LG_SceneNode * lg_generate_scenenodes_from_scenedz(LG_SceneDZ *sdz, LG_LoadMesh_Flags flags)
Definition: lg_scene.c:520
lg_scenenode_new_and_set
LG_SceneNode * lg_scenenode_new_and_set(int id, LG_SceneNode *parent, const char *mesh_file, LG_LoadMesh_Flags flags, vec3_t transl, LG_Quat orientation, vec3_t scaling)
Definition: lg_scene.c:207
mat4_t
Definition: math_3d.h:179
lg_scenedz_load_from_file
LG_SceneDZ lg_scenedz_load_from_file(const char *path)
Definition: lg_scene.c:409