Merge pull request #4854 from ctrlaltdavid/fix-facetracker-rotation

Fix facetracker rotation
This commit is contained in:
Philip Rosedale 2015-05-15 17:17:30 -07:00
commit 0d00393eff
2 changed files with 2 additions and 2 deletions

View file

@ -388,7 +388,7 @@ void DdeFaceTracker::decodePacket(const QByteArray& buffer) {
// Compute relative rotation
rotation = glm::inverse(_referenceRotation) * rotation;
if (isFiltering) {
glm::quat r = rotation * glm::inverse(_headRotation);
glm::quat r = glm::normalize(rotation * glm::inverse(_headRotation));
float theta = 2 * acos(r.w);
glm::vec3 angularVelocity;
if (theta > EPSILON) {

View file

@ -213,7 +213,7 @@ void Faceshift::receive(const QByteArray& buffer) {
glm::quat newRotation = glm::quat(data.m_headRotation.w, -data.m_headRotation.x,
data.m_headRotation.y, -data.m_headRotation.z);
// Compute angular velocity of the head
glm::quat r = newRotation * glm::inverse(_headRotation);
glm::quat r = glm::normalize(newRotation * glm::inverse(_headRotation));
float theta = 2 * acos(r.w);
if (theta > EPSILON) {
float rMag = glm::length(glm::vec3(r.x, r.y, r.z));