mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-05-28 03:59:55 +02:00
commit
7b0b56d793
4 changed files with 14 additions and 5 deletions
|
@ -137,12 +137,14 @@ ScrollingWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateVisiblity() {
|
function updateVisiblity() {
|
||||||
for (var i = 0; i < tabView.count; ++i) {
|
if (visible) {
|
||||||
if (tabView.getTab(i).enabled) {
|
for (var i = 0; i < tabView.count; ++i) {
|
||||||
return;
|
if (tabView.getTab(i).enabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
shown = false;
|
||||||
}
|
}
|
||||||
shown = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function findIndexForUrl(source) {
|
function findIndexForUrl(source) {
|
||||||
|
|
|
@ -425,7 +425,7 @@ glm::mat4 CompositorHelper::getReticleTransform(const glm::mat4& eyePose, const
|
||||||
d = glm::normalize(overlaySurfacePoint);
|
d = glm::normalize(overlaySurfacePoint);
|
||||||
}
|
}
|
||||||
reticlePosition = headPosition + (d * getReticleDepth());
|
reticlePosition = headPosition + (d * getReticleDepth());
|
||||||
quat reticleOrientation = glm::quat_cast(_currentDisplayPlugin->getHeadPose());
|
quat reticleOrientation = cancelOutRoll(glm::quat_cast(_currentDisplayPlugin->getHeadPose()));
|
||||||
vec3 reticleScale = vec3(Cursor::Manager::instance().getScale() * reticleSize * getReticleDepth());
|
vec3 reticleScale = vec3(Cursor::Manager::instance().getScale() * reticleSize * getReticleDepth());
|
||||||
return glm::inverse(eyePose) * createMatFromScaleQuatAndPos(reticleScale, reticleOrientation, reticlePosition);
|
return glm::inverse(eyePose) * createMatFromScaleQuatAndPos(reticleScale, reticleOrientation, reticlePosition);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -466,6 +466,12 @@ glm::mat4 createMatFromScaleQuatAndPos(const glm::vec3& scale, const glm::quat&
|
||||||
glm::vec4(zAxis, 0.0f), glm::vec4(trans, 1.0f));
|
glm::vec4(zAxis, 0.0f), glm::vec4(trans, 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cancel out roll
|
||||||
|
glm::quat cancelOutRoll(const glm::quat& q) {
|
||||||
|
glm::vec3 forward = q * Vectors::FRONT;
|
||||||
|
return glm::quat_cast(glm::inverse(glm::lookAt(Vectors::ZERO, forward, Vectors::UP)));
|
||||||
|
}
|
||||||
|
|
||||||
// cancel out roll and pitch
|
// cancel out roll and pitch
|
||||||
glm::quat cancelOutRollAndPitch(const glm::quat& q) {
|
glm::quat cancelOutRollAndPitch(const glm::quat& q) {
|
||||||
glm::vec3 zAxis = q * glm::vec3(0.0f, 0.0f, 1.0f);
|
glm::vec3 zAxis = q * glm::vec3(0.0f, 0.0f, 1.0f);
|
||||||
|
|
|
@ -221,6 +221,7 @@ glm::detail::tvec4<T, P> lerp(const glm::detail::tvec4<T, P>& x, const glm::deta
|
||||||
|
|
||||||
glm::mat4 createMatFromQuatAndPos(const glm::quat& q, const glm::vec3& p);
|
glm::mat4 createMatFromQuatAndPos(const glm::quat& q, const glm::vec3& p);
|
||||||
glm::mat4 createMatFromScaleQuatAndPos(const glm::vec3& scale, const glm::quat& rot, const glm::vec3& trans);
|
glm::mat4 createMatFromScaleQuatAndPos(const glm::vec3& scale, const glm::quat& rot, const glm::vec3& trans);
|
||||||
|
glm::quat cancelOutRoll(const glm::quat& q);
|
||||||
glm::quat cancelOutRollAndPitch(const glm::quat& q);
|
glm::quat cancelOutRollAndPitch(const glm::quat& q);
|
||||||
glm::mat4 cancelOutRollAndPitch(const glm::mat4& m);
|
glm::mat4 cancelOutRollAndPitch(const glm::mat4& m);
|
||||||
glm::vec3 transformPoint(const glm::mat4& m, const glm::vec3& p);
|
glm::vec3 transformPoint(const glm::mat4& m, const glm::vec3& p);
|
||||||
|
|
Loading…
Reference in a new issue