nuclear@4: #ifndef VR_IMPL_H_ nuclear@4: #define VR_IMPL_H_ nuclear@4: nuclear@4: struct vr_module { nuclear@4: char *name; nuclear@4: nuclear@4: int (*init)(void); nuclear@4: void (*cleanup)(void); nuclear@4: nuclear@4: void (*view_matrix)(int eye, float *mat); nuclear@4: void (*proj_matrix)(int eye, float *mat); nuclear@4: nuclear@5: void (*begin)(int eye); nuclear@5: void (*end)(void); nuclear@5: void (*present)(void); nuclear@4: }; nuclear@4: nuclear@4: void vr_init_modules(void); nuclear@4: nuclear@4: void vr_clear_modules(void); nuclear@4: void vr_register_module(struct vr_module *mod); nuclear@4: nuclear@4: int vr_get_num_modules(void); nuclear@4: struct vr_module *vr_get_module(int idx); nuclear@4: nuclear@4: void vr_activate_module(int idx); nuclear@4: nuclear@4: int vr_get_num_active_modules(void); nuclear@4: struct vr_module *vr_get_active_module(int idx); nuclear@4: nuclear@4: #endif /* VR_IMPL_H_ */