techkaczynski.dev / code

summaryrefslogtreecommitdiff
path: root/cam.h
diff options
context:
space:
mode:
Diffstat (limited to 'cam.h')
-rw-r--r--cam.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/cam.h b/cam.h
index 4b2465b..8af2614 100644
--- a/cam.h
+++ b/cam.h
@@ -6,19 +6,29 @@
typedef enum {
CAM_MODE_NONE,
CAM_MODE_EDIT_FLY,
- // CAM_MODE_EDIT_ORTHO,
+ CAM_MODE_EDIT_ORBIT,
} CamState;
typedef struct {
Camera cam;
CamState state;
f32 mv_speed, mv_scale, lk_speed;
- bool update;
+ f32 perspective_fov;
+ bool update, input, allow_fly;
+
+ struct {
+ Vec3 start_pos, start_target;
+ Vec3 end_pos, end_target;
+ f32 start_fovy, end_fovy;
+ f32 elapsed;
+ bool active;
+ } transition;
} CameraInfo;
extern CameraInfo main_cam;
-void cam_init(void);
-void cam_ctrl_editor(void);
+void cam_init(void);
+void cam_update(void);
+void cam_focus(Vec3 target, f32 distance, f32 view_height);
#endif