VOX_EXPORT struct vox_camera_interface * vox_camera_methods(const char *name)
Get camera methods.
VOX_EXPORT void vox_use_camera_methods(struct vox_camera *camera, const struct vox_camera_interface *iface)
Use defined camera methods from another interface implementation.
VOX_EXPORT void vox_init_camera(struct vox_camera *camera)
Initialize camera.
Common object definitions and dummy methods.
A camera user interface.
Definition: camera.h:18
void(* rotate_camera)(struct vox_camera *camera, const vox_dot delta)
Rotate the camera.
Definition: camera.h:34
void(* screen2world)(const struct vox_camera *camera, vox_dot ray, int sx, int sy)
Translate screen coordinated to a direction vector.
Definition: camera.h:25
void(* get_position)(const struct vox_camera *camera, vox_dot res)
Get camera position.
Definition: camera.h:67
void(* set_window_size)(struct vox_camera *camera, int w, int h)
Set screen/window size for a camera.
Definition: camera.h:76
void(* destroy_camera)(struct vox_camera *camera)
Destroy camera after use.
Definition: camera.h:111
void(* move_camera)(struct vox_camera *camera, const vox_dot delta)
Move the camera.
Definition: camera.h:46
void(* look_at)(struct vox_camera *camera, const vox_dot coord)
Look at the object.
Definition: camera.h:54
A generic camera class.
Definition: camera.h:135
struct vox_camera_interface * iface
camera methods
Definition: camera.h:136