src/ascension/scene.h

changeset 220
6b266e907f89
parent 145
a3231310d66d
--- a/src/ascension/scene.h	Tue Jul 22 20:57:13 2025 +0200
+++ b/src/ascension/scene.h	Tue Jul 22 21:38:02 2025 +0200
@@ -32,10 +32,12 @@
 #include "camera.h"
 
 #include <cx/list.h>
+#include <cx/string.h>
 
 typedef struct asc_scene_s {
     AscCamera camera;
     AscSceneNode *root;
+    cxmutstr name;
     struct {
         CxList *render_groups[ASC_RENDER_GROUP_COUNT];
     } internal;
@@ -45,17 +47,19 @@
  * Initializes a scene graph.
  *
  * @param scene the scene graph
+ * @param name optional name for the scene
  * @param camera_params initial camera parameters
  */
-void asc_scene_init_(AscScene *scene, struct asc_camera_init_args camera_params);
+void asc_scene_init_(AscScene *scene, const char *name, struct asc_camera_init_args camera_params);
 
 /**
  * Initializes a scene graph.
  *
  * @param scene the scene graph
+ * @param name optional name for the scene
  * @param ... initial camera parameters
  */
-#define asc_scene_init(scene, ...) asc_scene_init_(scene, (struct asc_camera_init_args){__VA_ARGS__})
+#define asc_scene_init(scene, name, ...) asc_scene_init_(scene, name, (struct asc_camera_init_args){__VA_ARGS__})
 
 /**
  * Destroys a scene graph.

mercurial