#include "camera_impl.h" #include "node_impl.h" #include "scene_memory.h" #include SceneCamera* gfx_make_camera() { SceneCamera* camera = mem_alloc_camera(); camera->camera = camera_perspective( /*fovy=*/90.0 * TO_RAD, /*aspect=*/16.0 / 9.0, /*near=*/0.1, /*far=*/1000); return camera; } void gfx_destroy_camera(SceneCamera** camera) { assert(camera); if (*camera) { if ((*camera)->parent.val) { gfx_del_node((*camera)->parent); } mem_free_camera(camera); } } void gfx_set_camera_camera(SceneCamera* scene_camera, Camera* camera) { assert(scene_camera); assert(camera); scene_camera->camera = *camera; } Camera* gfx_get_camera_camera(SceneCamera* camera) { assert(camera); return &camera->camera; }