aboutsummaryrefslogtreecommitdiff
path: root/src/scene/scene.c
blob: 54452dd69acbd399509760ae9d8b557dc86de906 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "scene_impl.h"

#include "node_impl.h"
#include "scene_memory.h"

#include <assert.h>

Scene* gfx_make_scene(void) {
  Scene* scene = mem_alloc_scene();
  scene->root  = gfx_make_node();
  return scene;
}

void gfx_destroy_scene(Scene** scene) {
  assert(scene);
  if (*scene) {
    gfx_destroy_node(&(*scene)->root);
    mem_free_scene(scene);
  }
}

SceneNode* gfx_get_scene_root(Scene* scene) {
  assert(scene);
  return scene->root;
}