| 40 * Initializes a scene graph. |
40 * Initializes a scene graph. |
| 41 * |
41 * |
| 42 * @param scene the scene graph |
42 * @param scene the scene graph |
| 43 * @param camera_params initial camera parameters |
43 * @param camera_params initial camera parameters |
| 44 */ |
44 */ |
| 45 __attribute__((__nonnull__)) |
|
| 46 void asc_scene_init_(AscScene *scene, struct asc_camera_init_args camera_params); |
45 void asc_scene_init_(AscScene *scene, struct asc_camera_init_args camera_params); |
| 47 |
46 |
| 48 /** |
47 /** |
| 49 * Initializes a scene graph. |
48 * Initializes a scene graph. |
| 50 * |
49 * |
| 58 * |
57 * |
| 59 * Does nothing when the scene was not initialized. |
58 * Does nothing when the scene was not initialized. |
| 60 * |
59 * |
| 61 * @param scene the scene graph |
60 * @param scene the scene graph |
| 62 */ |
61 */ |
| 63 __attribute__((__nonnull__)) |
|
| 64 void asc_scene_destroy(AscScene *scene); |
62 void asc_scene_destroy(AscScene *scene); |
| 65 |
63 |
| 66 /** |
64 /** |
| 67 * Returns a pointer to the scene's camera. |
65 * Returns a pointer to the scene's camera. |
| 68 * |
66 * |
| 69 * @param scene the scene graph |
67 * @param scene the scene graph |
| 70 */ |
68 */ |
| 71 __attribute__((__nonnull__)) |
|
| 72 static inline AscCamera *asc_scene_camera(AscScene *scene) { |
69 static inline AscCamera *asc_scene_camera(AscScene *scene) { |
| 73 return &scene->camera; |
70 return &scene->camera; |
| 74 } |
71 } |
| 75 |
72 |
| 76 void asc_scene_execute_behaviors(AscScene *scene); |
73 void asc_scene_execute_behaviors(AscScene *scene); |
| 80 * |
77 * |
| 81 * If @p scene is not initialized, drawing is skipped. |
78 * If @p scene is not initialized, drawing is skipped. |
| 82 * |
79 * |
| 83 * @param scene the scene graph |
80 * @param scene the scene graph |
| 84 */ |
81 */ |
| 85 __attribute__((__nonnull__)) |
|
| 86 void asc_scene_draw(AscScene *scene); |
82 void asc_scene_draw(AscScene *scene); |
| 87 |
83 |
| 88 __attribute__((__nonnull__)) |
|
| 89 void asc_scene_add_node(AscScene *scene, AscSceneNode *node); |
84 void asc_scene_add_node(AscScene *scene, AscSceneNode *node); |
| 90 |
85 |
| 91 #endif // ASCENSION_SCENE_H |
86 #endif // ASCENSION_SCENE_H |
| 92 |
87 |