oculus1

diff src/main.cc @ 10:b2abb08c8f94

proper FPS-style vr tracking
author John Tsiombikas <nuclear@member.fsf.org>
date Fri, 20 Sep 2013 06:49:39 +0300
parents b66b54a68dfd
children 39ec672a5158
line diff
     1.1 --- a/src/main.cc	Thu Sep 19 06:36:48 2013 +0300
     1.2 +++ b/src/main.cc	Fri Sep 20 06:49:39 2013 +0300
     1.3 @@ -20,7 +20,7 @@
     1.4  static void sball_rotate(int rx, int ry, int rz);
     1.5  static bool parse_args(int argc, char **argv);
     1.6  
     1.7 -static FpsCamera cam;
     1.8 +static VRFpsCamera cam;
     1.9  static int width, height;
    1.10  static bool use_vr = false;
    1.11  static bool mouselook = false;
    1.12 @@ -90,21 +90,6 @@
    1.13  {
    1.14  	unsigned int msec = glutGet(GLUT_ELAPSED_TIME);
    1.15  
    1.16 -	// test rift sensor
    1.17 -	float quat[4], euler[3];
    1.18 -
    1.19 -	vr_get_rotation(quat);
    1.20 -	vr_get_rotation_euler(euler);
    1.21 -
    1.22 -	Quaternion qrot(quat[3], quat[0], quat[1], quat[2]);
    1.23 -
    1.24 -	static unsigned int prev_print;
    1.25 -	if(msec - prev_print > 1000) {
    1.26 -		printf("q(%.3f + %.3fi + %.3fj + %.3fk)", quat[3], quat[0], quat[1], quat[2]);
    1.27 -		printf(" - euler(%.3f %.3f %.3f)\n", euler[0], euler[1], euler[2]);
    1.28 -		prev_print = msec;
    1.29 -	}
    1.30 -
    1.31  	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    1.32  
    1.33  	glMatrixMode(GL_PROJECTION);
    1.34 @@ -114,9 +99,7 @@
    1.35  	glMatrixMode(GL_MODELVIEW);
    1.36  	glLoadIdentity();
    1.37  
    1.38 -	Matrix4x4 mat = qrot.inverse().get_rotation_matrix();
    1.39 -	load_matrix(mat);
    1.40 -
    1.41 +	cam.track_vr();
    1.42  	cam.use_inverse();
    1.43  
    1.44  	draw_scene();