void HeadTrackingCamera::update_from_matrix(const GL::Matrix &hmd_matrix)
{
- const GL::Vector3 &up_dir = base_camera.get_up_direction();
- GL::Vector3 right_dir = normalize(cross(base_camera.get_look_direction(), up_dir));
+ const GL::Vector3 &up = base_camera.get_up_direction();
+ GL::Vector3 right = normalize(cross(base_camera.get_look_direction(), up));
GL::Vector4 columns[4];
- columns[0] = compose(right_dir, 0.0f);
- columns[1] = compose(up_dir, 0.0f);
- columns[2] = compose(cross(right_dir, up_dir), 0.0f);
+ columns[0] = compose(right, 0.0f);
+ columns[1] = compose(up, 0.0f);
+ columns[2] = compose(cross(right, up), 0.0f);
columns[3] = compose(base_camera.get_position(), 1.0f);
GL::Matrix matrix = GL::Matrix::from_columns(columns)*hmd_matrix;