mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 06:23:06 +02:00
Merge pull request #3643 from ctrlaltdavid/rift-calibration-countdown
Rift calibration countdown
This commit is contained in:
commit
0525c562b0
3 changed files with 15 additions and 12 deletions
|
@ -66,8 +66,6 @@ glm::vec3 OculusManager::_calibrationPosition;
|
||||||
glm::quat OculusManager::_calibrationOrientation;
|
glm::quat OculusManager::_calibrationOrientation;
|
||||||
quint64 OculusManager::_calibrationStartTime;
|
quint64 OculusManager::_calibrationStartTime;
|
||||||
int OculusManager::_calibrationMessage = NULL;
|
int OculusManager::_calibrationMessage = NULL;
|
||||||
QString OculusManager::CALIBRATION_BILLBOARD_URL = "http://hifi-public.s3.amazonaws.com/images/hold-to-calibrate.svg";
|
|
||||||
float OculusManager::CALIBRATION_BILLBOARD_SCALE = 2.f;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -191,7 +189,7 @@ void OculusManager::disconnect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_LIBOVR
|
#ifdef HAVE_LIBOVR
|
||||||
void OculusManager::positionCalibrationBillboard(BillboardOverlay* billboard) {
|
void OculusManager::positionCalibrationBillboard(Text3DOverlay* billboard) {
|
||||||
glm::quat headOrientation = Application::getInstance()->getAvatar()->getHeadOrientation();
|
glm::quat headOrientation = Application::getInstance()->getAvatar()->getHeadOrientation();
|
||||||
headOrientation.x = 0;
|
headOrientation.x = 0;
|
||||||
headOrientation.z = 0;
|
headOrientation.z = 0;
|
||||||
|
@ -204,8 +202,9 @@ void OculusManager::positionCalibrationBillboard(BillboardOverlay* billboard) {
|
||||||
|
|
||||||
#ifdef HAVE_LIBOVR
|
#ifdef HAVE_LIBOVR
|
||||||
void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {
|
void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {
|
||||||
|
static QString instructionMessage = "Hold still to calibrate";
|
||||||
static QString progressMessage;
|
static QString progressMessage;
|
||||||
static BillboardOverlay* billboard;
|
static Text3DOverlay* billboard;
|
||||||
|
|
||||||
switch (_calibrationState) {
|
switch (_calibrationState) {
|
||||||
|
|
||||||
|
@ -235,9 +234,13 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {
|
||||||
if (!_calibrationMessage) {
|
if (!_calibrationMessage) {
|
||||||
qDebug() << "Hold still to calibrate HMD";
|
qDebug() << "Hold still to calibrate HMD";
|
||||||
|
|
||||||
billboard = new BillboardOverlay();
|
billboard = new Text3DOverlay();
|
||||||
billboard->setURL(CALIBRATION_BILLBOARD_URL);
|
billboard->setDimensions(glm::vec2(2.0f, 1.25f));
|
||||||
billboard->setScale(CALIBRATION_BILLBOARD_SCALE);
|
billboard->setTopMargin(0.35f);
|
||||||
|
billboard->setLeftMargin(0.28f);
|
||||||
|
billboard->setText(instructionMessage);
|
||||||
|
billboard->setAlpha(0.5f);
|
||||||
|
billboard->setLineHeight(0.1f);
|
||||||
billboard->setIsFacingAvatar(false);
|
billboard->setIsFacingAvatar(false);
|
||||||
positionCalibrationBillboard(billboard);
|
positionCalibrationBillboard(billboard);
|
||||||
|
|
||||||
|
@ -275,7 +278,7 @@ void OculusManager::calibrate(glm::vec3 position, glm::quat orientation) {
|
||||||
} else {
|
} else {
|
||||||
progressMessage += ".";
|
progressMessage += ".";
|
||||||
}
|
}
|
||||||
//qDebug() << progressMessage; // Progress message ready for 3D text overlays.
|
billboard->setText(instructionMessage + "\n\n" + progressMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "renderer/ProgramObject.h"
|
#include "renderer/ProgramObject.h"
|
||||||
#include "ui/overlays/BillboardOverlay.h"
|
#include "ui/overlays/Text3DOverlay.h"
|
||||||
|
|
||||||
const float DEFAULT_OCULUS_UI_ANGULAR_SIZE = 72.0f;
|
const float DEFAULT_OCULUS_UI_ANGULAR_SIZE = 72.0f;
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ private:
|
||||||
WAITING_FOR_ZERO_HELD,
|
WAITING_FOR_ZERO_HELD,
|
||||||
CALIBRATED
|
CALIBRATED
|
||||||
};
|
};
|
||||||
static void positionCalibrationBillboard(BillboardOverlay* billboard);
|
static void positionCalibrationBillboard(Text3DOverlay* message);
|
||||||
static float CALIBRATION_DELTA_MINIMUM_LENGTH;
|
static float CALIBRATION_DELTA_MINIMUM_LENGTH;
|
||||||
static float CALIBRATION_DELTA_MINIMUM_ANGLE;
|
static float CALIBRATION_DELTA_MINIMUM_ANGLE;
|
||||||
static float CALIBRATION_ZERO_MAXIMUM_LENGTH;
|
static float CALIBRATION_ZERO_MAXIMUM_LENGTH;
|
||||||
|
@ -123,8 +123,6 @@ private:
|
||||||
static glm::quat _calibrationOrientation;
|
static glm::quat _calibrationOrientation;
|
||||||
static quint64 _calibrationStartTime;
|
static quint64 _calibrationStartTime;
|
||||||
static int _calibrationMessage;
|
static int _calibrationMessage;
|
||||||
static QString CALIBRATION_BILLBOARD_URL;
|
|
||||||
static float CALIBRATION_BILLBOARD_SCALE;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ public:
|
||||||
float getTopMargin() const { return _topMargin; }
|
float getTopMargin() const { return _topMargin; }
|
||||||
float getRightMargin() const { return _rightMargin; }
|
float getRightMargin() const { return _rightMargin; }
|
||||||
float getBottomMargin() const { return _bottomMargin; }
|
float getBottomMargin() const { return _bottomMargin; }
|
||||||
|
bool getIsFacingAvatar() const { return _isFacingAvatar; }
|
||||||
xColor getBackgroundColor();
|
xColor getBackgroundColor();
|
||||||
|
|
||||||
// setters
|
// setters
|
||||||
|
@ -41,6 +42,7 @@ public:
|
||||||
void setTopMargin(float margin) { _topMargin = margin; }
|
void setTopMargin(float margin) { _topMargin = margin; }
|
||||||
void setRightMargin(float margin) { _rightMargin = margin; }
|
void setRightMargin(float margin) { _rightMargin = margin; }
|
||||||
void setBottomMargin(float margin) { _bottomMargin = margin; }
|
void setBottomMargin(float margin) { _bottomMargin = margin; }
|
||||||
|
void setIsFacingAvatar(bool isFacingAvatar) { _isFacingAvatar = isFacingAvatar; }
|
||||||
|
|
||||||
virtual void setProperties(const QScriptValue& properties);
|
virtual void setProperties(const QScriptValue& properties);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue