vr input
[laserbrain_demo] / src / vrinput.cc
diff --git a/src/vrinput.cc b/src/vrinput.cc
new file mode 100644 (file)
index 0000000..e488c74
--- /dev/null
@@ -0,0 +1,41 @@
+#include <string.h>
+#include "vrinput.h"
+#include "scene.h"
+
+VRHand vrhand[2];
+
+static Scene *scn;
+
+bool init_vrhands()
+{
+       scn = new Scene;
+       if(!(scn->load("data/vrhands.obj"))) {
+               return false;
+       }
+       return true;
+}
+
+void destroy_vrhands()
+{
+       delete scn;
+       scn = 0;
+}
+
+void update_vrhands()
+{
+       for(int i=0; i<2; i++) {
+               if(!(vrhand[i].src = goatvr_get_hand_tracker(i))) {
+                       vrhand[i].valid = false;
+                       continue;
+               }
+               goatvr_source_position(vrhand[i].src, &vrhand[i].pos.x);
+               goatvr_source_orientation(vrhand[i].src, &vrhand[i].rot.x);
+               float *mat = goatvr_source_matrix(vrhand[i].src);
+               memcpy(vrhand[i].xform[0], mat, 16 * sizeof(float));
+               vrhand[i].valid = true;
+       }
+}
+
+void draw_vrhands()
+{
+}