From b6bc467f4b66702e8cbafbe08b697ae448f5d650 Mon Sep 17 00:00:00 2001 From: Angus Antley Date: Thu, 21 Feb 2019 06:42:55 -0800 Subject: [PATCH] added HIFI_USE_Q_OS_ANDROID to cmake lists and to MySkeletonModel --- CMakeLists.txt | 15 +++++++++------ interface/src/avatar/MySkeletonModel.cpp | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 045234ebe1..5bd4d4620b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,6 +52,7 @@ else() set(MOBILE 0) endif() +set(HIFI_USE_Q_OS_ANDROID_OPTION OFF) set(BUILD_CLIENT_OPTION ON) set(BUILD_SERVER_OPTION ON) set(BUILD_TESTS_OPTION OFF) @@ -108,7 +109,7 @@ if (USE_GLES AND (NOT ANDROID)) set(DISABLE_QML_OPTION ON) endif() - +option(HIFI_USE_Q_OS_ANDROID "USE OPTIMIZED IK" ${HIFI_USE_Q_OS_ANDROID_OPTION}) option(BUILD_CLIENT "Build client components" ${BUILD_CLIENT_OPTION}) option(BUILD_SERVER "Build server components" ${BUILD_SERVER_OPTION}) option(BUILD_TESTS "Build tests" ${BUILD_TESTS_OPTION}) @@ -139,6 +140,7 @@ foreach(PLATFORM_QT_COMPONENT ${PLATFORM_QT_COMPONENTS}) list(APPEND PLATFORM_QT_LIBRARIES "Qt5::${PLATFORM_QT_COMPONENT}") endforeach() +MESSAGE(STATUS "USE OPTIMIZED IK: " ${HIFI_USE_Q_OS_ANDROID}) MESSAGE(STATUS "Build server: " ${BUILD_SERVER}) MESSAGE(STATUS "Build client: " ${BUILD_CLIENT}) MESSAGE(STATUS "Build tests: " ${BUILD_TESTS}) @@ -184,6 +186,12 @@ find_package( Threads ) add_definitions(-DGLM_FORCE_RADIANS) add_definitions(-DGLM_ENABLE_EXPERIMENTAL) add_definitions(-DGLM_FORCE_CTOR_INIT) +#add_definitions(-DHIFI_USE_Q_OS_ANDROID) +#option(HIFI_USE_Q_OS_ANDROID_OPTION "hifi_use_optimized_ik" OFF) +if (HIFI_USE_Q_OS_ANDROID) + MESSAGE(STATUS "SET THE USE IK DEFINITION ") + add_definitions(-DHIFI_USE_Q_OS_ANDROID) +endif() set(HIFI_LIBRARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries") set(EXTERNAL_PROJECT_PREFIX "project") @@ -236,11 +244,6 @@ if (BUILD_TESTS) endif() endif() -set(HIFI_USE_Q_OS_ANDROID=TRUE) -if (HIFI_USE_Q_OS_ANDROID) - add_definitions(-DHIFI_USE_Q_OS_ANDROID=TRUE) -endif() - if (BUILD_INSTALLER) if (UNIX) install( diff --git a/interface/src/avatar/MySkeletonModel.cpp b/interface/src/avatar/MySkeletonModel.cpp index 5837e0a84c..86a0dceae0 100755 --- a/interface/src/avatar/MySkeletonModel.cpp +++ b/interface/src/avatar/MySkeletonModel.cpp @@ -250,7 +250,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { AnimPose headAvatarSpace(avatarHeadPose.getRotation(), avatarHeadPose.getTranslation()); AnimPose headRigSpace = avatarToRigPose * headAvatarSpace; AnimPose hipsRigSpace = sensorToRigPose * sensorHips; -#if defined(Q_OS_ANDROID) || defined(USE_Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(HIFI_USE_Q_OS_ANDROID) glm::vec3 spine2TargetTranslation = computeSpine2WithHeadHipsSpline(myAvatar, hipsRigSpace, headRigSpace); #endif const float SPINE2_ROTATION_FILTER = 0.5f; @@ -274,7 +274,7 @@ void MySkeletonModel::updateRig(float deltaTime, glm::mat4 parentTransform) { } generateBasisVectors(up, fwd, u, v, w); AnimPose newSpinePose(glm::mat4(glm::vec4(w, 0.0f), glm::vec4(u, 0.0f), glm::vec4(v, 0.0f), glm::vec4(glm::vec3(0.0f, 0.0f, 0.0f), 1.0f))); -#if defined(Q_OS_ANDROID) || defined(USE_Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) || defined(HIFI_USE_Q_OS_ANDROID) currentSpine2Pose.trans() = spine2TargetTranslation; #endif currentSpine2Pose.rot() = safeLerp(currentSpine2Pose.rot(), newSpinePose.rot(), SPINE2_ROTATION_FILTER);