conworlds

annotate src/vr/vr.h @ 5:8b7da5ab814e

vr wrapper in progress
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 20 Aug 2014 16:34:43 +0300
parents e6948e131526
children 3c36bc28c6c2
rev   line source
nuclear@4 1 #ifndef VR_H_
nuclear@4 2 #define VR_H_
nuclear@4 3
nuclear@5 4 enum {
nuclear@5 5 VR_EYE_LEFT,
nuclear@5 6 VR_EYE_RIGHT
nuclear@5 7 };
nuclear@5 8
nuclear@4 9 #ifdef __cplusplus
nuclear@4 10 extern "C" {
nuclear@4 11 #endif
nuclear@4 12
nuclear@4 13 int vr_init(void);
nuclear@4 14 void vr_shutdown(void);
nuclear@4 15
nuclear@4 16 int vr_module_count(void);
nuclear@4 17 const char *vr_module_name(int idx);
nuclear@4 18
nuclear@4 19 int vr_use_module(int idx);
nuclear@4 20 int vr_use_module_named(const char *name);
nuclear@4 21
nuclear@5 22 /* if we're using a vr module which requires a specific output resolution, vr_display_size
nuclear@5 23 * returns non-zero, and writes the size through the xsz/ysz pointers. Otherwise returns 0
nuclear@5 24 */
nuclear@5 25 int vr_display_size(int *xsz, int *ysz);
nuclear@5 26 int vr_eye_texture_size(int eye, int *xsz, int *ysz);
nuclear@5 27
nuclear@4 28 /* returns non-zero if the active vr module provides this kind of matrix
nuclear@4 29 * information, otherwise it returns zero, and sets mat to identity
nuclear@4 30 */
nuclear@4 31 int vr_view_matrix(int eye, float *mat);
nuclear@4 32 int vr_proj_matrix(int eye, float *mat);
nuclear@4 33
nuclear@5 34 void vr_begin(int eye);
nuclear@5 35 void vr_end(void);
nuclear@5 36 void vr_present(void);
nuclear@4 37
nuclear@4 38 #ifdef __cplusplus
nuclear@4 39 }
nuclear@4 40 #endif
nuclear@4 41
nuclear@4 42 #endif /* VR_H_ */