aboutsummaryrefslogtreecommitdiff
path: root/src/scene/camera.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene/camera.c')
-rw-r--r--src/scene/camera.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/src/scene/camera.c b/src/scene/camera.c
index bb073ba..475101d 100644
--- a/src/scene/camera.c
+++ b/src/scene/camera.c
@@ -1,37 +1,21 @@
1#include "camera_impl.h" 1#include <gfx/scene/camera.h>
2 2
3#include "memory.h" 3#include "memory.h"
4#include "node_impl.h"
5 4
6#include <assert.h> 5#include <assert.h>
6#include <math/camera.h>
7 7
8SceneCamera* gfx_make_camera() { 8Camera* gfx_make_camera() {
9 SceneCamera* camera = mem_alloc_camera(); 9 Camera* camera = mem_alloc_camera();
10 10 *camera = camera_perspective(
11 camera->camera = camera_perspective(
12 /*fovy=*/90.0 * TO_RAD, /*aspect=*/16.0 / 9.0, 11 /*fovy=*/90.0 * TO_RAD, /*aspect=*/16.0 / 9.0,
13 /*near=*/0.1, /*far=*/1000); 12 /*near=*/0.1, /*far=*/1000);
14
15 return camera; 13 return camera;
16} 14}
17 15
18void gfx_destroy_camera(SceneCamera** camera) { 16void gfx_destroy_camera(Camera** camera) {
19 assert(camera); 17 assert(camera);
20 if (*camera) { 18 if (*camera) {
21 if ((*camera)->parent.val) {
22 gfx_del_node((*camera)->parent);
23 }
24 mem_free_camera(camera); 19 mem_free_camera(camera);
25 } 20 }
26} 21}
27
28void gfx_set_camera_camera(SceneCamera* scene_camera, Camera* camera) {
29 assert(scene_camera);
30 assert(camera);
31 scene_camera->camera = *camera;
32}
33
34Camera* gfx_get_camera_camera(SceneCamera* camera) {
35 assert(camera);
36 return &camera->camera;
37}