summaryrefslogtreecommitdiffstats
path: root/libdimension/scene.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-08-19 17:10:03 -0400
committerTavian Barnes <tavianator@tavianator.com>2015-10-25 11:03:56 -0400
commit7b09710392d35fb55b52031d447a542d99fc6b4b (patch)
tree270eb927ee8c52ceeb99926ebf4843704775a610 /libdimension/scene.c
parent200c86b91ea7063d35be3bffc11c5da53c054653 (diff)
downloaddimension-7b09710392d35fb55b52031d447a542d99fc6b4b.tar.xz
Modularize the libdimension codebase.
Diffstat (limited to 'libdimension/scene.c')
-rw-r--r--libdimension/scene.c77
1 files changed, 0 insertions, 77 deletions
diff --git a/libdimension/scene.c b/libdimension/scene.c
deleted file mode 100644
index 6c9c495..0000000
--- a/libdimension/scene.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*************************************************************************
- * Copyright (C) 2009-2014 Tavian Barnes <tavianator@tavianator.com> *
- * *
- * This file is part of The Dimension Library. *
- * *
- * The Dimension Library is free software; you can redistribute it and/ *
- * or modify it under the terms of the GNU Lesser General Public License *
- * as published by the Free Software Foundation; either version 3 of the *
- * License, or (at your option) any later version. *
- * *
- * The Dimension Library is distributed in the hope that it will be *
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty *
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this program. If not, see *
- * <http://www.gnu.org/licenses/>. *
- *************************************************************************/
-
-/**
- * @file
- * Scenes.
- */
-
-#include "dimension-internal.h"
-#include <stdlib.h>
-
-// Allocate an empty scene
-dmnsn_scene *
-dmnsn_new_scene(dmnsn_pool *pool)
-{
- dmnsn_scene *scene = DMNSN_PALLOC(pool, dmnsn_scene);
-
- scene->background = NULL;
- scene->default_texture = dmnsn_new_texture(pool);
- scene->default_interior = dmnsn_new_interior(pool);
- scene->canvas = NULL;
- scene->region_x = 0;
- scene->region_y = 0;
- scene->outer_width = 0;
- scene->outer_height = 0;
- scene->objects = DMNSN_PALLOC_ARRAY(pool, dmnsn_object *);
- scene->lights = DMNSN_PALLOC_ARRAY(pool, dmnsn_light *);
- scene->camera = NULL;
- scene->quality = DMNSN_RENDER_FULL;
- scene->reclimit = 5;
- scene->adc_bailout = 1.0/255.0;
- scene->nthreads = dmnsn_ncpus();
- scene->initialized = false;
-
- return scene;
-}
-
-void
-dmnsn_scene_initialize(dmnsn_scene *scene)
-{
- dmnsn_assert(!scene->initialized, "Scene double-initialized.");
- scene->initialized = true;
-
- if (scene->outer_width == 0) {
- scene->outer_width = scene->canvas->width;
- }
- if (scene->outer_height == 0) {
- scene->outer_height = scene->canvas->height;
- }
-
- dmnsn_pigment_initialize(scene->background);
-
- dmnsn_texture_initialize(scene->default_texture);
-
- DMNSN_ARRAY_FOREACH (dmnsn_object **, object, scene->objects) {
- dmnsn_texture_cascade(scene->default_texture, &(*object)->texture);
- dmnsn_interior_cascade(scene->default_interior, &(*object)->interior);
- dmnsn_object_precompute(*object);
- }
-}