istereo

annotate src/cam.h @ 20:21d58290e634

forgot the cam files
author John Tsiombikas <nuclear@mutantstargoat.com>
date Wed, 07 Sep 2011 10:15:35 +0300
parents
children ff055bff6a15
rev   line source
nuclear@20 1 #ifndef CAM_H_
nuclear@20 2 #define CAM_H_
nuclear@20 3
nuclear@20 4 enum {
nuclear@20 5 CAM_CENTER,
nuclear@20 6 CAM_LEFT,
nuclear@20 7 CAM_RIGHT
nuclear@20 8 };
nuclear@20 9
nuclear@20 10 /* reset to the initial state */
nuclear@20 11 void cam_reset(void); /* all */
nuclear@20 12 void cam_reset_view(void); /* view parameters */
nuclear@20 13 void cam_reset_proj(void); /* projection parameters */
nuclear@20 14 void cam_reset_stereo(void); /* stereo parameters */
nuclear@20 15
nuclear@20 16 /* camera viewing parameters */
nuclear@20 17 void cam_pan(int dx, int dy); /* pan across X/Z plane */
nuclear@20 18 void cam_height(int dh); /* move verticaly */
nuclear@20 19 void cam_rotate(int dx, int dy); /* rotate around local Y and X axis */
nuclear@20 20 void cam_zoom(int dz); /* dolly the camera fwd/back */
nuclear@20 21
nuclear@20 22 /* camera projection parameters */
nuclear@20 23 void cam_clip(float n, float f); /* set clipping planes */
nuclear@20 24 void cam_fov(float f); /* vertical field of view in degrees */
nuclear@20 25 void cam_aspect(float a); /* aspect ratio (width / height) */
nuclear@20 26
nuclear@20 27 /* stereo parameters */
nuclear@20 28 void cam_separation(float s);
nuclear@20 29 void cam_focus_dist(float d);
nuclear@20 30
nuclear@20 31 /* multiply the camera view matrix on top of the current matrix stack
nuclear@20 32 * (which should be GL_MODELVIEW)
nuclear@20 33 */
nuclear@20 34 void cam_view_matrix(void);
nuclear@20 35 void cam_stereo_view_matrix(int eye);
nuclear@20 36
nuclear@20 37 /* multiply the camera projection matrix on top of the current matrix stack
nuclear@20 38 * (which should be GL_PROJECTION)
nuclear@20 39 */
nuclear@20 40 void cam_proj_matrix(void);
nuclear@20 41 void cam_stereo_proj_matrix(int eye);
nuclear@20 42
nuclear@20 43 #endif /* CAM_H_ */