mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-06 11:09:22 +02:00
Upgraded Oculus SDKs to latest
This commit is contained in:
parent
57c83b14da
commit
65fb1320cc
5 changed files with 21 additions and 21 deletions
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
macro(target_oculus_mobile)
|
macro(target_oculus_mobile)
|
||||||
set(INSTALL_DIR ${HIFI_ANDROID_PRECOMPILED}/oculus_1.22/VrApi)
|
set(INSTALL_DIR ${HIFI_ANDROID_PRECOMPILED}/ovr_sdk_mobile_1.37.0/VrApi)
|
||||||
|
|
||||||
# Mobile SDK
|
# Mobile SDK
|
||||||
set(OVR_MOBILE_INCLUDE_DIRS ${INSTALL_DIR}/Include)
|
set(OVR_MOBILE_INCLUDE_DIRS ${INSTALL_DIR}/Include)
|
||||||
|
@ -12,7 +12,7 @@ macro(target_oculus_mobile)
|
||||||
target_link_libraries(${TARGET_NAME} ${OVR_MOBILE_LIBRARIES})
|
target_link_libraries(${TARGET_NAME} ${OVR_MOBILE_LIBRARIES})
|
||||||
|
|
||||||
# Platform SDK
|
# Platform SDK
|
||||||
set(INSTALL_DIR ${HIFI_ANDROID_PRECOMPILED}/oculusPlatform)
|
set(INSTALL_DIR ${HIFI_ANDROID_PRECOMPILED}/ovr_platform_sdk_23.0.0)
|
||||||
set(OVR_PLATFORM_INCLUDE_DIRS ${INSTALL_DIR}/Include)
|
set(OVR_PLATFORM_INCLUDE_DIRS ${INSTALL_DIR}/Include)
|
||||||
target_include_directories(${TARGET_NAME} PRIVATE ${OVR_PLATFORM_INCLUDE_DIRS})
|
target_include_directories(${TARGET_NAME} PRIVATE ${OVR_PLATFORM_INCLUDE_DIRS})
|
||||||
set(OVR_PLATFORM_LIBRARIES ${INSTALL_DIR}/Android/libs/arm64-v8a/libovrplatformloader.so)
|
set(OVR_PLATFORM_LIBRARIES ${INSTALL_DIR}/Android/libs/arm64-v8a/libovrplatformloader.so)
|
||||||
|
|
|
@ -39,15 +39,15 @@ ANDROID_PACKAGES = {
|
||||||
'sharedLibFolder': 'lib',
|
'sharedLibFolder': 'lib',
|
||||||
'includeLibs': ['libnvtt.so', 'libnvmath.so', 'libnvimage.so', 'libnvcore.so']
|
'includeLibs': ['libnvtt.so', 'libnvmath.so', 'libnvimage.so', 'libnvcore.so']
|
||||||
},
|
},
|
||||||
'oculus_1.22': {
|
'ovr_sdk_mobile_1.37.0': {
|
||||||
'file': 'ovr_sdk_mobile_1.22.zip',
|
'file': 'ovr_sdk_mobile_1.37.0.zip',
|
||||||
'checksum': '1ac3c5b0521e5406f287f351015daff8',
|
'checksum': '6040e1966f335a3e5015295154cd7383',
|
||||||
'sharedLibFolder': 'VrApi/Libs/Android/arm64-v8a/Release',
|
'sharedLibFolder': 'VrApi/Libs/Android/arm64-v8a/Release',
|
||||||
'includeLibs': ['libvrapi.so']
|
'includeLibs': ['libvrapi.so']
|
||||||
},
|
},
|
||||||
'oculusPlatform': {
|
'ovr_platform_sdk_23.0.0': {
|
||||||
'file': 'OVRPlatformSDK_v1.34.0.zip',
|
'file': 'ovr_platform_sdk_23.0.0.zip',
|
||||||
'checksum': '16e4c5f39520f122bc49cb6d5bb88289',
|
'checksum': '29d02b560f60d0fa7b8a64cd965dd55b',
|
||||||
'sharedLibFolder': 'Android/libs/arm64-v8a',
|
'sharedLibFolder': 'Android/libs/arm64-v8a',
|
||||||
'includeLibs': ['libovrplatformloader.so']
|
'includeLibs': ['libovrplatformloader.so']
|
||||||
},
|
},
|
||||||
|
|
|
@ -31,9 +31,9 @@ static inline void for_each_eye(const std::function<void(ovrEye)>& f) {
|
||||||
f(VRAPI_EYE_RIGHT);
|
f(VRAPI_EYE_RIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void for_each_hand(const std::function<void(ovrHandedness)>& f) {
|
static inline void for_each_hand(const std::function<void(ovrTrackedDeviceTypeId)>& f) {
|
||||||
f(VRAPI_HAND_LEFT);
|
f(VRAPI_TRACKED_DEVICE_HAND_LEFT);
|
||||||
f(VRAPI_HAND_RIGHT);
|
f(VRAPI_TRACKED_DEVICE_HAND_RIGHT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline glm::mat4 toGlm(const ovrMatrix4f& om) {
|
static inline glm::mat4 toGlm(const ovrMatrix4f& om) {
|
||||||
|
|
|
@ -324,7 +324,7 @@ struct VrSurface : public TaskQueue {
|
||||||
vrapi_SetTrackingSpace( session, VRAPI_TRACKING_SPACE_LOCAL);
|
vrapi_SetTrackingSpace( session, VRAPI_TRACKING_SPACE_LOCAL);
|
||||||
vrapi_SetPerfThread(session, VRAPI_PERF_THREAD_TYPE_RENDERER, gettid());
|
vrapi_SetPerfThread(session, VRAPI_PERF_THREAD_TYPE_RENDERER, gettid());
|
||||||
vrapi_SetClockLevels(session, 2, 4);
|
vrapi_SetClockLevels(session, 2, 4);
|
||||||
vrapi_SetExtraLatencyMode(session, VRAPI_EXTRA_LATENCY_MODE_DYNAMIC);
|
vrapi_SetExtraLatencyMode(session, VRAPI_EXTRA_LATENCY_MODE_ON);
|
||||||
// Generates a warning on the quest: "vrapi_SetDisplayRefreshRate: Dynamic Display Refresh Rate not supported"
|
// Generates a warning on the quest: "vrapi_SetDisplayRefreshRate: Dynamic Display Refresh Rate not supported"
|
||||||
// vrapi_SetDisplayRefreshRate(session, 72);
|
// vrapi_SetDisplayRefreshRate(session, 72);
|
||||||
});
|
});
|
||||||
|
|
|
@ -31,7 +31,7 @@ const quint64 LOST_TRACKING_DELAY = 3000000;
|
||||||
|
|
||||||
namespace ovr {
|
namespace ovr {
|
||||||
|
|
||||||
controller::Pose toControllerPose(ovrHandedness hand, const ovrRigidBodyPosef& handPose) {
|
controller::Pose toControllerPose(ovrTrackedDeviceTypeId hand, const ovrRigidBodyPosef& handPose) {
|
||||||
// When the sensor-to-world rotation is identity the coordinate axes look like this:
|
// When the sensor-to-world rotation is identity the coordinate axes look like this:
|
||||||
//
|
//
|
||||||
// user
|
// user
|
||||||
|
@ -111,7 +111,7 @@ namespace ovr {
|
||||||
return pose;
|
return pose;
|
||||||
}
|
}
|
||||||
|
|
||||||
controller::Pose toControllerPose(ovrHandedness hand,
|
controller::Pose toControllerPose(ovrTrackedDeviceTypeId hand,
|
||||||
const ovrRigidBodyPosef& handPose,
|
const ovrRigidBodyPosef& handPose,
|
||||||
const ovrRigidBodyPosef& lastHandPose) {
|
const ovrRigidBodyPosef& lastHandPose) {
|
||||||
static const glm::quat yFlip = glm::angleAxis(PI, Vectors::UNIT_Y);
|
static const glm::quat yFlip = glm::angleAxis(PI, Vectors::UNIT_Y);
|
||||||
|
@ -165,9 +165,9 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void handlePose(float deltaTime, const controller::InputCalibrationData& inputCalibrationData,
|
void handlePose(float deltaTime, const controller::InputCalibrationData& inputCalibrationData,
|
||||||
ovrHandedness hand, const ovrRigidBodyPosef& handPose);
|
ovrTrackedDeviceTypeId hand, const ovrRigidBodyPosef& handPose);
|
||||||
void handleRotationForUntrackedHand(const controller::InputCalibrationData& inputCalibrationData,
|
void handleRotationForUntrackedHand(const controller::InputCalibrationData& inputCalibrationData,
|
||||||
ovrHandedness hand, const ovrRigidBodyPosef& handPose);
|
ovrTrackedDeviceTypeId hand, const ovrRigidBodyPosef& handPose);
|
||||||
void handleHeadPose(float deltaTime, const controller::InputCalibrationData& inputCalibrationData,
|
void handleHeadPose(float deltaTime, const controller::InputCalibrationData& inputCalibrationData,
|
||||||
const ovrRigidBodyPosef& headPose);
|
const ovrRigidBodyPosef& headPose);
|
||||||
|
|
||||||
|
@ -379,9 +379,9 @@ void OculusMobileInputDevice::update(float deltaTime, const controller::InputCal
|
||||||
handleHeadPose(deltaTime, inputCalibrationData, _headTracking.HeadPose);
|
handleHeadPose(deltaTime, inputCalibrationData, _headTracking.HeadPose);
|
||||||
|
|
||||||
static const auto REQUIRED_HAND_STATUS = VRAPI_TRACKING_STATUS_ORIENTATION_TRACKED | VRAPI_TRACKING_STATUS_POSITION_TRACKED;
|
static const auto REQUIRED_HAND_STATUS = VRAPI_TRACKING_STATUS_ORIENTATION_TRACKED | VRAPI_TRACKING_STATUS_POSITION_TRACKED;
|
||||||
ovr::for_each_hand([&](ovrHandedness hand) {
|
ovr::for_each_hand([&](ovrTrackedDeviceTypeId hand) {
|
||||||
size_t handIndex = (hand == VRAPI_HAND_LEFT) ? 0 : 1;
|
size_t handIndex = (hand == VRAPI_TRACKED_DEVICE_HAND_LEFT) ? 0 : 1;
|
||||||
int controller = (hand == VRAPI_HAND_LEFT) ? controller::LEFT_HAND : controller::RIGHT_HAND;
|
int controller = (hand == VRAPI_TRACKED_DEVICE_HAND_LEFT) ? controller::LEFT_HAND : controller::RIGHT_HAND;
|
||||||
auto& handData = _hands[handIndex];
|
auto& handData = _hands[handIndex];
|
||||||
const auto& tracking = handData.tracking;
|
const auto& tracking = handData.tracking;
|
||||||
++numTrackedControllers;
|
++numTrackedControllers;
|
||||||
|
@ -476,7 +476,7 @@ void OculusMobileInputDevice::focusOutEvent() {
|
||||||
|
|
||||||
void OculusMobileInputDevice::handlePose(float deltaTime,
|
void OculusMobileInputDevice::handlePose(float deltaTime,
|
||||||
const controller::InputCalibrationData& inputCalibrationData,
|
const controller::InputCalibrationData& inputCalibrationData,
|
||||||
ovrHandedness hand, const ovrRigidBodyPosef& handPose) {
|
ovrTrackedDeviceTypeId hand, const ovrRigidBodyPosef& handPose) {
|
||||||
auto poseId = (hand == VRAPI_HAND_LEFT) ? controller::LEFT_HAND : controller::RIGHT_HAND;
|
auto poseId = (hand == VRAPI_HAND_LEFT) ? controller::LEFT_HAND : controller::RIGHT_HAND;
|
||||||
auto& pose = _poseStateMap[poseId];
|
auto& pose = _poseStateMap[poseId];
|
||||||
pose = ovr::toControllerPose(hand, handPose);
|
pose = ovr::toControllerPose(hand, handPose);
|
||||||
|
@ -507,7 +507,7 @@ void OculusMobileInputDevice::handleHeadPose(float deltaTime,
|
||||||
}
|
}
|
||||||
|
|
||||||
void OculusMobileInputDevice::handleRotationForUntrackedHand(const controller::InputCalibrationData& inputCalibrationData,
|
void OculusMobileInputDevice::handleRotationForUntrackedHand(const controller::InputCalibrationData& inputCalibrationData,
|
||||||
ovrHandedness hand, const ovrRigidBodyPosef& handPose) {
|
ovrTrackedDeviceTypeId hand, const ovrRigidBodyPosef& handPose) {
|
||||||
auto poseId = (hand == VRAPI_HAND_LEFT ? controller::LEFT_HAND : controller::RIGHT_HAND);
|
auto poseId = (hand == VRAPI_HAND_LEFT ? controller::LEFT_HAND : controller::RIGHT_HAND);
|
||||||
auto& pose = _poseStateMap[poseId];
|
auto& pose = _poseStateMap[poseId];
|
||||||
const auto& lastHandPose = (hand == VRAPI_HAND_LEFT) ? _hands[0].lastPose : _hands[1].lastPose;
|
const auto& lastHandPose = (hand == VRAPI_HAND_LEFT) ? _hands[0].lastPose : _hands[1].lastPose;
|
||||||
|
|
Loading…
Reference in a new issue