summaryrefslogtreecommitdiffstats
path: root/libdimension/camera.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension/camera.c')
-rw-r--r--libdimension/camera.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/libdimension/camera.c b/libdimension/camera.c
index 38fde35..3db9f2c 100644
--- a/libdimension/camera.c
+++ b/libdimension/camera.c
@@ -26,16 +26,11 @@
#include "dimension-internal.h"
#include <stdlib.h>
-static void dmnsn_default_camera_free_fn(dmnsn_camera *camera)
-{
- dmnsn_free(camera);
-}
-
/* Allocate a new dummy camera */
dmnsn_camera *
-dmnsn_new_camera(void)
+dmnsn_new_camera(dmnsn_pool *pool)
{
- dmnsn_camera *camera = DMNSN_MALLOC(dmnsn_camera);
+ dmnsn_camera *camera = DMNSN_PALLOC(pool, dmnsn_camera);
dmnsn_init_camera(camera);
return camera;
}
@@ -44,18 +39,7 @@ dmnsn_new_camera(void)
void
dmnsn_init_camera(dmnsn_camera *camera)
{
- camera->free_fn = dmnsn_default_camera_free_fn;
camera->trans = dmnsn_identity_matrix();
- DMNSN_REFCOUNT_INIT(camera);
-}
-
-/* Free a dummy camera */
-void
-dmnsn_delete_camera(dmnsn_camera *camera)
-{
- if (DMNSN_DECREF(camera)) {
- camera->free_fn(camera);
- }
}
/* Invoke the camera ray function */