 |
LibGame
v0.4.0
The LG Game Engine - Copyright (C) 2024-2025 ETMSoftware
|
11 #ifndef LG_SCENE_GRAPH_H
12 #define LG_SCENE_GRAPH_H
14 #define SCENENODE_NAME_MAX_LEN (64 - 1)
15 #define SCENENODE_CHILD_MAX_NUM 256
16 #define SCENE_GRAPH_MAX_DEPTH 32
17 #define SCENEGRAPH_PRINTOUT_MAX_DEPTH 8
19 #define MESH_NTOS_MAX_NUM 256
20 #define MNTOS_ARRAY_INDEX_TO_SCENENODE_ID 1000
39 char name[SCENENODE_NAME_MAX_LEN + 1];
40 lg_scenenode_type type;
63 char name[LG_MESH_NAME_MAX_LEN + 1];
80 char name2[LG_MESH_NAME_MAX_LEN + 1];
115 #define lg_scenenode_free2(s_node) {lg_scenenode_free(s_node); s_node = NULL;}
Definition: lg_gr_func.h:56
Definition: lg_quaternions.h:29
Definition: lg_shader_progs.h:11
LG_SceneNode * lg_scenenode_new(int id, const char *name, lg_scenenode_type type)
Definition: lg_scene_graph.c:31
Definition: lg_shader_progs.h:16
void lg_scenenode_remove_and_free_all(LG_SceneNode *node)
Definition: lg_scene_graph.c:214
void lg_scenenode_attach_to_camera(LG_SceneNode *node, const LG_Camera *cam, vec3_t transl, vec3_t scaling)
Definition: lg_scene_graph.c:485
Definition: lg_scene_graph.h:37
Definition: lg_scene_graph.h:86
LG_SceneNode * lg_scenenode_find_by_name(LG_SceneNode *node, const char *name)
Definition: lg_scene_graph.c:347
int lg_scenenode_clone_worldm_l3dvb(LG_SceneNode *dest_node, LG_SceneNode *src_node)
Definition: lg_scene_graph.c:517
Definition: lg_light.h:26
int lg_scenenode_info2(LG_SceneNode *node)
Definition: lg_scene_graph.c:670
Definition: lg_3d_primitives.h:53
void lg_scenenode_remove_child(LG_SceneNode *node, LG_SceneNode *child)
Definition: lg_scene_graph.c:116
void lg_scenenode_add_child(LG_SceneNode *node, LG_SceneNode *child)
Definition: lg_scene_graph.c:91
void lg_scenenode_reset_local_matrix(LG_SceneNode *node)
Definition: lg_scene_graph.c:364
void lg_traverse_scene_graph(LG_SceneNode *node, int(*func)(LG_SceneNode *))
Definition: lg_scene_graph.c:257
Definition: math_3d.h:123
void lg_scenenode_update_world_matrix_tree(LG_SceneNode *node, mat4_t *parent_world_matrix)
Definition: lg_scene_graph.c:426
Definition: lg_camera.h:22
void lg_traverse_printout_scene_graph(LG_SceneNode *node, zboolean extra_info)
Definition: lg_scene_graph.c:592
void lg_scenenode_update_local_matrix(LG_SceneNode *node, vec3_t transl, LG_Quat rot, vec3_t scaling)
Definition: lg_scene_graph.c:408
const char * lg_scenenode_type_string(int type)
Definition: lg_scene_graph.c:682
void lg_scenenode_set_local_matrix(LG_SceneNode *node, vec3_t transl, LG_Quat rot, vec3_t scaling)
Definition: lg_scene_graph.c:387
Definition: lg_scene_graph.h:99
void lg_scenenode_info(LG_SceneNode *node)
Definition: lg_scene_graph.c:603
LG_SceneNode * lg_scenenode_get_root(LG_SceneNode *node)
Definition: lg_scene_graph.c:167
void lg_scenenode_set_world_matrix(LG_SceneNode *node, vec3_t transl, LG_Quat rot, vec3_t scaling)
Definition: lg_scene_graph.c:457
void lg_scenenode_free(LG_SceneNode *node)
Definition: lg_scene_graph.c:152
Definition: lg_scene_graph.h:60
Definition: lg_textures.h:45
void lg_traverse_scene_graph_2(LG_SceneNode *node, int(*func)(LG_SceneNode *, LG_Scene *), LG_Scene *scene)
Definition: lg_scene_graph.c:291
int lg_scenenode_remove_and_free_leaf(LG_SceneNode *node)
Definition: lg_scene_graph.c:187
LG_SceneNode * lg_scenenode_find_by_id(LG_SceneNode *node, int id)
Definition: lg_scene_graph.c:330
Definition: math_3d.h:179