From 20a8d2e40fc263a22f5ef15d7633899dcdcaefcc Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 27 Dec 2022 23:27:29 +0000 Subject: [PATCH] First tranche of OpenXR changes --- Projects/Android/AndroidManifest.xml | 12 +- .../jni/QzDoom/OpenXrInput_MetaQuest.cpp | 500 ++++ .../Android/jni/QzDoom/OpenXrInput_PicoXR.cpp | 639 ++++++ Projects/Android/jni/QzDoom/QzDoom_OpenXR.cpp | 724 ++++++ Projects/Android/jni/QzDoom/TBXR_Common.cpp | 2020 +++++++++++++++++ Projects/Android/jni/QzDoom/TBXR_Common.h | 332 +++ Projects/Android/jni/QzDoom/VrCommon.h | 59 +- Projects/Android/jni/QzDoom/VrCompositor.c | 595 ----- Projects/Android/jni/QzDoom/VrCompositor.h | 217 -- Projects/Android/jni/QzDoom/VrInput.h | 21 +- Projects/Android/jni/QzDoom/VrInputCommon.c | 160 -- Projects/Android/jni/QzDoom/VrInputCommon.cpp | 98 + .../{VrInputDefault.c => VrInputDefault.cpp} | 185 +- Projects/Android/jni/gzdoom-g3.3mgw_mobile | 2 +- Projects/Android/local.properties | 2 +- Projects/Android/settings.gradle | 4 +- Projects/Projects.iml | 4 +- ...QuestzDoom.iml => XrSamples-QuestzDoom.iml | 4 +- assets/res/lzdoom.pk3 | Bin 1297241 -> 1304394 bytes 19 files changed, 4458 insertions(+), 1120 deletions(-) create mode 100644 Projects/Android/jni/QzDoom/OpenXrInput_MetaQuest.cpp create mode 100644 Projects/Android/jni/QzDoom/OpenXrInput_PicoXR.cpp create mode 100644 Projects/Android/jni/QzDoom/QzDoom_OpenXR.cpp create mode 100644 Projects/Android/jni/QzDoom/TBXR_Common.cpp create mode 100644 Projects/Android/jni/QzDoom/TBXR_Common.h delete mode 100644 Projects/Android/jni/QzDoom/VrCompositor.c delete mode 100644 Projects/Android/jni/QzDoom/VrCompositor.h delete mode 100644 Projects/Android/jni/QzDoom/VrInputCommon.c create mode 100644 Projects/Android/jni/QzDoom/VrInputCommon.cpp rename Projects/Android/jni/QzDoom/{VrInputDefault.c => VrInputDefault.cpp} (74%) rename VrSamples-QuestzDoom.iml => XrSamples-QuestzDoom.iml (84%) diff --git a/Projects/Android/AndroidManifest.xml b/Projects/Android/AndroidManifest.xml index ce3b2b7..2969b7b 100644 --- a/Projects/Android/AndroidManifest.xml +++ b/Projects/Android/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="34" + android:versionName="1.6.0" android:installLocation="auto" > @@ -17,9 +17,17 @@ + + + + + + + + diff --git a/Projects/Android/jni/QzDoom/OpenXrInput_MetaQuest.cpp b/Projects/Android/jni/QzDoom/OpenXrInput_MetaQuest.cpp new file mode 100644 index 0000000..c424dfe --- /dev/null +++ b/Projects/Android/jni/QzDoom/OpenXrInput_MetaQuest.cpp @@ -0,0 +1,500 @@ +#ifdef META_QUEST + +#include "VrInput.h" + +extern ovrApp gAppState; + +XrSpace CreateActionSpace(XrAction poseAction, XrPath subactionPath) { + XrActionSpaceCreateInfo asci = {}; + asci.type = XR_TYPE_ACTION_SPACE_CREATE_INFO; + asci.action = poseAction; + asci.poseInActionSpace.orientation.w = 1.0f; + asci.subactionPath = subactionPath; + XrSpace actionSpace = XR_NULL_HANDLE; + OXR(xrCreateActionSpace(gAppState.Session, &asci, &actionSpace)); + return actionSpace; +} + +XrActionSuggestedBinding ActionSuggestedBinding(XrAction action, const char* bindingString) { + XrActionSuggestedBinding asb; + asb.action = action; + XrPath bindingPath; + OXR(xrStringToPath(gAppState.Instance, bindingString, &bindingPath)); + asb.binding = bindingPath; + return asb; +} + +XrActionSet CreateActionSet(int priority, const char* name, const char* localizedName) { + XrActionSetCreateInfo asci = {}; + asci.type = XR_TYPE_ACTION_SET_CREATE_INFO; + asci.next = NULL; + asci.priority = priority; + strcpy(asci.actionSetName, name); + strcpy(asci.localizedActionSetName, localizedName); + XrActionSet actionSet = XR_NULL_HANDLE; + OXR(xrCreateActionSet(gAppState.Instance, &asci, &actionSet)); + return actionSet; +} + +XrAction CreateAction( + XrActionSet actionSet, + XrActionType type, + const char* actionName, + const char* localizedName, + int countSubactionPaths, + XrPath* subactionPaths) { + ALOGV("CreateAction %s, %" PRIi32, actionName, countSubactionPaths); + + XrActionCreateInfo aci = {}; + aci.type = XR_TYPE_ACTION_CREATE_INFO; + aci.next = NULL; + aci.actionType = type; + if (countSubactionPaths > 0) { + aci.countSubactionPaths = countSubactionPaths; + aci.subactionPaths = subactionPaths; + } + strcpy(aci.actionName, actionName); + strcpy(aci.localizedActionName, localizedName ? localizedName : actionName); + XrAction action = XR_NULL_HANDLE; + OXR(xrCreateAction(actionSet, &aci, &action)); + return action; +} + +bool ActionPoseIsActive(XrAction action, XrPath subactionPath) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + getInfo.subactionPath = subactionPath; + + XrActionStatePose state = {}; + state.type = XR_TYPE_ACTION_STATE_POSE; + OXR(xrGetActionStatePose(gAppState.Session, &getInfo, &state)); + return state.isActive != XR_FALSE; +} + +XrActionStateFloat GetActionStateFloat(XrAction action) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + + XrActionStateFloat state = {}; + state.type = XR_TYPE_ACTION_STATE_FLOAT; + + OXR(xrGetActionStateFloat(gAppState.Session, &getInfo, &state)); + return state; +} + +XrActionStateBoolean GetActionStateBoolean(XrAction action) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + + XrActionStateBoolean state = {}; + state.type = XR_TYPE_ACTION_STATE_BOOLEAN; + + OXR(xrGetActionStateBoolean(gAppState.Session, &getInfo, &state)); + return state; +} + +XrActionStateVector2f GetActionStateVector2(XrAction action) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + + XrActionStateVector2f state = {}; + state.type = XR_TYPE_ACTION_STATE_VECTOR2F; + + OXR(xrGetActionStateVector2f(gAppState.Session, &getInfo, &state)); + return state; +} + + +//OpenXR +XrPath leftHandPath; +XrPath rightHandPath; +XrAction handPoseLeftAction; +XrAction handPoseRightAction; +XrAction indexLeftAction; +XrAction indexRightAction; +XrAction menuAction; +XrAction buttonAAction; +XrAction buttonBAction; +XrAction buttonXAction; +XrAction buttonYAction; +XrAction gripLeftAction; +XrAction gripRightAction; +XrAction moveOnLeftJoystickAction; +XrAction moveOnRightJoystickAction; +XrAction thumbstickLeftClickAction; +XrAction thumbstickRightClickAction; +XrAction vibrateLeftFeedback; +XrAction vibrateRightFeedback; +XrActionSet runningActionSet; +XrSpace leftControllerAimSpace = XR_NULL_HANDLE; +XrSpace rightControllerAimSpace = XR_NULL_HANDLE; +bool inputInitialized = false; +bool useSimpleProfile = false; + +void TBXR_InitActions( void ) +{ + // Actions + runningActionSet = CreateActionSet(1, "running_action_set", "Action Set used on main loop"); + indexLeftAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "index_left", "Index left", 0, NULL); + indexRightAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "index_right", "Index right", 0, NULL); + menuAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "menu_action", "Menu", 0, NULL); + buttonAAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "button_a", "Button A", 0, NULL); + buttonBAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "button_b", "Button B", 0, NULL); + buttonXAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "button_x", "Button X", 0, NULL); + buttonYAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "button_y", "Button Y", 0, NULL); + gripLeftAction = CreateAction(runningActionSet, XR_ACTION_TYPE_FLOAT_INPUT, "grip_left", "Grip left", 0, NULL); + gripRightAction = CreateAction(runningActionSet, XR_ACTION_TYPE_FLOAT_INPUT, "grip_right", "Grip right", 0, NULL); + moveOnLeftJoystickAction = CreateAction(runningActionSet, XR_ACTION_TYPE_VECTOR2F_INPUT, "move_on_left_joy", "Move on left Joy", 0, NULL); + moveOnRightJoystickAction = CreateAction(runningActionSet, XR_ACTION_TYPE_VECTOR2F_INPUT, "move_on_right_joy", "Move on right Joy", 0, NULL); + thumbstickLeftClickAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "thumbstick_left", "Thumbstick left", 0, NULL); + thumbstickRightClickAction = CreateAction(runningActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "thumbstick_right", "Thumbstick right", 0, NULL); + vibrateLeftFeedback = CreateAction(runningActionSet, XR_ACTION_TYPE_VIBRATION_OUTPUT, "vibrate_left_feedback", "Vibrate Left Controller Feedback", 0, NULL); + vibrateRightFeedback = CreateAction(runningActionSet, XR_ACTION_TYPE_VIBRATION_OUTPUT, "vibrate_right_feedback", "Vibrate Right Controller Feedback", 0, NULL); + + OXR(xrStringToPath(gAppState.Instance, "/user/hand/left", &leftHandPath)); + OXR(xrStringToPath(gAppState.Instance, "/user/hand/right", &rightHandPath)); + handPoseLeftAction = CreateAction(runningActionSet, XR_ACTION_TYPE_POSE_INPUT, "hand_pose_left", NULL, 1, &leftHandPath); + handPoseRightAction = CreateAction(runningActionSet, XR_ACTION_TYPE_POSE_INPUT, "hand_pose_right", NULL, 1, &rightHandPath); + + if (leftControllerAimSpace == XR_NULL_HANDLE) { + leftControllerAimSpace = CreateActionSpace(handPoseLeftAction, leftHandPath); + } + if (rightControllerAimSpace == XR_NULL_HANDLE) { + rightControllerAimSpace = CreateActionSpace(handPoseRightAction, rightHandPath); + } + + XrPath interactionProfilePath = XR_NULL_PATH; + XrPath interactionProfilePathTouch = XR_NULL_PATH; + XrPath interactionProfilePathKHRSimple = XR_NULL_PATH; + + OXR(xrStringToPath(gAppState.Instance, "/interaction_profiles/oculus/touch_controller", &interactionProfilePathTouch)); + OXR(xrStringToPath(gAppState.Instance, "/interaction_profiles/khr/simple_controller", &interactionProfilePathKHRSimple)); + + // Toggle this to force simple as a first choice, otherwise use it as a last resort + if (useSimpleProfile) { + ALOGV("xrSuggestInteractionProfileBindings found bindings for Khronos SIMPLE controller"); + interactionProfilePath = interactionProfilePathKHRSimple; + } else { + // Query Set + XrActionSet queryActionSet = CreateActionSet(1, "query_action_set", "Action Set used to query device caps"); + XrAction dummyAction = CreateAction(queryActionSet, XR_ACTION_TYPE_BOOLEAN_INPUT, "dummy_action", "Dummy Action", 0, NULL); + + // Map bindings + XrActionSuggestedBinding bindings[1]; + int currBinding = 0; + bindings[currBinding++] = ActionSuggestedBinding(dummyAction, "/user/hand/right/input/system/click"); + + XrInteractionProfileSuggestedBinding suggestedBindings = {}; + suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; + suggestedBindings.next = NULL; + suggestedBindings.suggestedBindings = bindings; + suggestedBindings.countSuggestedBindings = currBinding; + + // Try all + suggestedBindings.interactionProfile = interactionProfilePathTouch; + XrResult suggestTouchResult = xrSuggestInteractionProfileBindings(gAppState.Instance, &suggestedBindings); + OXR(suggestTouchResult); + + if (XR_SUCCESS == suggestTouchResult) { + ALOGV("xrSuggestInteractionProfileBindings found bindings for QUEST controller"); + interactionProfilePath = interactionProfilePathTouch; + } + + if (interactionProfilePath == XR_NULL_PATH) { + // Simple as a fallback + bindings[0] = ActionSuggestedBinding(dummyAction, "/user/hand/right/input/select/click"); + suggestedBindings.interactionProfile = interactionProfilePathKHRSimple; + XrResult suggestKHRSimpleResult = xrSuggestInteractionProfileBindings(gAppState.Instance, &suggestedBindings); + OXR(suggestKHRSimpleResult); + if (XR_SUCCESS == suggestKHRSimpleResult) { + ALOGV("xrSuggestInteractionProfileBindings found bindings for Khronos SIMPLE controller"); + interactionProfilePath = interactionProfilePathKHRSimple; + } else { + ALOGE("xrSuggestInteractionProfileBindings did NOT find any bindings."); + assert(false); + } + } + } + + // Action creation + { + // Map bindings + XrActionSuggestedBinding bindings[32]; // large enough for all profiles + int currBinding = 0; + + { + if (interactionProfilePath == interactionProfilePathTouch) { + bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/trigger"); + bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/trigger"); + bindings[currBinding++] = ActionSuggestedBinding(menuAction, "/user/hand/left/input/menu/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonXAction, "/user/hand/left/input/x/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonYAction, "/user/hand/left/input/y/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonAAction, "/user/hand/right/input/a/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonBAction, "/user/hand/right/input/b/click"); + bindings[currBinding++] = ActionSuggestedBinding(gripLeftAction, "/user/hand/left/input/squeeze/value"); + bindings[currBinding++] = ActionSuggestedBinding(gripRightAction, "/user/hand/right/input/squeeze/value"); + bindings[currBinding++] = ActionSuggestedBinding(moveOnLeftJoystickAction, "/user/hand/left/input/thumbstick"); + bindings[currBinding++] = ActionSuggestedBinding(moveOnRightJoystickAction, "/user/hand/right/input/thumbstick"); + bindings[currBinding++] = ActionSuggestedBinding(thumbstickLeftClickAction, "/user/hand/left/input/thumbstick/click"); + bindings[currBinding++] = ActionSuggestedBinding(thumbstickRightClickAction, "/user/hand/right/input/thumbstick/click"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateLeftFeedback, "/user/hand/left/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateRightFeedback, "/user/hand/right/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseLeftAction, "/user/hand/left/input/aim/pose"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseRightAction, "/user/hand/right/input/aim/pose"); + } + + if (interactionProfilePath == interactionProfilePathKHRSimple) { + bindings[currBinding++] = ActionSuggestedBinding(indexLeftAction, "/user/hand/left/input/select/click"); + bindings[currBinding++] = ActionSuggestedBinding(indexRightAction, "/user/hand/right/input/select/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonAAction, "/user/hand/left/input/menu/click"); + bindings[currBinding++] = ActionSuggestedBinding(buttonXAction, "/user/hand/right/input/menu/click"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateLeftFeedback, "/user/hand/left/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(vibrateRightFeedback, "/user/hand/right/output/haptic"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseLeftAction, "/user/hand/left/input/aim/pose"); + bindings[currBinding++] = ActionSuggestedBinding(handPoseRightAction, "/user/hand/right/input/aim/pose"); + } + } + + XrInteractionProfileSuggestedBinding suggestedBindings = {}; + suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; + suggestedBindings.next = NULL; + suggestedBindings.interactionProfile = interactionProfilePath; + suggestedBindings.suggestedBindings = bindings; + suggestedBindings.countSuggestedBindings = currBinding; + OXR(xrSuggestInteractionProfileBindings(gAppState.Instance, &suggestedBindings)); + + // Enumerate actions + XrPath actionPathsBuffer[32]; + char stringBuffer[256]; + XrAction actionsToEnumerate[] = { + indexLeftAction, + indexRightAction, + menuAction, + buttonAAction, + buttonBAction, + buttonXAction, + buttonYAction, + gripLeftAction, + gripRightAction, + moveOnLeftJoystickAction, + moveOnRightJoystickAction, + thumbstickLeftClickAction, + thumbstickRightClickAction, + vibrateLeftFeedback, + vibrateRightFeedback, + handPoseLeftAction, + handPoseRightAction + }; + for (size_t i = 0; i < sizeof(actionsToEnumerate) / sizeof(actionsToEnumerate[0]); ++i) { + XrBoundSourcesForActionEnumerateInfo enumerateInfo = {}; + enumerateInfo.type = XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO; + enumerateInfo.next = NULL; + enumerateInfo.action = actionsToEnumerate[i]; + + // Get Count + uint32_t countOutput = 0; + OXR(xrEnumerateBoundSourcesForAction( + gAppState.Session, &enumerateInfo, 0 /* request size */, &countOutput, NULL)); + ALOGV( + "xrEnumerateBoundSourcesForAction action=%lld count=%u", + (long long)enumerateInfo.action, + countOutput); + + if (countOutput < 32) { + OXR(xrEnumerateBoundSourcesForAction( + gAppState.Session, &enumerateInfo, 32, &countOutput, actionPathsBuffer)); + for (uint32_t a = 0; a < countOutput; ++a) { + XrInputSourceLocalizedNameGetInfo nameGetInfo = {}; + nameGetInfo.type = XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO; + nameGetInfo.next = NULL; + nameGetInfo.sourcePath = actionPathsBuffer[a]; + nameGetInfo.whichComponents = XR_INPUT_SOURCE_LOCALIZED_NAME_USER_PATH_BIT | + XR_INPUT_SOURCE_LOCALIZED_NAME_INTERACTION_PROFILE_BIT | + XR_INPUT_SOURCE_LOCALIZED_NAME_COMPONENT_BIT; + + uint32_t stringCount = 0u; + OXR(xrGetInputSourceLocalizedName( + gAppState.Session, &nameGetInfo, 0, &stringCount, NULL)); + if (stringCount < 256) { + OXR(xrGetInputSourceLocalizedName( + gAppState.Session, &nameGetInfo, 256, &stringCount, stringBuffer)); + char pathStr[256]; + uint32_t strLen = 0; + OXR(xrPathToString( + gAppState.Instance, + actionPathsBuffer[a], + (uint32_t)sizeof(pathStr), + &strLen, + pathStr)); + ALOGV( + " -> path = %lld `%s` -> `%s`", + (long long)actionPathsBuffer[a], + pathStr, + stringBuffer); + } + } + } + } + } + + // Attach to session + XrSessionActionSetsAttachInfo attachInfo = {}; + attachInfo.type = XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO; + attachInfo.next = NULL; + attachInfo.countActionSets = 1; + attachInfo.actionSets = &runningActionSet; + OXR(xrAttachSessionActionSets(gAppState.Session, &attachInfo)); + + inputInitialized = true; +} + +void TBXR_SyncActions( void ) +{ + // sync action data + XrActiveActionSet activeActionSet = {}; + activeActionSet.actionSet = runningActionSet; + activeActionSet.subactionPath = XR_NULL_PATH; + + XrActionsSyncInfo syncInfo = {}; + syncInfo.type = XR_TYPE_ACTIONS_SYNC_INFO; + syncInfo.next = NULL; + syncInfo.countActiveActionSets = 1; + syncInfo.activeActionSets = &activeActionSet; + OXR(xrSyncActions(gAppState.Session, &syncInfo)); + + // query input action states + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.next = NULL; + getInfo.subactionPath = XR_NULL_PATH; +} + +void TBXR_UpdateControllers( ) +{ + TBXR_SyncActions(); + + //get controller poses + XrAction controller[] = {handPoseLeftAction, handPoseRightAction}; + XrPath subactionPath[] = {leftHandPath, rightHandPath}; + XrSpace controllerSpace[] = {leftControllerAimSpace, rightControllerAimSpace}; + for (int i = 0; i < 2; i++) { + if (ActionPoseIsActive(controller[i], subactionPath[i])) { + XrSpaceVelocity vel = {}; + vel.type = XR_TYPE_SPACE_VELOCITY; + XrSpaceLocation loc = {}; + loc.type = XR_TYPE_SPACE_LOCATION; + loc.next = &vel; + OXR(xrLocateSpace(controllerSpace[i], gAppState.CurrentSpace, gAppState.PredictedDisplayTime, &loc)); + + gAppState.TrackedController[i].Active = (loc.locationFlags & XR_SPACE_LOCATION_POSITION_VALID_BIT) != 0; + gAppState.TrackedController[i].Pose = loc.pose; + gAppState.TrackedController[i].Velocity = vel; + } else { + ovrTrackedController_Clear(&gAppState.TrackedController[i]); + } + } + + leftRemoteTracking_new = gAppState.TrackedController[0]; + rightRemoteTracking_new = gAppState.TrackedController[1]; + + + memset(&leftTrackedRemoteState_new, 0, sizeof leftTrackedRemoteState_new); + memset(&rightTrackedRemoteState_new, 0, sizeof rightTrackedRemoteState_new); + + //button mapping + if (GetActionStateBoolean(menuAction).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Enter; + if (GetActionStateBoolean(buttonXAction).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_X; + if (GetActionStateBoolean(buttonYAction).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Y; + leftTrackedRemoteState_new.GripTrigger = GetActionStateFloat(gripLeftAction).currentState; + if (leftTrackedRemoteState_new.GripTrigger > 0.5f) leftTrackedRemoteState_new.Buttons |= xrButton_GripTrigger; + if (GetActionStateBoolean(thumbstickLeftClickAction).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_LThumb; + + if (GetActionStateBoolean(buttonAAction).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_A; + if (GetActionStateBoolean(buttonBAction).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_B; + rightTrackedRemoteState_new.GripTrigger = GetActionStateFloat(gripRightAction).currentState; + if (rightTrackedRemoteState_new.GripTrigger > 0.5f) rightTrackedRemoteState_new.Buttons |= xrButton_GripTrigger; + if (GetActionStateBoolean(thumbstickRightClickAction).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_RThumb; + + //index finger click + if (GetActionStateBoolean(indexLeftAction).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Trigger; + if (GetActionStateBoolean(indexRightAction).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Trigger; + + //thumbstick + XrActionStateVector2f moveJoystickState; + moveJoystickState = GetActionStateVector2(moveOnLeftJoystickAction); + leftTrackedRemoteState_new.Joystick.x = moveJoystickState.currentState.x; + leftTrackedRemoteState_new.Joystick.y = moveJoystickState.currentState.y; + + moveJoystickState = GetActionStateVector2(moveOnRightJoystickAction); + rightTrackedRemoteState_new.Joystick.x = moveJoystickState.currentState.x; + rightTrackedRemoteState_new.Joystick.y = moveJoystickState.currentState.y; +} + +//0 = left, 1 = right +float vibration_channel_duration[2] = {0.0f, 0.0f}; +float vibration_channel_intensity[2] = {0.0f, 0.0f}; + +void TBXR_Vibrate( int duration, int chan, float intensity ) +{ + for (int i = 0; i < 2; ++i) + { + if ((i + 1) & chan) + { + if (vibration_channel_duration[i] > 0.0f) + return; + + if (vibration_channel_duration[i] == -1.0f && duration != 0.0f) + return; + + vibration_channel_duration[i] = duration; + vibration_channel_intensity[i] = intensity; + } + } +} + +void TBXR_ProcessHaptics() { + static float lastFrameTime = 0.0f; + float timestamp = (float)(TBXR_GetTimeInMilliSeconds( )); + float frametime = timestamp - lastFrameTime; + lastFrameTime = timestamp; + + for (int i = 0; i < 2; ++i) { + if (vibration_channel_duration[i] > 0.0f || + vibration_channel_duration[i] == -1.0f) { + + // fire haptics using output action + XrHapticVibration vibration = {}; + vibration.type = XR_TYPE_HAPTIC_VIBRATION; + vibration.next = NULL; + vibration.amplitude = vibration_channel_intensity[i]; + vibration.duration = ToXrTime(vibration_channel_duration[i]); + vibration.frequency = 3000; + XrHapticActionInfo hapticActionInfo = {}; + hapticActionInfo.type = XR_TYPE_HAPTIC_ACTION_INFO; + hapticActionInfo.next = NULL; + hapticActionInfo.action = i == 0 ? vibrateLeftFeedback : vibrateRightFeedback; + OXR(xrApplyHapticFeedback(gAppState.Session, &hapticActionInfo, (const XrHapticBaseHeader*)&vibration)); + + if (vibration_channel_duration[i] != -1.0f) { + vibration_channel_duration[i] -= frametime; + + if (vibration_channel_duration[i] < 0.0f) { + vibration_channel_duration[i] = 0.0f; + vibration_channel_intensity[i] = 0.0f; + } + } + } else { + // Stop haptics + XrHapticActionInfo hapticActionInfo = {}; + hapticActionInfo.type = XR_TYPE_HAPTIC_ACTION_INFO; + hapticActionInfo.next = NULL; + hapticActionInfo.action = i == 0 ? vibrateLeftFeedback : vibrateRightFeedback; + OXR(xrStopHapticFeedback(gAppState.Session, &hapticActionInfo)); + } + } +} +#endif diff --git a/Projects/Android/jni/QzDoom/OpenXrInput_PicoXR.cpp b/Projects/Android/jni/QzDoom/OpenXrInput_PicoXR.cpp new file mode 100644 index 0000000..5c9a7ab --- /dev/null +++ b/Projects/Android/jni/QzDoom/OpenXrInput_PicoXR.cpp @@ -0,0 +1,639 @@ +#ifdef PICO_XR + +#include "VrInput.h" + +extern ovrApp gAppState; + +XrResult CheckXrResult(XrResult res, const char* originator) { + if (XR_FAILED(res)) { + //Com_Printf("error: %s", originator); + } + return res; +} + +#define CHECK_XRCMD(cmd) CheckXrResult(cmd, #cmd); + +#define SIDE_LEFT 0 +#define SIDE_RIGHT 1 +#define SIDE_COUNT 2 + + +XrActionSet actionSet; +XrAction grabAction; +XrAction poseAction; +XrAction vibrateAction; +XrAction quitAction; +/*************************pico******************/ +XrAction touchpadAction; +XrAction AXAction; +XrAction homeAction; +XrAction BYAction; +XrAction backAction; +XrAction sideAction; +XrAction triggerAction; +XrAction joystickAction; +XrAction batteryAction; +//---add new---------- +XrAction AXTouchAction; +XrAction BYTouchAction; +XrAction RockerTouchAction; +XrAction TriggerTouchAction; +XrAction ThumbrestTouchAction; +XrAction GripAction; +//---add new----------zgt +XrAction AAction; +XrAction BAction; +XrAction XAction; +XrAction YAction; +XrAction ATouchAction; +XrAction BTouchAction; +XrAction XTouchAction; +XrAction YTouchAction; +XrAction aimAction; +/*************************pico******************/ +XrSpace aimSpace[SIDE_COUNT]; +XrPath handSubactionPath[SIDE_COUNT]; +XrSpace handSpace[SIDE_COUNT]; + + + +XrActionSuggestedBinding ActionSuggestedBinding(XrAction action, XrPath path) { + XrActionSuggestedBinding asb; + asb.action = action; + asb.binding = path; + return asb; +} + +XrActionStateBoolean GetActionStateBoolean(XrAction action, int hand) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + if (hand >= 0) + getInfo.subactionPath = handSubactionPath[hand]; + + XrActionStateBoolean state = {}; + state.type = XR_TYPE_ACTION_STATE_BOOLEAN; + CHECK_XRCMD(xrGetActionStateBoolean(gAppState.Session, &getInfo, &state)); + return state; +} + +XrActionStateFloat GetActionStateFloat(XrAction action, int hand) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + if (hand >= 0) + getInfo.subactionPath = handSubactionPath[hand]; + + XrActionStateFloat state = {}; + state.type = XR_TYPE_ACTION_STATE_FLOAT; + CHECK_XRCMD(xrGetActionStateFloat(gAppState.Session, &getInfo, &state)); + return state; +} + +XrActionStateVector2f GetActionStateVector2(XrAction action, int hand) { + XrActionStateGetInfo getInfo = {}; + getInfo.type = XR_TYPE_ACTION_STATE_GET_INFO; + getInfo.action = action; + if (hand >= 0) + getInfo.subactionPath = handSubactionPath[hand]; + + XrActionStateVector2f state = {}; + state.type = XR_TYPE_ACTION_STATE_VECTOR2F; + CHECK_XRCMD(xrGetActionStateVector2f(gAppState.Session, &getInfo, &state)); + return state; +} + +void TBXR_InitActions( void ) +{ + // Create an action set. + { + XrActionSetCreateInfo actionSetInfo = {}; + actionSetInfo.type = XR_TYPE_ACTION_SET_CREATE_INFO; + strcpy(actionSetInfo.actionSetName, "gameplay"); + strcpy(actionSetInfo.localizedActionSetName, "Gameplay"); + actionSetInfo.priority = 0; + CHECK_XRCMD(xrCreateActionSet(gAppState.Instance, &actionSetInfo, &actionSet)); + } + + // Get the XrPath for the left and right hands - we will use them as subaction paths. + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left", &handSubactionPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right", &handSubactionPath[SIDE_RIGHT])); + + // Create actions. + { + // Create an input action for grabbing objects with the left and right hands. + XrActionCreateInfo actionInfo = {}; + actionInfo.type = XR_TYPE_ACTION_CREATE_INFO; + actionInfo.actionType = XR_ACTION_TYPE_FLOAT_INPUT; + strcpy(actionInfo.actionName, "grab_object"); + strcpy(actionInfo.localizedActionName, "Grab Object"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &grabAction)); + + // Create an input action getting the left and right hand poses. + actionInfo.actionType = XR_ACTION_TYPE_POSE_INPUT; + strcpy(actionInfo.actionName, "hand_pose"); + strcpy(actionInfo.localizedActionName, "Hand Pose"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &poseAction)); + + actionInfo.actionType = XR_ACTION_TYPE_POSE_INPUT; + strcpy(actionInfo.actionName, "aim_pose"); + strcpy(actionInfo.localizedActionName, "Aim Pose"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &aimAction)); + + // Create output actions for vibrating the left and right controller. + actionInfo.actionType = XR_ACTION_TYPE_VIBRATION_OUTPUT; + strcpy(actionInfo.actionName, "vibrate_hand"); + strcpy(actionInfo.localizedActionName, "Vibrate Hand"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &vibrateAction)); + + // Create input actions for quitting the session using the left and right controller. + // Since it doesn't matter which hand did this, we do not specify subaction paths for it. + // We will just suggest bindings for both hands, where possible. + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "quit_session"); + strcpy(actionInfo.localizedActionName, "Quit Session"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &quitAction)); + /**********************************pico***************************************/ + // Create input actions for toucpad key using the left and right controller. + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "touchpad"); + strcpy(actionInfo.localizedActionName, "Touchpad"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &touchpadAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "axkey"); + strcpy(actionInfo.localizedActionName, "AXkey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &AXAction)); + + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "homekey"); + strcpy(actionInfo.localizedActionName, "Homekey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &homeAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "bykey"); + strcpy(actionInfo.localizedActionName, "BYkey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &BYAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "backkey"); + strcpy(actionInfo.localizedActionName, "Backkey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &backAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "sidekey"); + strcpy(actionInfo.localizedActionName, "Sidekey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &sideAction)); + + actionInfo.actionType = XR_ACTION_TYPE_FLOAT_INPUT; + strcpy(actionInfo.actionName, "trigger"); + strcpy(actionInfo.localizedActionName, "Trigger"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &triggerAction)); + + actionInfo.actionType = XR_ACTION_TYPE_VECTOR2F_INPUT; + strcpy(actionInfo.actionName, "joystick"); + strcpy(actionInfo.localizedActionName, "Joystick"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &joystickAction)); + + actionInfo.actionType = XR_ACTION_TYPE_FLOAT_INPUT; + strcpy(actionInfo.actionName, "battery"); + strcpy(actionInfo.localizedActionName, "battery"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &batteryAction)); + //------------------------add new--------------------------------- + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "axtouch"); + strcpy(actionInfo.localizedActionName, "AXtouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &AXTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "bytouch"); + strcpy(actionInfo.localizedActionName, "BYtouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &BYTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "rockertouch"); + strcpy(actionInfo.localizedActionName, "Rockertouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &RockerTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "triggertouch"); + strcpy(actionInfo.localizedActionName, "Triggertouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &TriggerTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "thumbresttouch"); + strcpy(actionInfo.localizedActionName, "Thumbresttouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &ThumbrestTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_FLOAT_INPUT; + strcpy(actionInfo.actionName, "gripvalue"); + strcpy(actionInfo.localizedActionName, "GripValue"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &GripAction)); + + //--------------add new----------zgt + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "akey"); + strcpy(actionInfo.localizedActionName, "Akey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &AAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "bkey"); + strcpy(actionInfo.localizedActionName, "Bkey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &BAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "xkey"); + strcpy(actionInfo.localizedActionName, "Xkey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &XAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "ykey"); + strcpy(actionInfo.localizedActionName, "Ykey"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &YAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "atouch"); + strcpy(actionInfo.localizedActionName, "Atouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &ATouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "btouch"); + strcpy(actionInfo.localizedActionName, "Btouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &BTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "xtouch"); + strcpy(actionInfo.localizedActionName, "Xtouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &XTouchAction)); + + actionInfo.actionType = XR_ACTION_TYPE_BOOLEAN_INPUT; + strcpy(actionInfo.actionName, "ytouch"); + strcpy(actionInfo.localizedActionName, "Ytouch"); + actionInfo.countSubactionPaths = SIDE_COUNT; + actionInfo.subactionPaths = handSubactionPath; + CHECK_XRCMD(xrCreateAction(actionSet, &actionInfo, &YTouchAction)); + /**********************************pico***************************************/ + + + } + + XrPath selectPath[SIDE_COUNT]; + XrPath squeezeValuePath[SIDE_COUNT]; + XrPath squeezeClickPath[SIDE_COUNT]; + XrPath posePath[SIDE_COUNT]; + XrPath hapticPath[SIDE_COUNT]; + XrPath menuClickPath[SIDE_COUNT]; + XrPath systemPath[SIDE_COUNT]; + XrPath thumbrestPath[SIDE_COUNT]; + XrPath triggerTouchPath[SIDE_COUNT]; + XrPath triggerValuePath[SIDE_COUNT]; + XrPath thumbstickClickPath[SIDE_COUNT]; + XrPath thumbstickTouchPath[SIDE_COUNT]; + XrPath thumbstickPosPath[SIDE_COUNT]; + XrPath aimPath[SIDE_COUNT]; + + /**************************pico************************************/ + XrPath touchpadPath[SIDE_COUNT]; + XrPath AXValuePath[SIDE_COUNT]; + XrPath homeClickPath[SIDE_COUNT]; + XrPath BYValuePath[SIDE_COUNT]; + XrPath backPath[SIDE_COUNT]; + XrPath sideClickPath[SIDE_COUNT]; + XrPath triggerPath[SIDE_COUNT]; + XrPath joystickPath[SIDE_COUNT]; + XrPath batteryPath[SIDE_COUNT]; + //--------------add new---------- + XrPath GripPath[SIDE_COUNT]; + XrPath AXTouchPath[SIDE_COUNT]; + XrPath BYTouchPath[SIDE_COUNT]; + XrPath RockerTouchPath[SIDE_COUNT]; + XrPath TriggerTouchPath[SIDE_COUNT]; + XrPath ThumbresetTouchPath[SIDE_COUNT]; + //--------------add new----------zgt + XrPath AValuePath[SIDE_COUNT]; + XrPath BValuePath[SIDE_COUNT]; + XrPath XValuePath[SIDE_COUNT]; + XrPath YValuePath[SIDE_COUNT]; + XrPath ATouchPath[SIDE_COUNT]; + XrPath BTouchPath[SIDE_COUNT]; + XrPath XTouchPath[SIDE_COUNT]; + XrPath YTouchPath[SIDE_COUNT]; + /**************************pico************************************/ + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/select/click", &selectPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/select/click", &selectPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/menu/click", &menuClickPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/menu/click", &menuClickPath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/squeeze/value", &squeezeValuePath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/squeeze/value", &squeezeValuePath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/squeeze/click", &squeezeClickPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/squeeze/click", &squeezeClickPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/grip/pose", &posePath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/grip/pose", &posePath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/aim/pose", &aimPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/aim/pose", &aimPath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/output/haptic", &hapticPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/output/haptic", &hapticPath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/trigger/touch", &triggerTouchPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/trigger/touch", &triggerTouchPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/trigger/value", &triggerValuePath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/trigger/value", &triggerValuePath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/thumbstick/click", &thumbstickClickPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/thumbstick/click", &thumbstickClickPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/thumbstick/touch", &thumbstickTouchPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/thumbstick/touch", &thumbstickTouchPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/thumbstick", &thumbstickPosPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/thumbstick", &thumbstickPosPath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/system/click", &systemPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/system/click", &systemPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/thumbrest/touch", &thumbrestPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/thumbrest/touch", &thumbrestPath[SIDE_RIGHT])); + + /**************************pico************************************/ + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/back/click", &backPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/back/click", &backPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/battery/value", &batteryPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/battery/value", &batteryPath[SIDE_RIGHT])); + + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/x/click", &XValuePath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/y/click", &YValuePath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/a/click", &AValuePath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/b/click", &BValuePath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/x/touch", &XTouchPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/left/input/y/touch", &YTouchPath[SIDE_LEFT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/a/touch", &ATouchPath[SIDE_RIGHT])); + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/user/hand/right/input/b/touch", &BTouchPath[SIDE_RIGHT])); + /**************************pico************************************/ + XrActionSuggestedBinding bindings[128]; + int currBinding = 0; + + // Suggest bindings for the Pico Neo 3 controller + { + XrPath picoMixedRealityInteractionProfilePath; + CHECK_XRCMD(xrStringToPath(gAppState.Instance, "/interaction_profiles/pico/neo3_controller", + &picoMixedRealityInteractionProfilePath)); + + bindings[currBinding++] = ActionSuggestedBinding(touchpadAction, thumbstickClickPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(touchpadAction, thumbstickClickPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(joystickAction, thumbstickPosPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(joystickAction, thumbstickPosPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(RockerTouchAction, thumbstickTouchPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(RockerTouchAction, thumbstickTouchPath[SIDE_RIGHT]); + + bindings[currBinding++] = ActionSuggestedBinding(triggerAction, triggerValuePath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(triggerAction, triggerValuePath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(TriggerTouchAction, triggerTouchPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(TriggerTouchAction, triggerTouchPath[SIDE_RIGHT]); + + bindings[currBinding++] = ActionSuggestedBinding(sideAction, squeezeClickPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(sideAction, squeezeClickPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(GripAction, squeezeValuePath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(GripAction, squeezeValuePath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(poseAction, posePath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(poseAction, posePath[SIDE_RIGHT]); + + bindings[currBinding++] = ActionSuggestedBinding(homeAction, systemPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(homeAction, systemPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(backAction, backPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(backAction, backPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(batteryAction, batteryPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(batteryAction, batteryPath[SIDE_RIGHT]); + + bindings[currBinding++] = ActionSuggestedBinding(ThumbrestTouchAction, thumbrestPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(ThumbrestTouchAction, thumbrestPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(vibrateAction, hapticPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(vibrateAction, hapticPath[SIDE_RIGHT]); + + bindings[currBinding++] = ActionSuggestedBinding(XTouchAction, XTouchPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(YTouchAction, YTouchPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(ATouchAction, ATouchPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(BTouchAction, BTouchPath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(XAction, XValuePath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(YAction, YValuePath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(AAction, AValuePath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(BAction, BValuePath[SIDE_RIGHT]); + bindings[currBinding++] = ActionSuggestedBinding(aimAction, aimPath[SIDE_LEFT]); + bindings[currBinding++] = ActionSuggestedBinding(aimAction, aimPath[SIDE_RIGHT]); + + XrInteractionProfileSuggestedBinding suggestedBindings = {}; + suggestedBindings.type = XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING; + suggestedBindings.interactionProfile = picoMixedRealityInteractionProfilePath; + suggestedBindings.suggestedBindings = bindings; + suggestedBindings.countSuggestedBindings = currBinding; + CHECK_XRCMD(xrSuggestInteractionProfileBindings(gAppState.Instance, &suggestedBindings)); + } + + XrActionSpaceCreateInfo actionSpaceInfo = {}; + actionSpaceInfo.type = XR_TYPE_ACTION_SPACE_CREATE_INFO; + actionSpaceInfo.action = poseAction; + actionSpaceInfo.poseInActionSpace.orientation.w = 1.f; + actionSpaceInfo.subactionPath = handSubactionPath[SIDE_LEFT]; + CHECK_XRCMD(xrCreateActionSpace(gAppState.Session, &actionSpaceInfo, &handSpace[SIDE_LEFT])); + actionSpaceInfo.subactionPath = handSubactionPath[SIDE_RIGHT]; + CHECK_XRCMD(xrCreateActionSpace(gAppState.Session, &actionSpaceInfo, &handSpace[SIDE_RIGHT])); + actionSpaceInfo.action = aimAction; + actionSpaceInfo.poseInActionSpace.orientation.w = 1.f; + actionSpaceInfo.subactionPath = handSubactionPath[SIDE_LEFT]; + CHECK_XRCMD(xrCreateActionSpace(gAppState.Session, &actionSpaceInfo, &aimSpace[SIDE_LEFT])); + actionSpaceInfo.subactionPath = handSubactionPath[SIDE_RIGHT]; + CHECK_XRCMD(xrCreateActionSpace(gAppState.Session, &actionSpaceInfo, &aimSpace[SIDE_RIGHT])); + + XrSessionActionSetsAttachInfo attachInfo = {}; + attachInfo.type = XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO; + attachInfo.countActionSets = 1; + attachInfo.actionSets = &actionSet; + CHECK_XRCMD(xrAttachSessionActionSets(gAppState.Session, &attachInfo)); +} + +void TBXR_SyncActions( void ) +{ + XrActiveActionSet activeActionSet = {}; + activeActionSet.actionSet = actionSet; + activeActionSet.subactionPath = XR_NULL_PATH; + XrActionsSyncInfo syncInfo; + syncInfo.type = XR_TYPE_ACTIONS_SYNC_INFO; + syncInfo.countActiveActionSets = 1; + syncInfo.activeActionSets = &activeActionSet; + CHECK_XRCMD(xrSyncActions(gAppState.Session, &syncInfo)); +} + +void TBXR_UpdateControllers( ) +{ + TBXR_SyncActions(); + + //get controller poses + for (int i = 0; i < 2; i++) { + XrSpaceVelocity vel = {}; + vel.type = XR_TYPE_SPACE_VELOCITY; + XrSpaceLocation loc = {}; + loc.type = XR_TYPE_SPACE_LOCATION; + loc.next = &vel; + XrResult res = xrLocateSpace(aimSpace[i], gAppState.CurrentSpace, gAppState.PredictedDisplayTime, &loc); + if (res != XR_SUCCESS) { + //Com_Printf("xrLocateSpace error: %d", (int)res); + } + + gAppState.TrackedController[i].Active = (loc.locationFlags & XR_SPACE_LOCATION_POSITION_VALID_BIT) != 0; + gAppState.TrackedController[i].Pose = loc.pose; + gAppState.TrackedController[i].Velocity = vel; + } + + leftRemoteTracking_new = gAppState.TrackedController[0]; + rightRemoteTracking_new = gAppState.TrackedController[1]; + + + + //button mapping + leftTrackedRemoteState_new.Buttons = 0; + if (GetActionStateBoolean(backAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Enter; + if (GetActionStateBoolean(XAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_X; + if (GetActionStateBoolean(YAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_Y; + if (GetActionStateBoolean(sideAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_GripTrigger; + if (GetActionStateBoolean(touchpadAction, SIDE_LEFT).currentState) leftTrackedRemoteState_new.Buttons |= xrButton_LThumb; + if (GetActionStateFloat(triggerAction, SIDE_LEFT).currentState > 0.5f) leftTrackedRemoteState_new.Buttons |= xrButton_Trigger; + + rightTrackedRemoteState_new.Buttons = 0; + if (GetActionStateBoolean(backAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_Enter; + if (GetActionStateBoolean(AAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_A; + if (GetActionStateBoolean(BAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_B; + if (GetActionStateBoolean(sideAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_GripTrigger; + if (GetActionStateBoolean(touchpadAction, SIDE_RIGHT).currentState) rightTrackedRemoteState_new.Buttons |= xrButton_RThumb; + if (GetActionStateFloat(triggerAction, SIDE_RIGHT).currentState > 0.5f) rightTrackedRemoteState_new.Buttons |= xrButton_Trigger; + + //thumbstick + XrActionStateVector2f moveJoystickState; + moveJoystickState = GetActionStateVector2(joystickAction, SIDE_LEFT); + leftTrackedRemoteState_new.Joystick.x = moveJoystickState.currentState.x; + leftTrackedRemoteState_new.Joystick.y = moveJoystickState.currentState.y; + + moveJoystickState = GetActionStateVector2(joystickAction, SIDE_RIGHT); + rightTrackedRemoteState_new.Joystick.x = moveJoystickState.currentState.x; + rightTrackedRemoteState_new.Joystick.y = moveJoystickState.currentState.y; +} + + +//0 = left, 1 = right +float vibration_channel_duration[2] = {0.0f, 0.0f}; +float vibration_channel_intensity[2] = {0.0f, 0.0f}; + +void TBXR_Vibrate( int duration, int chan, float intensity ) +{ + for (int i = 0; i < 2; ++i) + { + if ((i + 1) & chan) + { + if (vibration_channel_duration[i] > 0.0f) + return; + + if (vibration_channel_duration[i] == -1.0f && duration != 0.0f) + return; + + vibration_channel_duration[i] = duration; + vibration_channel_intensity[i] = intensity; + } + } +} + +void TBXR_ProcessHaptics() { + static float lastFrameTime = 0.0f; + float timestamp = (float)(TBXR_GetTimeInMilliSeconds( )); + float frametime = timestamp - lastFrameTime; + lastFrameTime = timestamp; + + for (int i = 0; i < 2; ++i) { + if (vibration_channel_duration[i] > 0.0f || + vibration_channel_duration[i] == -1.0f) { + + // fire haptics using output action + XrHapticVibration vibration = {}; + vibration.type = XR_TYPE_HAPTIC_VIBRATION; + vibration.next = NULL; + vibration.amplitude = vibration_channel_intensity[i]; + vibration.duration = ToXrTime(vibration_channel_duration[i]); + vibration.frequency = 3000; + XrHapticActionInfo hapticActionInfo = {}; + hapticActionInfo.type = XR_TYPE_HAPTIC_ACTION_INFO; + hapticActionInfo.next = NULL; + hapticActionInfo.action = vibrateAction; + hapticActionInfo.subactionPath = handSubactionPath[i]; + OXR(xrApplyHapticFeedback(gAppState.Session, &hapticActionInfo, (const XrHapticBaseHeader*)&vibration)); + + if (vibration_channel_duration[i] != -1.0f) { + vibration_channel_duration[i] -= frametime; + + if (vibration_channel_duration[i] < 0.0f) { + vibration_channel_duration[i] = 0.0f; + vibration_channel_intensity[i] = 0.0f; + } + } + } else { + // Stop haptics + XrHapticActionInfo hapticActionInfo = {}; + hapticActionInfo.type = XR_TYPE_HAPTIC_ACTION_INFO; + hapticActionInfo.next = NULL; + hapticActionInfo.action = vibrateAction; + hapticActionInfo.subactionPath = handSubactionPath[i]; + OXR(xrStopHapticFeedback(gAppState.Session, &hapticActionInfo)); + } + } +} +#endif //PICO_XR diff --git a/Projects/Android/jni/QzDoom/QzDoom_OpenXR.cpp b/Projects/Android/jni/QzDoom/QzDoom_OpenXR.cpp new file mode 100644 index 0000000..d41d153 --- /dev/null +++ b/Projects/Android/jni/QzDoom/QzDoom_OpenXR.cpp @@ -0,0 +1,724 @@ +#include +#include +#include +#include +#include +#include +#include +#include // for prctl( PR_SET_NAME ) +#include +#include // for native window JNI +#include + +#include "argtable3.h" +#include "VrInput.h" + + +//#define ENABLE_GL_DEBUG +#define ENABLE_GL_DEBUG_VERBOSE 1 + +//Let's go to the maximum! +extern int NUM_MULTI_SAMPLES; +extern int REFRESH ; +extern float SS_MULTIPLIER ; + + +/* global arg_xxx structs */ +struct arg_dbl *ss; +struct arg_int *cpu; +struct arg_int *gpu; +struct arg_int *msaa; +struct arg_int *refresh; +struct arg_end *end; + +char **argv; +int argc=0; + + +//Define all variables here that were externs in the VrCommon.h +bool qzdoom_initialised; +long long global_time; +float playerYaw; +bool resetDoomYaw; +bool resetPreviousPitch; +float doomYaw; +float previousPitch; +float vrFOV; +vec3_t worldPosition; +vec3_t hmdPosition; +vec3_t hmdorientation; +vec3_t positionDeltaThisFrame; +vec3_t weaponangles; +vec3_t weaponoffset; +bool weaponStabilised; + +vec3_t offhandangles; +vec3_t offhandoffset; +bool player_moving; +bool shutdown; +bool ready_teleport; +bool trigger_teleport; +bool cinemamode; + +//This is now controlled by the engine +static bool useVirtualScreen = true; + +static bool hasIWADs = false; +static bool hasLauncher = false; + +/* +================================================================================ + +QuestZDoom Stuff + +================================================================================ +*/ + +void QzDoom_setUseScreenLayer(bool use) +{ + useVirtualScreen = use; +} + +int QzDoom_SetRefreshRate(int refreshRate) +{ +#ifdef META_QUEST + OXR(gAppState.pfnRequestDisplayRefreshRate(gAppState.Session, (float)refreshRate)); + return refreshRate; +#endif + + return 0; +} + +void QzDoom_GetScreenRes(uint32_t *width, uint32_t *height) +{ + int iWidth, iHeight; + TBXR_GetScreenRes(&iWidth, &iHeight); + *width = iWidth; + *height = iHeight; +} + +bool VR_UseScreenLayer() +{ + return useVirtualScreen || cinemamode; +} + +float VR_GetScreenLayerDistance() +{ + return 4.0f; +} + +static void UnEscapeQuotes( char *arg ) +{ + char *last = NULL; + while( *arg ) { + if( *arg == '"' && *last == '\\' ) { + char *c_curr = arg; + char *c_last = last; + while( *c_curr ) { + *c_last = *c_curr; + c_last = c_curr; + c_curr++; + } + *c_last = '\0'; + } + last = arg; + arg++; + } +} + +static int ParseCommandLine(char *cmdline, char **argv) +{ + char *bufp; + char *lastp = NULL; + int argc, last_argc; + argc = last_argc = 0; + for ( bufp = cmdline; *bufp; ) { + while ( isspace(*bufp) ) { + ++bufp; + } + if ( *bufp == '"' ) { + ++bufp; + if ( *bufp ) { + if ( argv ) { + argv[argc] = bufp; + } + ++argc; + } + while ( *bufp && ( *bufp != '"' || *lastp == '\\' ) ) { + lastp = bufp; + ++bufp; + } + } else { + if ( *bufp ) { + if ( argv ) { + argv[argc] = bufp; + } + ++argc; + } + while ( *bufp && ! isspace(*bufp) ) { + ++bufp; + } + } + if ( *bufp ) { + if ( argv ) { + *bufp = '\0'; + } + ++bufp; + } + if( argv && last_argc != argc ) { + UnEscapeQuotes( argv[last_argc] ); + } + last_argc = argc; + } + if ( argv ) { + argv[argc] = NULL; + } + return(argc); +} + + +void VR_SetHMDOrientation(float pitch, float yaw, float roll) +{ + VectorSet(hmdorientation, pitch, yaw, roll); + + if (!VR_UseScreenLayer()) + { + playerYaw = yaw; + } +} + +void VR_SetHMDPosition(float x, float y, float z ) +{ + VectorSet(hmdPosition, x, y, z); + + positionDeltaThisFrame[0] = (worldPosition[0] - x); + positionDeltaThisFrame[1] = (worldPosition[1] - y); + positionDeltaThisFrame[2] = (worldPosition[2] - z); + + worldPosition[0] = x; + worldPosition[1] = y; + worldPosition[2] = z; +} + +void VR_GetMove(float *joy_forward, float *joy_side, float *hmd_forward, float *hmd_side, float *up, + float *yaw, float *pitch, float *roll) +{ + *joy_forward = remote_movementForward; + *hmd_forward = positional_movementForward; + *up = remote_movementUp; + *joy_side = remote_movementSideways; + *hmd_side = positional_movementSideways; + *yaw = cinemamode ? cinemamodeYaw : hmdorientation[YAW] + snapTurn; + *pitch = cinemamode ? cinemamodePitch : hmdorientation[PITCH]; + *roll = cinemamode ? 0.0f : hmdorientation[ROLL]; +} + +void VR_DoomMain(int argc, char** argv); + +void VR_Init() +{ + //Initialise all our variables + playerYaw = 0.0f; + resetDoomYaw = true; + resetPreviousPitch = true; + remote_movementSideways = 0.0f; + remote_movementForward = 0.0f; + remote_movementUp = 0.0f; + positional_movementSideways = 0.0f; + positional_movementForward = 0.0f; + snapTurn = 0.0f; + cinemamodeYaw = 0.0f; + cinemamodePitch = 0.0f; + + //init randomiser + srand(time(NULL)); + + shutdown = false; + ready_teleport = false; + trigger_teleport = false; + + cinemamode = false; + + chdir("/sdcard/QuestZDoom"); +} + +int VR_main( int argc, char* argv[] ); + +void * AppThreadFunction(void * parm ) { + gAppThread = (ovrAppThread *) parm; + + java.Vm = gAppThread->JavaVm; + java.Vm->AttachCurrentThread(&java.Env, NULL); + java.ActivityObject = gAppThread->ActivityObject; + + jclass cls = java.Env->GetObjectClass(java.ActivityObject); + + // Note that AttachCurrentThread will reset the thread name. + prctl(PR_SET_NAME, (long) "AppThreadFunction", 0, 0, 0); + + //Set device defaults + if (SS_MULTIPLIER == 0.0f) + { + //GB Override as refresh is now 72 by default as we decided a higher res is better as 90hz has stutters + SS_MULTIPLIER = 1.25f; + } + else if (SS_MULTIPLIER > 1.5f) + { + SS_MULTIPLIER = 1.5f; + } + + gAppState.MainThreadTid = gettid(); + + VR_Init(); + + TBXR_InitialiseOpenXR(); + + TBXR_EnterVR(); + TBXR_InitRenderer(); + TBXR_InitActions(); + + TBXR_WaitForSessionActive(); + + if (REFRESH != 0) + { + QzDoom_SetRefreshRate(REFRESH); + } + + if (hasIWADs)// && hasLauncher) + { + //Should now be all set up and ready - start the Doom main loop + VR_DoomMain(argc, argv); + } + + TBXR_LeaveVR(); + + //Ask Java to shut down + jni_shutdown(); + + return NULL; +} + +//All the stuff we want to do each frame specifically for this game +void VR_FrameSetup() +{ + +} + +bool VR_GetVRProjection(int eye, float zNear, float zFar, float* projection) +{ +#ifdef PICO_XR + XrMatrix4x4f_CreateProjectionFov( + &(gAppState.ProjectionMatrices[eye]), GRAPHICS_OPENGL_ES, + gAppState.Projections[eye].fov, zNear, zFar); +#endif + +#ifdef META_QUEST + XrFovf fov = {}; + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + fov.angleLeft += gAppState.Projections[eye].fov.angleLeft / 2.0f; + fov.angleRight += gAppState.Projections[eye].fov.angleRight / 2.0f; + fov.angleUp += gAppState.Projections[eye].fov.angleUp / 2.0f; + fov.angleDown += gAppState.Projections[eye].fov.angleDown / 2.0f; + } + XrMatrix4x4f_CreateProjectionFov( + &(gAppState.ProjectionMatrices[eye]), GRAPHICS_OPENGL_ES, + fov, zNear, zFar); +#endif + + memcpy(projection, gAppState.ProjectionMatrices[eye].m, 16 * sizeof(float)); + return true; +} + + +extern "C" { +void jni_haptic_event(const char *event, int position, int intensity, float angle, float yHeight); +void jni_haptic_updateevent(const char *event, int intensity, float angle); +void jni_haptic_stopevent(const char *event); +void jni_haptic_endframe(); +void jni_haptic_enable(); +void jni_haptic_disable(); +}; + +void VR_ExternalHapticEvent(const char* event, int position, int flags, int intensity, float angle, float yHeight ) +{ + jni_haptic_event(event, position, intensity, angle, yHeight); +} + +void VR_HapticStopEvent(const char* event) +{ + jni_haptic_stopevent(event); +} + +void VR_HapticEnable() +{ + static bool firstTime = true; + if (firstTime) { + jni_haptic_enable(); + firstTime = false; + jni_haptic_event("fire_pistol", 0, 100, 0, 0); + } +} + +void VR_HapticDisable() +{ + jni_haptic_disable(); +} + +void VR_HapticEvent(const char* event, int position, int intensity, float angle, float yHeight ) +{ + static char buffer[256]; + + memset(buffer, 0, 256); + for(int i = 0; event[i]; i++) + { + buffer[i] = tolower(event[i]); + } + + jni_haptic_event(buffer, position, intensity, angle, yHeight); +} + +void QzDoom_Vibrate(float duration, int channel, float intensity ) +{ + TBXR_Vibrate(duration, channel+1, intensity); +} + +void VR_HandleControllerInput() { + TBXR_UpdateControllers(); + + //Call additional control schemes here + switch (vr_control_scheme) + { + case RIGHT_HANDED_DEFAULT: + HandleInput_Default(vr_control_scheme, + &rightTrackedRemoteState_new, &rightTrackedRemoteState_old, &rightRemoteTracking_new, + &leftTrackedRemoteState_new, &leftTrackedRemoteState_old, &leftRemoteTracking_new, + xrButton_A, xrButton_B, xrButton_X, xrButton_Y); + break; + case LEFT_HANDED_DEFAULT: + case LEFT_HANDED_ALT: + HandleInput_Default(vr_control_scheme, + &leftTrackedRemoteState_new, &leftTrackedRemoteState_old, &leftRemoteTracking_new, + &rightTrackedRemoteState_new, &rightTrackedRemoteState_old, &rightRemoteTracking_new, + xrButton_X, xrButton_Y, xrButton_A, xrButton_B); + break; + } +} + +/* +================================================================================ + +Activity lifecycle + +================================================================================ +*/ + +jmethodID android_shutdown; +static JavaVM *jVM; +static jobject jniCallbackObj=0; + +void jni_shutdown() +{ + ALOGV("Calling: jni_shutdown"); + JNIEnv *env; + jobject tmp; + if ((jVM->GetEnv((void**) &env, JNI_VERSION_1_4))<0) + { + jVM->AttachCurrentThread(&env, NULL); + } + return env->CallVoidMethod(jniCallbackObj, android_shutdown); +} + +void VR_Shutdown() +{ + jni_shutdown(); +} + +jmethodID android_haptic_event; +jmethodID android_haptic_stopevent; +jmethodID android_haptic_enable; +jmethodID android_haptic_disable; + +void jni_haptic_event(const char* event, int position, int intensity, float angle, float yHeight) +{ + JNIEnv *env; + jobject tmp; + if ((jVM->GetEnv((void**) &env, JNI_VERSION_1_4))<0) + { + jVM->AttachCurrentThread(&env, NULL); + } + + jstring StringArg1 = env->NewStringUTF(event); + + return env->CallVoidMethod(jniCallbackObj, android_haptic_event, StringArg1, position, intensity, angle, yHeight); +} + +void jni_haptic_stopevent(const char* event) +{ + ALOGV("Calling: jni_haptic_stopevent"); + JNIEnv *env; + jobject tmp; + if ((jVM->GetEnv((void**) &env, JNI_VERSION_1_4))<0) + { + jVM->AttachCurrentThread(&env, NULL); + } + + jstring StringArg1 = env->NewStringUTF(event); + + return env->CallVoidMethod(jniCallbackObj, android_haptic_stopevent, StringArg1); +} + + +void jni_haptic_enable() +{ + ALOGV("Calling: jni_haptic_enable"); + JNIEnv *env; + jobject tmp; + if ((jVM->GetEnv((void**) &env, JNI_VERSION_1_4))<0) + { + jVM->AttachCurrentThread(&env, NULL); + } + + return env->CallVoidMethod(jniCallbackObj, android_haptic_enable); +} + +void jni_haptic_disable() +{ + ALOGV("Calling: jni_haptic_disable"); + JNIEnv *env; + jobject tmp; + if ((jVM->GetEnv((void**) &env, JNI_VERSION_1_4))<0) + { + jVM->AttachCurrentThread(&env, NULL); + } + + return env->CallVoidMethod(jniCallbackObj, android_haptic_disable); +} + +extern "C" { + +int JNI_OnLoad(JavaVM* vm, void* reserved) +{ + JNIEnv *env; + jVM = vm; + if(vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) + { + ALOGE("Failed JNI_OnLoad"); + return -1; + } + + return JNI_VERSION_1_4; +} + +JNIEXPORT jlong JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onCreate( JNIEnv * env, jclass activityClass, jobject activity, + jstring commandLineParams, jboolean jHasIWADs, jboolean jHasLauncher) +{ + ALOGV( " GLES3JNILib::onCreate()" ); + + /* the global arg_xxx structs are initialised within the argtable */ + void *argtable[] = { + ss = arg_dbl0("s", "supersampling", "", "super sampling value (default: Q1: 1.2, Q2: 1.35)"), + cpu = arg_int0("c", "cpu", "", "CPU perf index 1-4 (default: 2)"), + gpu = arg_int0("g", "gpu", "", "GPU perf index 1-4 (default: 3)"), + msaa = arg_int0("m", "msaa", "", "MSAA (default: 1)"), + refresh = arg_int0("r", "refresh", "", "Refresh Rate (default: Q1: 72, Q2: 72)"), + end = arg_end(20) + }; + + hasIWADs = jHasIWADs != 0; + hasLauncher = jHasLauncher != 0; + + jboolean iscopy; + const char *arg = env->GetStringUTFChars(commandLineParams, &iscopy); + + char *cmdLine = NULL; + if (arg && strlen(arg)) + { + cmdLine = strdup(arg); + } + + env->ReleaseStringUTFChars(commandLineParams, arg); + + ALOGV("Command line %s", cmdLine); + argv = (char**)malloc(sizeof(char*) * 255); + argc = ParseCommandLine(strdup(cmdLine), argv); + + /* verify the argtable[] entries were allocated sucessfully */ + if (arg_nullcheck(argtable) == 0) { + /* Parse the command line as defined by argtable[] */ + arg_parse(argc, argv, argtable); + + if (ss->count > 0 && ss->dval[0] > 0.0) + { + SS_MULTIPLIER = ss->dval[0]; + } + + if (msaa->count > 0 && msaa->ival[0] > 0 && msaa->ival[0] < 10) + { + NUM_MULTI_SAMPLES = msaa->ival[0]; + } + + if (refresh->count > 0 && refresh->ival[0] > 0 && refresh->ival[0] <= 120) + { + REFRESH = refresh->ival[0]; + } + } + + ovrAppThread * appThread = (ovrAppThread *) malloc( sizeof( ovrAppThread ) ); + ovrAppThread_Create( appThread, env, activity, activityClass ); + + surfaceMessageQueue_Enable(&appThread->MessageQueue, true); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_CREATE, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); + + return (jlong)((size_t)appThread); +} + + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onStart( JNIEnv * env, jobject obj, jlong handle, jobject obj1) +{ + ALOGV( " GLES3JNILib::onStart()" ); + + + jniCallbackObj = (jobject)env->NewGlobalRef( obj1); + jclass callbackClass = env->GetObjectClass( jniCallbackObj); + + android_shutdown = env->GetMethodID(callbackClass,"shutdown","()V"); + + android_haptic_event = env->GetMethodID(callbackClass, "haptic_event", "(Ljava/lang/String;IIFF)V"); + android_haptic_stopevent = env->GetMethodID(callbackClass, "haptic_stopevent", "(Ljava/lang/String;)V"); + android_haptic_enable = env->GetMethodID(callbackClass, "haptic_enable", "()V"); + android_haptic_disable = env->GetMethodID(callbackClass, "haptic_disable", "()V"); + + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_START, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onResume( JNIEnv * env, jobject obj, jlong handle ) +{ + ALOGV( " GLES3JNILib::onResume()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_RESUME, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onPause( JNIEnv * env, jobject obj, jlong handle ) +{ + ALOGV( " GLES3JNILib::onPause()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_PAUSE, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onStop( JNIEnv * env, jobject obj, jlong handle ) +{ + ALOGV( " GLES3JNILib::onStop()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_STOP, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onDestroy( JNIEnv * env, jobject obj, jlong handle ) +{ + ALOGV( " GLES3JNILib::onDestroy()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_DESTROY, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); + surfaceMessageQueue_Enable(&appThread->MessageQueue, false); + + ovrAppThread_Destroy( appThread, env ); + free( appThread ); +} + +/* +================================================================================ + +Surface lifecycle + +================================================================================ +*/ + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onSurfaceCreated( JNIEnv * env, jobject obj, jlong handle, jobject surface ) +{ + ALOGV( " GLES3JNILib::onSurfaceCreated()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + + ANativeWindow * newNativeWindow = ANativeWindow_fromSurface( env, surface ); + if ( ANativeWindow_getWidth( newNativeWindow ) < ANativeWindow_getHeight( newNativeWindow ) ) + { + // An app that is relaunched after pressing the home button gets an initial surface with + // the wrong orientation even though android:screenOrientation="landscape" is set in the + // manifest. The choreographer callback will also never be called for this surface because + // the surface is immediately replaced with a new surface with the correct orientation. + ALOGE( " Surface not in landscape mode!" ); + } + + ALOGV( " NativeWindow = ANativeWindow_fromSurface( env, surface )" ); + appThread->NativeWindow = newNativeWindow; + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_SURFACE_CREATED, MQ_WAIT_PROCESSED); + surfaceMessage_SetPointerParm(&message, 0, appThread->NativeWindow); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onSurfaceChanged( JNIEnv * env, jobject obj, jlong handle, jobject surface ) +{ + ALOGV( " GLES3JNILib::onSurfaceChanged()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + + ANativeWindow * newNativeWindow = ANativeWindow_fromSurface( env, surface ); + if ( ANativeWindow_getWidth( newNativeWindow ) < ANativeWindow_getHeight( newNativeWindow ) ) + { + // An app that is relaunched after pressing the home button gets an initial surface with + // the wrong orientation even though android:screenOrientation="landscape" is set in the + // manifest. The choreographer callback will also never be called for this surface because + // the surface is immediately replaced with a new surface with the correct orientation. + ALOGE( " Surface not in landscape mode!" ); + } + + if ( newNativeWindow != appThread->NativeWindow ) + { + if ( appThread->NativeWindow != NULL ) + { + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_SURFACE_DESTROYED, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); + ALOGV( " ANativeWindow_release( NativeWindow )" ); + ANativeWindow_release( appThread->NativeWindow ); + appThread->NativeWindow = NULL; + } + if ( newNativeWindow != NULL ) + { + ALOGV( " NativeWindow = ANativeWindow_fromSurface( env, surface )" ); + appThread->NativeWindow = newNativeWindow; + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_SURFACE_CREATED, MQ_WAIT_PROCESSED); + surfaceMessage_SetPointerParm(&message, 0, appThread->NativeWindow); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); + } + } + else if ( newNativeWindow != NULL ) + { + ANativeWindow_release( newNativeWindow ); + } +} + +JNIEXPORT void JNICALL Java_com_drbeef_questzdoom_GLES3JNILib_onSurfaceDestroyed( JNIEnv * env, jobject obj, jlong handle ) +{ + ALOGV( " GLES3JNILib::onSurfaceDestroyed()" ); + ovrAppThread * appThread = (ovrAppThread *)((size_t)handle); + srufaceMessage message; + surfaceMessage_Init(&message, MESSAGE_ON_SURFACE_DESTROYED, MQ_WAIT_PROCESSED); + surfaceMessageQueue_PostMessage(&appThread->MessageQueue, &message); + ALOGV( " ANativeWindow_release( NativeWindow )" ); + ANativeWindow_release( appThread->NativeWindow ); + appThread->NativeWindow = NULL; +} + +} \ No newline at end of file diff --git a/Projects/Android/jni/QzDoom/TBXR_Common.cpp b/Projects/Android/jni/QzDoom/TBXR_Common.cpp new file mode 100644 index 0000000..89de929 --- /dev/null +++ b/Projects/Android/jni/QzDoom/TBXR_Common.cpp @@ -0,0 +1,2020 @@ +#include +#include +#include +#include +#include +#include +#include // for prctl( PR_SET_NAME ) +#include +#include // for native window JNI +#include + +#include "argtable3.h" +#include "VrInput.h" + +#include +#include +#include +#include +#define GL_GLEXT_PROTOTYPES + +#include "VrInput.h" +#include "VrCommon.h" +#include "../SupportLibs/jpeg8d/jinclude.h" +#include "../SupportLibs/libpng/pngconf.h" + +#if !defined( EGL_OPENGL_ES3_BIT_KHR ) +#define EGL_OPENGL_ES3_BIT_KHR 0x0040 +#endif + +// EXT_texture_border_clamp +#ifndef GL_CLAMP_TO_BORDER +#define GL_CLAMP_TO_BORDER 0x812D +#endif + +#ifndef GL_TEXTURE_BORDER_COLOR +#define GL_TEXTURE_BORDER_COLOR 0x1004 +#endif + +#ifndef GLAPI +#define GLAPI extern +#endif +//#define ENABLE_GL_DEBUG +#define ENABLE_GL_DEBUG_VERBOSE 1 + +#define EGL_SYNC + +#if defined EGL_SYNC +// EGL_KHR_reusable_sync +PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR; +PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR; +PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR; +PFNEGLSIGNALSYNCKHRPROC eglSignalSyncKHR; +PFNEGLGETSYNCATTRIBKHRPROC eglGetSyncAttribKHR; +#endif + +//Let's go to the maximum! +int NUM_MULTI_SAMPLES = 2; +int REFRESH = 0; +float SS_MULTIPLIER = 0.0f; + +GLboolean stageSupported = GL_FALSE; + +#ifdef META_QUEST + +const char* const requiredExtensionNames[] = { + XR_KHR_OPENGL_ES_ENABLE_EXTENSION_NAME, + XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME, + XR_KHR_ANDROID_THREAD_SETTINGS_EXTENSION_NAME, + XR_FB_DISPLAY_REFRESH_RATE_EXTENSION_NAME, + XR_FB_COLOR_SPACE_EXTENSION_NAME}; +#endif //META_QUEST + +#ifdef PICO_XR +#define XR_PICO_CONFIGS_EXT_EXTENSION_NAME "XR_PICO_configs_ext" + +enum ConfigsEXT +{ + RENDER_TEXTURE_WIDTH = 0, + RENDER_TEXTURE_HEIGHT, + SHOW_FPS, + RUNTIME_LOG_LEVEL, + PXRPLUGIN_LOG_LEVEL, + UNITY_LOG_LEVEL, + UNREAL_LOG_LEVEL, + NATIVE_LOG_LEVEL, + TARGET_FRAME_RATE, + NECK_MODEL_X, + NECK_MODEL_Y, + NECK_MODEL_Z, + DISPLAY_REFRESH_RATE, + ENABLE_6DOF, + CONTROLLER_TYPE, + PHYSICAL_IPD, + TO_DELTA_SENSOR_Y, + GET_DISPLAY_RATE, + FOVEATION_SUBSAMPLED_ENABLED = 18, + TRACKING_ORIGIN_HEIGHT +}; +typedef XrResult (XRAPI_PTR *PFN_xrGetConfigPICO)( + XrSession session, + enum ConfigsEXT configIndex, + float * configData); +PFN_xrGetConfigPICO pfnXrGetConfigPICO; + + +enum ConfigsSetEXT +{ + UNREAL_VERSION = 0, + TRACKING_ORIGIN, + OPENGL_NOERROR, + ENABLE_SIX_DOF, + PRESENTATION_FLAG, + ENABLE_CPT, + PLATFORM, + FOVEATION_LEVEL, + SET_DISPLAY_RATE = 8, + MRC_TEXTURE_ID = 9, +}; + +typedef XrResult (XRAPI_PTR *PFN_xrSetConfigPICO) ( + XrSession session, + enum ConfigsSetEXT configIndex, + char * configData); +PFN_xrSetConfigPICO pfnXrSetConfigPICO; + +const char* const requiredExtensionNames[] = { + XR_KHR_ANDROID_CREATE_INSTANCE_EXTENSION_NAME, + XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME, + XR_KHR_OPENGL_ES_ENABLE_EXTENSION_NAME, + XR_PICO_CONFIGS_EXT_EXTENSION_NAME}; + +#endif //PICO_XR + +const uint32_t numRequiredExtensions = + sizeof(requiredExtensionNames) / sizeof(requiredExtensionNames[0]); + + +/* +================================================================================ + +System Clock Time in millis + +================================================================================ +*/ + +double TBXR_GetTimeInMilliSeconds() +{ + struct timespec now; + clock_gettime( CLOCK_MONOTONIC, &now ); + return ( now.tv_sec * 1e9 + now.tv_nsec ) * (double)(1e-6); +} + +int runStatus = -1; +void TBXR_exit(int exitCode) +{ + runStatus = exitCode; +} + +/* +================================================================================ + +OpenGL-ES Utility Functions + +================================================================================ +*/ + +typedef struct +{ + bool multi_view; // GL_OVR_multiview, GL_OVR_multiview2 + bool EXT_texture_border_clamp; // GL_EXT_texture_border_clamp, GL_OES_texture_border_clamp +} OpenGLExtensions_t; + +OpenGLExtensions_t glExtensions; + +static void EglInitExtensions() +{ +#if defined EGL_SYNC + eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) eglGetProcAddress( "eglCreateSyncKHR" ); + eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) eglGetProcAddress( "eglDestroySyncKHR" ); + eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) eglGetProcAddress( "eglClientWaitSyncKHR" ); + eglSignalSyncKHR = (PFNEGLSIGNALSYNCKHRPROC) eglGetProcAddress( "eglSignalSyncKHR" ); + eglGetSyncAttribKHR = (PFNEGLGETSYNCATTRIBKHRPROC) eglGetProcAddress( "eglGetSyncAttribKHR" ); +#endif + + const char * allExtensions = (const char *)glGetString( GL_EXTENSIONS ); + if ( allExtensions != NULL ) + { + glExtensions.multi_view = strstr( allExtensions, "GL_OVR_multiview2" ) && + strstr( allExtensions, "GL_OVR_multiview_multisampled_render_to_texture" ); + + glExtensions.EXT_texture_border_clamp = false;//strstr( allExtensions, "GL_EXT_texture_border_clamp" ) || + //strstr( allExtensions, "GL_OES_texture_border_clamp" ); + } +} + +static const char * EglErrorString( const EGLint error ) +{ + switch ( error ) + { + case EGL_SUCCESS: return "EGL_SUCCESS"; + case EGL_NOT_INITIALIZED: return "EGL_NOT_INITIALIZED"; + case EGL_BAD_ACCESS: return "EGL_BAD_ACCESS"; + case EGL_BAD_ALLOC: return "EGL_BAD_ALLOC"; + case EGL_BAD_ATTRIBUTE: return "EGL_BAD_ATTRIBUTE"; + case EGL_BAD_CONTEXT: return "EGL_BAD_CONTEXT"; + case EGL_BAD_CONFIG: return "EGL_BAD_CONFIG"; + case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE"; + case EGL_BAD_DISPLAY: return "EGL_BAD_DISPLAY"; + case EGL_BAD_SURFACE: return "EGL_BAD_SURFACE"; + case EGL_BAD_MATCH: return "EGL_BAD_MATCH"; + case EGL_BAD_PARAMETER: return "EGL_BAD_PARAMETER"; + case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP"; + case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW"; + case EGL_CONTEXT_LOST: return "EGL_CONTEXT_LOST"; + default: return "unknown"; + } +} + +static const char * GlFrameBufferStatusString( GLenum status ) +{ + switch ( status ) + { + case GL_FRAMEBUFFER_UNDEFINED: return "GL_FRAMEBUFFER_UNDEFINED"; + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: return "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"; + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: return "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"; + case GL_FRAMEBUFFER_UNSUPPORTED: return "GL_FRAMEBUFFER_UNSUPPORTED"; + case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: return "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"; + default: return "unknown"; + } +} + + +/* +================================================================================ + +ovrEgl + +================================================================================ +*/ + +static void ovrEgl_Clear( ovrEgl * egl ) +{ + egl->MajorVersion = 0; + egl->MinorVersion = 0; + egl->Display = 0; + egl->Config = 0; + egl->TinySurface = EGL_NO_SURFACE; + egl->MainSurface = EGL_NO_SURFACE; + egl->Context = EGL_NO_CONTEXT; +} + +static void ovrEgl_CreateContext( ovrEgl * egl, const ovrEgl * shareEgl ) +{ + if ( egl->Display != 0 ) + { + return; + } + + egl->Display = eglGetDisplay( EGL_DEFAULT_DISPLAY ); + ALOGV( " eglInitialize( Display, &MajorVersion, &MinorVersion )" ); + eglInitialize( egl->Display, &egl->MajorVersion, &egl->MinorVersion ); + // Do NOT use eglChooseConfig, because the Android EGL code pushes in multisample + // flags in eglChooseConfig if the user has selected the "force 4x MSAA" option in + // settings, and that is completely wasted for our warp target. + const int MAX_CONFIGS = 1024; + EGLConfig configs[MAX_CONFIGS]; + EGLint numConfigs = 0; + if ( eglGetConfigs( egl->Display, configs, MAX_CONFIGS, &numConfigs ) == EGL_FALSE ) + { + ALOGE( " eglGetConfigs() failed: %s", EglErrorString( eglGetError() ) ); + return; + } + const EGLint configAttribs[] = + { + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 8, // need alpha for the multi-pass timewarp compositor + EGL_DEPTH_SIZE, 0, + EGL_STENCIL_SIZE, 0, + EGL_SAMPLES, 0, + EGL_NONE + }; + egl->Config = 0; + for ( int i = 0; i < numConfigs; i++ ) + { + EGLint value = 0; + + eglGetConfigAttrib( egl->Display, configs[i], EGL_RENDERABLE_TYPE, &value ); + if ( ( value & EGL_OPENGL_ES3_BIT_KHR ) != EGL_OPENGL_ES3_BIT_KHR ) + { + continue; + } + + // The pbuffer config also needs to be compatible with normal window rendering + // so it can share textures with the window context. + eglGetConfigAttrib( egl->Display, configs[i], EGL_SURFACE_TYPE, &value ); + if ( ( value & ( EGL_WINDOW_BIT | EGL_PBUFFER_BIT ) ) != ( EGL_WINDOW_BIT | EGL_PBUFFER_BIT ) ) + { + continue; + } + + int j = 0; + for ( ; configAttribs[j] != EGL_NONE; j += 2 ) + { + eglGetConfigAttrib( egl->Display, configs[i], configAttribs[j], &value ); + if ( value != configAttribs[j + 1] ) + { + break; + } + } + if ( configAttribs[j] == EGL_NONE ) + { + egl->Config = configs[i]; + break; + } + } + if ( egl->Config == 0 ) + { + ALOGE( " eglChooseConfig() failed: %s", EglErrorString( eglGetError() ) ); + return; + } + EGLint contextAttribs[] = + { + EGL_CONTEXT_CLIENT_VERSION, 3, + EGL_NONE + }; + ALOGV( " Context = eglCreateContext( Display, Config, EGL_NO_CONTEXT, contextAttribs )" ); + egl->Context = eglCreateContext( egl->Display, egl->Config, ( shareEgl != NULL ) ? shareEgl->Context : EGL_NO_CONTEXT, contextAttribs ); + if ( egl->Context == EGL_NO_CONTEXT ) + { + ALOGE( " eglCreateContext() failed: %s", EglErrorString( eglGetError() ) ); + return; + } + const EGLint surfaceAttribs[] = + { + EGL_WIDTH, 16, + EGL_HEIGHT, 16, + EGL_NONE + }; + ALOGV( " TinySurface = eglCreatePbufferSurface( Display, Config, surfaceAttribs )" ); + egl->TinySurface = eglCreatePbufferSurface( egl->Display, egl->Config, surfaceAttribs ); + if ( egl->TinySurface == EGL_NO_SURFACE ) + { + ALOGE( " eglCreatePbufferSurface() failed: %s", EglErrorString( eglGetError() ) ); + eglDestroyContext( egl->Display, egl->Context ); + egl->Context = EGL_NO_CONTEXT; + return; + } + ALOGV( " eglMakeCurrent( Display, TinySurface, TinySurface, Context )" ); + if ( eglMakeCurrent( egl->Display, egl->TinySurface, egl->TinySurface, egl->Context ) == EGL_FALSE ) + { + ALOGE( " eglMakeCurrent() failed: %s", EglErrorString( eglGetError() ) ); + eglDestroySurface( egl->Display, egl->TinySurface ); + eglDestroyContext( egl->Display, egl->Context ); + egl->Context = EGL_NO_CONTEXT; + return; + } +} + +static void ovrEgl_DestroyContext( ovrEgl * egl ) +{ + if ( egl->Display != 0 ) + { + ALOGE( " eglMakeCurrent( Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT )" ); + if ( eglMakeCurrent( egl->Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT ) == EGL_FALSE ) + { + ALOGE( " eglMakeCurrent() failed: %s", EglErrorString( eglGetError() ) ); + } + } + if ( egl->Context != EGL_NO_CONTEXT ) + { + ALOGE( " eglDestroyContext( Display, Context )" ); + if ( eglDestroyContext( egl->Display, egl->Context ) == EGL_FALSE ) + { + ALOGE( " eglDestroyContext() failed: %s", EglErrorString( eglGetError() ) ); + } + egl->Context = EGL_NO_CONTEXT; + } + if ( egl->TinySurface != EGL_NO_SURFACE ) + { + ALOGE( " eglDestroySurface( Display, TinySurface )" ); + if ( eglDestroySurface( egl->Display, egl->TinySurface ) == EGL_FALSE ) + { + ALOGE( " eglDestroySurface() failed: %s", EglErrorString( eglGetError() ) ); + } + egl->TinySurface = EGL_NO_SURFACE; + } + if ( egl->Display != 0 ) + { + ALOGE( " eglTerminate( Display )" ); + if ( eglTerminate( egl->Display ) == EGL_FALSE ) + { + ALOGE( " eglTerminate() failed: %s", EglErrorString( eglGetError() ) ); + } + egl->Display = 0; + } +} + +/* +================================================================================ + +ovrFramebuffer + +================================================================================ +*/ + +static void ovrFramebuffer_Clear(ovrFramebuffer* frameBuffer) { + frameBuffer->Width = 0; + frameBuffer->Height = 0; + frameBuffer->Multisamples = 0; + frameBuffer->TextureSwapChainLength = 0; + frameBuffer->TextureSwapChainIndex = 0; + frameBuffer->ColorSwapChain.Handle = XR_NULL_HANDLE; + frameBuffer->ColorSwapChain.Width = 0; + frameBuffer->ColorSwapChain.Height = 0; + frameBuffer->ColorSwapChainImage = NULL; + frameBuffer->DepthBuffers = NULL; + frameBuffer->FrameBuffers = NULL; +} + +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); + + +static bool ovrFramebuffer_Create( + XrSession session, + ovrFramebuffer* frameBuffer, + const GLenum colorFormat, + const int width, + const int height, + const int multisamples) { + PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC glRenderbufferStorageMultisampleEXT = + (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC)eglGetProcAddress( + "glRenderbufferStorageMultisampleEXT"); + PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC glFramebufferTexture2DMultisampleEXT = + (PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC)eglGetProcAddress( + "glFramebufferTexture2DMultisampleEXT"); + + frameBuffer->Width = width; + frameBuffer->Height = height; + frameBuffer->Multisamples = multisamples; + + XrSwapchainCreateInfo swapChainCreateInfo; + memset(&swapChainCreateInfo, 0, sizeof(swapChainCreateInfo)); + swapChainCreateInfo.type = XR_TYPE_SWAPCHAIN_CREATE_INFO; + swapChainCreateInfo.usageFlags = XR_SWAPCHAIN_USAGE_COLOR_ATTACHMENT_BIT; + swapChainCreateInfo.format = colorFormat; + swapChainCreateInfo.sampleCount = 1; + swapChainCreateInfo.width = width; + swapChainCreateInfo.height = height; + swapChainCreateInfo.faceCount = 1; + swapChainCreateInfo.arraySize = 1; + swapChainCreateInfo.mipCount = 1; + + frameBuffer->ColorSwapChain.Width = swapChainCreateInfo.width; + frameBuffer->ColorSwapChain.Height = swapChainCreateInfo.height; + + // Create the swapchain. + OXR(xrCreateSwapchain(session, &swapChainCreateInfo, &frameBuffer->ColorSwapChain.Handle)); + // Get the number of swapchain images. + OXR(xrEnumerateSwapchainImages( + frameBuffer->ColorSwapChain.Handle, 0, &frameBuffer->TextureSwapChainLength, NULL)); + // Allocate the swapchain images array. + frameBuffer->ColorSwapChainImage = (XrSwapchainImageOpenGLESKHR*)malloc( + frameBuffer->TextureSwapChainLength * sizeof(XrSwapchainImageOpenGLESKHR)); + + // Populate the swapchain image array. + for (uint32_t i = 0; i < frameBuffer->TextureSwapChainLength; i++) { + frameBuffer->ColorSwapChainImage[i].type = XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR; + frameBuffer->ColorSwapChainImage[i].next = NULL; + } + OXR(xrEnumerateSwapchainImages( + frameBuffer->ColorSwapChain.Handle, + frameBuffer->TextureSwapChainLength, + &frameBuffer->TextureSwapChainLength, + (XrSwapchainImageBaseHeader*)frameBuffer->ColorSwapChainImage)); + + frameBuffer->DepthBuffers = + (GLuint*)malloc(frameBuffer->TextureSwapChainLength * sizeof(GLuint)); + frameBuffer->FrameBuffers = + (GLuint*)malloc(frameBuffer->TextureSwapChainLength * sizeof(GLuint)); + + for (uint32_t i = 0; i < frameBuffer->TextureSwapChainLength; i++) { + // Create the color buffer texture. + const GLuint colorTexture = frameBuffer->ColorSwapChainImage[i].image; + + GLfloat borderColor[] = {0.0f, 0.0f, 0.0f, 0.0f}; + GLenum colorTextureTarget = GL_TEXTURE_2D; + GL(glTexParameterfv(colorTextureTarget, GL_TEXTURE_BORDER_COLOR, borderColor)); + GL(glBindTexture(colorTextureTarget, colorTexture)); + GL(glTexParameteri(colorTextureTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE)); + GL(glTexParameteri(colorTextureTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)); + GL(glTexParameteri(colorTextureTarget, GL_TEXTURE_MIN_FILTER, GL_LINEAR)); + GL(glTexParameteri(colorTextureTarget, GL_TEXTURE_MAG_FILTER, GL_LINEAR)); + GL(glBindTexture(colorTextureTarget, 0)); + + if (glRenderbufferStorageMultisampleEXT != NULL && + glFramebufferTexture2DMultisampleEXT != NULL) { + // Create multisampled depth buffer. + GL(glGenRenderbuffers(1, &frameBuffer->DepthBuffers[i])); + GL(glBindRenderbuffer(GL_RENDERBUFFER, frameBuffer->DepthBuffers[i])); + GL(glRenderbufferStorageMultisampleEXT( + GL_RENDERBUFFER, multisamples, GL_DEPTH_COMPONENT24, width, height)); + GL(glBindRenderbuffer(GL_RENDERBUFFER, 0)); + + // Create the frame buffer. + // NOTE: glFramebufferTexture2DMultisampleEXT only works with GL_FRAMEBUFFER. + GL(glGenFramebuffers(1, &frameBuffer->FrameBuffers[i])); + GL(glBindFramebuffer(GL_FRAMEBUFFER, frameBuffer->FrameBuffers[i])); + GL(glFramebufferTexture2DMultisampleEXT( + GL_FRAMEBUFFER, + GL_COLOR_ATTACHMENT0, + GL_TEXTURE_2D, + colorTexture, + 0, + multisamples)); + GL(glFramebufferRenderbuffer( + GL_FRAMEBUFFER, + GL_DEPTH_ATTACHMENT, + GL_RENDERBUFFER, + frameBuffer->DepthBuffers[i])); + GL(GLenum renderFramebufferStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER)); + GL(glBindFramebuffer(GL_FRAMEBUFFER, 0)); + if (renderFramebufferStatus != GL_FRAMEBUFFER_COMPLETE) { + ALOGE( + "Incomplete frame buffer object: %s", + GlFrameBufferStatusString(renderFramebufferStatus)); + return false; + } + } else { + return false; + } + } + + return true; +} + +void ovrFramebuffer_Destroy(ovrFramebuffer* frameBuffer) { + GL(glDeleteFramebuffers(frameBuffer->TextureSwapChainLength, frameBuffer->FrameBuffers)); + GL(glDeleteRenderbuffers(frameBuffer->TextureSwapChainLength, frameBuffer->DepthBuffers)); + OXR(xrDestroySwapchain(frameBuffer->ColorSwapChain.Handle)); + free(frameBuffer->ColorSwapChainImage); + + free(frameBuffer->DepthBuffers); + free(frameBuffer->FrameBuffers); + + ovrFramebuffer_Clear(frameBuffer); +} + +void ovrFramebuffer_SetCurrent(ovrFramebuffer* frameBuffer) { + GL(glBindFramebuffer( + GL_DRAW_FRAMEBUFFER, frameBuffer->FrameBuffers[frameBuffer->TextureSwapChainIndex])); +} + +void ovrFramebuffer_SetNone() { + GL(glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0)); +} + +void ovrFramebuffer_Resolve(ovrFramebuffer* frameBuffer) { + // Discard the depth buffer, so the tiler won't need to write it back out to memory. + const GLenum depthAttachment[1] = {GL_DEPTH_ATTACHMENT}; + glInvalidateFramebuffer(GL_DRAW_FRAMEBUFFER, 1, depthAttachment); + + // We now let the resolve happen implicitly. +} + +void ovrFramebuffer_Acquire(ovrFramebuffer* frameBuffer) { + // Acquire the swapchain image + XrSwapchainImageAcquireInfo acquireInfo = {XR_TYPE_SWAPCHAIN_IMAGE_ACQUIRE_INFO, NULL}; + OXR(xrAcquireSwapchainImage( + frameBuffer->ColorSwapChain.Handle, &acquireInfo, &frameBuffer->TextureSwapChainIndex)); + + XrSwapchainImageWaitInfo waitInfo; + waitInfo.type = XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO; + waitInfo.next = NULL; + waitInfo.timeout = 1000000000; /* timeout in nanoseconds */ + XrResult res = xrWaitSwapchainImage(frameBuffer->ColorSwapChain.Handle, &waitInfo); + int i = 0; + while (res == XR_TIMEOUT_EXPIRED) { + res = xrWaitSwapchainImage(frameBuffer->ColorSwapChain.Handle, &waitInfo); + i++; + ALOGV( + " Retry xrWaitSwapchainImage %d times due to XR_TIMEOUT_EXPIRED (duration %f seconds)", + i, + waitInfo.timeout * (1E-9)); + } +} + +void ovrFramebuffer_Release(ovrFramebuffer* frameBuffer) { + XrSwapchainImageReleaseInfo releaseInfo = {XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO, NULL}; + OXR(xrReleaseSwapchainImage(frameBuffer->ColorSwapChain.Handle, &releaseInfo)); +} + + +/* +================================================================================ + +ovrRenderer + +================================================================================ +*/ + +void ovrRenderer_Clear(ovrRenderer* renderer) { + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + ovrFramebuffer_Clear(&renderer->FrameBuffer[eye]); + } +} + +void ovrRenderer_Create( + XrSession session, + ovrRenderer* renderer, + int suggestedEyeTextureWidth, + int suggestedEyeTextureHeight) { + // Create the frame buffers. + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + ovrFramebuffer_Create( + session, + &renderer->FrameBuffer[eye], + GL_SRGB8_ALPHA8, + suggestedEyeTextureWidth, + suggestedEyeTextureHeight, + NUM_MULTI_SAMPLES); + } +} + +void ovrRenderer_Destroy(ovrRenderer* renderer) { + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + ovrFramebuffer_Destroy(&renderer->FrameBuffer[eye]); + } +} + + + +/* +================================================================================ + +ovrMatrix4f + +================================================================================ +*/ + +ovrMatrix4f ovrMatrix4f_CreateFromQuaternion(const XrQuaternionf* q) { + const float ww = q->w * q->w; + const float xx = q->x * q->x; + const float yy = q->y * q->y; + const float zz = q->z * q->z; + + ovrMatrix4f out; + out.M[0][0] = ww + xx - yy - zz; + out.M[0][1] = 2 * (q->x * q->y - q->w * q->z); + out.M[0][2] = 2 * (q->x * q->z + q->w * q->y); + out.M[0][3] = 0; + + out.M[1][0] = 2 * (q->x * q->y + q->w * q->z); + out.M[1][1] = ww - xx + yy - zz; + out.M[1][2] = 2 * (q->y * q->z - q->w * q->x); + out.M[1][3] = 0; + + out.M[2][0] = 2 * (q->x * q->z - q->w * q->y); + out.M[2][1] = 2 * (q->y * q->z + q->w * q->x); + out.M[2][2] = ww - xx - yy + zz; + out.M[2][3] = 0; + + out.M[3][0] = 0; + out.M[3][1] = 0; + out.M[3][2] = 0; + out.M[3][3] = 1; + return out; +} + + +/// Use left-multiplication to accumulate transformations. +ovrMatrix4f ovrMatrix4f_Multiply(const ovrMatrix4f* a, const ovrMatrix4f* b) { + ovrMatrix4f out; + out.M[0][0] = a->M[0][0] * b->M[0][0] + a->M[0][1] * b->M[1][0] + a->M[0][2] * b->M[2][0] + + a->M[0][3] * b->M[3][0]; + out.M[1][0] = a->M[1][0] * b->M[0][0] + a->M[1][1] * b->M[1][0] + a->M[1][2] * b->M[2][0] + + a->M[1][3] * b->M[3][0]; + out.M[2][0] = a->M[2][0] * b->M[0][0] + a->M[2][1] * b->M[1][0] + a->M[2][2] * b->M[2][0] + + a->M[2][3] * b->M[3][0]; + out.M[3][0] = a->M[3][0] * b->M[0][0] + a->M[3][1] * b->M[1][0] + a->M[3][2] * b->M[2][0] + + a->M[3][3] * b->M[3][0]; + + out.M[0][1] = a->M[0][0] * b->M[0][1] + a->M[0][1] * b->M[1][1] + a->M[0][2] * b->M[2][1] + + a->M[0][3] * b->M[3][1]; + out.M[1][1] = a->M[1][0] * b->M[0][1] + a->M[1][1] * b->M[1][1] + a->M[1][2] * b->M[2][1] + + a->M[1][3] * b->M[3][1]; + out.M[2][1] = a->M[2][0] * b->M[0][1] + a->M[2][1] * b->M[1][1] + a->M[2][2] * b->M[2][1] + + a->M[2][3] * b->M[3][1]; + out.M[3][1] = a->M[3][0] * b->M[0][1] + a->M[3][1] * b->M[1][1] + a->M[3][2] * b->M[2][1] + + a->M[3][3] * b->M[3][1]; + + out.M[0][2] = a->M[0][0] * b->M[0][2] + a->M[0][1] * b->M[1][2] + a->M[0][2] * b->M[2][2] + + a->M[0][3] * b->M[3][2]; + out.M[1][2] = a->M[1][0] * b->M[0][2] + a->M[1][1] * b->M[1][2] + a->M[1][2] * b->M[2][2] + + a->M[1][3] * b->M[3][2]; + out.M[2][2] = a->M[2][0] * b->M[0][2] + a->M[2][1] * b->M[1][2] + a->M[2][2] * b->M[2][2] + + a->M[2][3] * b->M[3][2]; + out.M[3][2] = a->M[3][0] * b->M[0][2] + a->M[3][1] * b->M[1][2] + a->M[3][2] * b->M[2][2] + + a->M[3][3] * b->M[3][2]; + + out.M[0][3] = a->M[0][0] * b->M[0][3] + a->M[0][1] * b->M[1][3] + a->M[0][2] * b->M[2][3] + + a->M[0][3] * b->M[3][3]; + out.M[1][3] = a->M[1][0] * b->M[0][3] + a->M[1][1] * b->M[1][3] + a->M[1][2] * b->M[2][3] + + a->M[1][3] * b->M[3][3]; + out.M[2][3] = a->M[2][0] * b->M[0][3] + a->M[2][1] * b->M[1][3] + a->M[2][2] * b->M[2][3] + + a->M[2][3] * b->M[3][3]; + out.M[3][3] = a->M[3][0] * b->M[0][3] + a->M[3][1] * b->M[1][3] + a->M[3][2] * b->M[2][3] + + a->M[3][3] * b->M[3][3]; + return out; +} + +ovrMatrix4f ovrMatrix4f_CreateRotation(const float radiansX, const float radiansY, const float radiansZ) { + const float sinX = sinf(radiansX); + const float cosX = cosf(radiansX); + const ovrMatrix4f rotationX = { + {{1, 0, 0, 0}, {0, cosX, -sinX, 0}, {0, sinX, cosX, 0}, {0, 0, 0, 1}}}; + const float sinY = sinf(radiansY); + const float cosY = cosf(radiansY); + const ovrMatrix4f rotationY = { + {{cosY, 0, sinY, 0}, {0, 1, 0, 0}, {-sinY, 0, cosY, 0}, {0, 0, 0, 1}}}; + const float sinZ = sinf(radiansZ); + const float cosZ = cosf(radiansZ); + const ovrMatrix4f rotationZ = { + {{cosZ, -sinZ, 0, 0}, {sinZ, cosZ, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}}; + const ovrMatrix4f rotationXY = ovrMatrix4f_Multiply(&rotationY, &rotationX); + return ovrMatrix4f_Multiply(&rotationZ, &rotationXY); +} + +XrVector4f XrVector4f_MultiplyMatrix4f(const ovrMatrix4f* a, const XrVector4f* v) { + XrVector4f out; + out.x = a->M[0][0] * v->x + a->M[0][1] * v->y + a->M[0][2] * v->z + a->M[0][3] * v->w; + out.y = a->M[1][0] * v->x + a->M[1][1] * v->y + a->M[1][2] * v->z + a->M[1][3] * v->w; + out.z = a->M[2][0] * v->x + a->M[2][1] * v->y + a->M[2][2] * v->z + a->M[2][3] * v->w; + out.w = a->M[3][0] * v->x + a->M[3][1] * v->y + a->M[3][2] * v->z + a->M[3][3] * v->w; + return out; +} + +#ifndef EPSILON +#define EPSILON 0.001f +#endif + +static XrVector3f normalizeVec(XrVector3f vec) { + //NOTE: leave w-component untouched + //@@const float EPSILON = 0.000001f; + float xxyyzz = vec.x*vec.x + vec.y*vec.y + vec.z*vec.z; + //@@if(xxyyzz < EPSILON) + //@@ return *this; // do nothing if it is zero vector + + //float invLength = invSqrt(xxyyzz); + XrVector3f result; + float invLength = 1.0f / sqrtf(xxyyzz); + result.x = vec.x * invLength; + result.y = vec.y * invLength; + result.z = vec.z * invLength; + return result; +} + +void NormalizeAngles(vec3_t angles) +{ + while (angles[0] >= 90) angles[0] -= 180; + while (angles[1] >= 180) angles[1] -= 360; + while (angles[2] >= 180) angles[2] -= 360; + while (angles[0] < -90) angles[0] += 180; + while (angles[1] < -180) angles[1] += 360; + while (angles[2] < -180) angles[2] += 360; +} + +void GetAnglesFromVectors(const XrVector3f forward, const XrVector3f right, const XrVector3f up, vec3_t angles) +{ + float sr, sp, sy, cr, cp, cy; + + sp = -forward.z; + + float cp_x_cy = forward.x; + float cp_x_sy = forward.y; + float cp_x_sr = -right.z; + float cp_x_cr = up.z; + + float yaw = atan2(cp_x_sy, cp_x_cy); + float roll = atan2(cp_x_sr, cp_x_cr); + + cy = cos(yaw); + sy = sin(yaw); + cr = cos(roll); + sr = sin(roll); + + if (fabs(cy) > EPSILON) + { + cp = cp_x_cy / cy; + } + else if (fabs(sy) > EPSILON) + { + cp = cp_x_sy / sy; + } + else if (fabs(sr) > EPSILON) + { + cp = cp_x_sr / sr; + } + else if (fabs(cr) > EPSILON) + { + cp = cp_x_cr / cr; + } + else + { + cp = cos(asin(sp)); + } + + float pitch = atan2(sp, cp); + + angles[0] = pitch / (M_PI*2.f / 360.f); + angles[1] = yaw / (M_PI*2.f / 360.f); + angles[2] = roll / (M_PI*2.f / 360.f); + + NormalizeAngles(angles); +} + + +void QuatToYawPitchRoll(XrQuaternionf q, vec3_t rotation, vec3_t out) { + + ovrMatrix4f mat = ovrMatrix4f_CreateFromQuaternion( &q ); + + if (rotation[0] != 0.0f || rotation[1] != 0.0f || rotation[2] != 0.0f) + { + ovrMatrix4f rot = ovrMatrix4f_CreateRotation(DEG2RAD(rotation[0]), DEG2RAD(rotation[1]), DEG2RAD(rotation[2])); + mat = ovrMatrix4f_Multiply(&mat, &rot); + } + + XrVector4f v1 = {0, 0, -1, 0}; + XrVector4f v2 = {1, 0, 0, 0}; + XrVector4f v3 = {0, 1, 0, 0}; + + XrVector4f forwardInVRSpace = XrVector4f_MultiplyMatrix4f(&mat, &v1); + XrVector4f rightInVRSpace = XrVector4f_MultiplyMatrix4f(&mat, &v2); + XrVector4f upInVRSpace = XrVector4f_MultiplyMatrix4f(&mat, &v3); + + XrVector3f forward = {-forwardInVRSpace.z, -forwardInVRSpace.x, forwardInVRSpace.y}; + XrVector3f right = {-rightInVRSpace.z, -rightInVRSpace.x, rightInVRSpace.y}; + XrVector3f up = {-upInVRSpace.z, -upInVRSpace.x, upInVRSpace.y}; + + XrVector3f forwardNormal = normalizeVec(forward); + XrVector3f rightNormal = normalizeVec(right); + XrVector3f upNormal = normalizeVec(up); + + GetAnglesFromVectors(forwardNormal, rightNormal, upNormal, out); +} + +/* +======================== +TBXR_Vibrate +======================== +*/ + +void TBXR_Vibrate( int duration, int chan, float intensity ); + +/* +================================================================================ + +ovrRenderThread + +================================================================================ +*/ + + + +void ovrApp_Clear(ovrApp* app) { + app->Focused = false; + app->Instance = XR_NULL_HANDLE; + app->Session = XR_NULL_HANDLE; + memset(&app->ViewportConfig, 0, sizeof(XrViewConfigurationProperties)); + memset(&app->ViewConfigurationView, 0, ovrMaxNumEyes * sizeof(XrViewConfigurationView)); + app->SystemId = XR_NULL_SYSTEM_ID; + app->HeadSpace = XR_NULL_HANDLE; + app->StageSpace = XR_NULL_HANDLE; + app->FakeStageSpace = XR_NULL_HANDLE; + app->CurrentSpace = XR_NULL_HANDLE; + app->SessionActive = false; + app->SupportedDisplayRefreshRates = NULL; + app->RequestedDisplayRefreshRateIndex = 0; + app->NumSupportedDisplayRefreshRates = 0; + app->pfnGetDisplayRefreshRate = NULL; + app->pfnRequestDisplayRefreshRate = NULL; + app->SwapInterval = 1; + memset(app->Layers, 0, sizeof(xrCompositorLayer_Union) * ovrMaxLayerCount); + app->LayerCount = 0; + app->MainThreadTid = 0; + app->RenderThreadTid = 0; + ovrEgl_Clear( &app->Egl ); + ovrRenderer_Clear(&app->Renderer); +} + + + +void ovrApp_HandleSessionStateChanges(ovrApp* app, XrSessionState state) { + if (state == XR_SESSION_STATE_READY) { + assert(app->SessionActive == false); + + XrSessionBeginInfo sessionBeginInfo; + memset(&sessionBeginInfo, 0, sizeof(sessionBeginInfo)); + sessionBeginInfo.type = XR_TYPE_SESSION_BEGIN_INFO; + sessionBeginInfo.next = NULL; + sessionBeginInfo.primaryViewConfigurationType = app->ViewportConfig.viewConfigurationType; + + XrResult result; + OXR(result = xrBeginSession(app->Session, &sessionBeginInfo)); + + app->SessionActive = (result == XR_SUCCESS); + + // Set session state once we have entered VR mode and have a valid session object. + if (app->SessionActive) + { + XrPerfSettingsLevelEXT cpuPerfLevel = XR_PERF_SETTINGS_LEVEL_BOOST_EXT; + XrPerfSettingsLevelEXT gpuPerfLevel = XR_PERF_SETTINGS_LEVEL_BOOST_EXT; + + PFN_xrPerfSettingsSetPerformanceLevelEXT pfnPerfSettingsSetPerformanceLevelEXT = NULL; + OXR(xrGetInstanceProcAddr( + app->Instance, + "xrPerfSettingsSetPerformanceLevelEXT", + (PFN_xrVoidFunction * )(&pfnPerfSettingsSetPerformanceLevelEXT))); + + OXR(pfnPerfSettingsSetPerformanceLevelEXT( + app->Session, XR_PERF_SETTINGS_DOMAIN_CPU_EXT, cpuPerfLevel)); + OXR(pfnPerfSettingsSetPerformanceLevelEXT( + app->Session, XR_PERF_SETTINGS_DOMAIN_GPU_EXT, gpuPerfLevel)); + +#ifdef META_QUEST + PFN_xrSetAndroidApplicationThreadKHR pfnSetAndroidApplicationThreadKHR = NULL; + OXR(xrGetInstanceProcAddr( + app->Instance, + "xrSetAndroidApplicationThreadKHR", + (PFN_xrVoidFunction * )(&pfnSetAndroidApplicationThreadKHR))); + + OXR(pfnSetAndroidApplicationThreadKHR( + app->Session, XR_ANDROID_THREAD_TYPE_APPLICATION_MAIN_KHR, app->MainThreadTid)); + OXR(pfnSetAndroidApplicationThreadKHR( + app->Session, XR_ANDROID_THREAD_TYPE_RENDERER_MAIN_KHR, app->RenderThreadTid)); +#endif + } + } else if (state == XR_SESSION_STATE_STOPPING) { + assert(app->SessionActive); + + OXR(xrEndSession(app->Session)); + app->SessionActive = false; + } +} + +GLboolean ovrApp_HandleXrEvents(ovrApp* app) { + XrEventDataBuffer eventDataBuffer = {}; + GLboolean recenter = GL_FALSE; + + // Poll for events + for (;;) { + XrEventDataBaseHeader* baseEventHeader = (XrEventDataBaseHeader*)(&eventDataBuffer); + baseEventHeader->type = XR_TYPE_EVENT_DATA_BUFFER; + baseEventHeader->next = NULL; + XrResult r; + OXR(r = xrPollEvent(app->Instance, &eventDataBuffer)); + if (r != XR_SUCCESS) { + break; + } + + switch (baseEventHeader->type) { + case XR_TYPE_EVENT_DATA_EVENTS_LOST: + ALOGV("xrPollEvent: received XR_TYPE_EVENT_DATA_EVENTS_LOST event"); + break; + case XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING: { + const XrEventDataInstanceLossPending* instance_loss_pending_event = + (XrEventDataInstanceLossPending*)(baseEventHeader); + ALOGV( + "xrPollEvent: received XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING event: time %f", + FromXrTime(instance_loss_pending_event->lossTime)); + } break; + case XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED: + ALOGV("xrPollEvent: received XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED event"); + break; + case XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT: { + const XrEventDataPerfSettingsEXT* perf_settings_event = + (XrEventDataPerfSettingsEXT*)(baseEventHeader); + ALOGV( + "xrPollEvent: received XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT event: type %d subdomain %d : level %d -> level %d", + perf_settings_event->type, + perf_settings_event->subDomain, + perf_settings_event->fromLevel, + perf_settings_event->toLevel); + } break; +#ifdef META_QUEST + case XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB: { + const XrEventDataDisplayRefreshRateChangedFB* refresh_rate_changed_event = + (XrEventDataDisplayRefreshRateChangedFB*)(baseEventHeader); + ALOGV( + "xrPollEvent: received XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB event: fromRate %f -> toRate %f", + refresh_rate_changed_event->fromDisplayRefreshRate, + refresh_rate_changed_event->toDisplayRefreshRate); + } break; +#endif + case XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING: { + XrEventDataReferenceSpaceChangePending* ref_space_change_event = + (XrEventDataReferenceSpaceChangePending*)(baseEventHeader); + ALOGV( + "xrPollEvent: received XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING event: changed space: %d for session %p at time %f", + ref_space_change_event->referenceSpaceType, + (void*)ref_space_change_event->session, + FromXrTime(ref_space_change_event->changeTime)); + recenter = GL_TRUE; + } break; + case XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED: { + const XrEventDataSessionStateChanged* session_state_changed_event = + (XrEventDataSessionStateChanged*)(baseEventHeader); + ALOGV( + "xrPollEvent: received XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED: %d for session %p at time %f", + session_state_changed_event->state, + (void*)session_state_changed_event->session, + FromXrTime(session_state_changed_event->time)); + + switch (session_state_changed_event->state) { + case XR_SESSION_STATE_FOCUSED: + app->Focused = true; + break; + case XR_SESSION_STATE_VISIBLE: + app->Focused = false; + break; + case XR_SESSION_STATE_READY: + case XR_SESSION_STATE_STOPPING: + ovrApp_HandleSessionStateChanges(app, session_state_changed_event->state); + break; + default: + break; + } + } break; + default: + ALOGV("xrPollEvent: Unknown event"); + break; + } + } + return recenter; +} + + + +void ovrAppThread_Create( ovrAppThread * appThread, JNIEnv * env, jobject activityObject, jclass activityClass ) +{ + env->GetJavaVM( &appThread->JavaVm ); + appThread->ActivityObject = env->NewGlobalRef( activityObject ); + appThread->ActivityClass = (jclass)env->NewGlobalRef( activityClass ); + appThread->Thread = 0; + appThread->NativeWindow = NULL; + surfaceMessageQueue_Create(&appThread->MessageQueue); + + const int createErr = pthread_create( &appThread->Thread, NULL, AppThreadFunction, appThread ); + if ( createErr != 0 ) + { + ALOGE( "pthread_create returned %i", createErr ); + } +} + +void ovrAppThread_Destroy( ovrAppThread * appThread, JNIEnv * env ) +{ + pthread_join( appThread->Thread, NULL ); + env->DeleteGlobalRef( appThread->ActivityObject ); + env->DeleteGlobalRef( appThread->ActivityClass ); + surfaceMessageQueue_Destroy(&appThread->MessageQueue); +} + + +/* +================================================================================ + +surfaceMessageQueue + +================================================================================ +*/ + + +void surfaceMessage_Init(srufaceMessage * message, const int id, const int wait ) +{ + message->Id = id; + message->Wait = (ovrMQWait)wait; + memset( message->Parms, 0, sizeof( message->Parms ) ); +} + +void surfaceMessage_SetPointerParm(srufaceMessage * message, int index, void * ptr ) { *(void **)&message->Parms[index] = ptr; } +void * surfaceMessage_GetPointerParm(srufaceMessage * message, int index ) { return *(void **)&message->Parms[index]; } + + +void surfaceMessageQueue_Create(surfaceMessageQueue * messageQueue ) +{ + messageQueue->Head = 0; + messageQueue->Tail = 0; + messageQueue->Wait = MQ_WAIT_NONE; + messageQueue->EnabledFlag = false; + messageQueue->PostedFlag = false; + messageQueue->ReceivedFlag = false; + messageQueue->ProcessedFlag = false; + + pthread_mutexattr_t attr; + pthread_mutexattr_init( &attr ); + pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_ERRORCHECK ); + pthread_mutex_init( &messageQueue->Mutex, &attr ); + pthread_mutexattr_destroy( &attr ); + pthread_cond_init( &messageQueue->PostedCondition, NULL ); + pthread_cond_init( &messageQueue->ReceivedCondition, NULL ); + pthread_cond_init( &messageQueue->ProcessedCondition, NULL ); +} + +void surfaceMessageQueue_Destroy(surfaceMessageQueue * messageQueue ) +{ + pthread_mutex_destroy( &messageQueue->Mutex ); + pthread_cond_destroy( &messageQueue->PostedCondition ); + pthread_cond_destroy( &messageQueue->ReceivedCondition ); + pthread_cond_destroy( &messageQueue->ProcessedCondition ); +} + +void surfaceMessageQueue_Enable(surfaceMessageQueue * messageQueue, const bool set ) +{ + messageQueue->EnabledFlag = set; +} + +void surfaceMessageQueue_PostMessage(surfaceMessageQueue * messageQueue, const srufaceMessage * message ) +{ + if ( !messageQueue->EnabledFlag ) + { + return; + } + while ( messageQueue->Tail - messageQueue->Head >= MAX_MESSAGES ) + { + usleep( 1000 ); + } + pthread_mutex_lock( &messageQueue->Mutex ); + messageQueue->Messages[messageQueue->Tail & ( MAX_MESSAGES - 1 )] = *message; + messageQueue->Tail++; + messageQueue->PostedFlag = true; + pthread_cond_broadcast( &messageQueue->PostedCondition ); + if ( message->Wait == MQ_WAIT_RECEIVED ) + { + while ( !messageQueue->ReceivedFlag ) + { + pthread_cond_wait( &messageQueue->ReceivedCondition, &messageQueue->Mutex ); + } + messageQueue->ReceivedFlag = false; + } + else if ( message->Wait == MQ_WAIT_PROCESSED ) + { + while ( !messageQueue->ProcessedFlag ) + { + pthread_cond_wait( &messageQueue->ProcessedCondition, &messageQueue->Mutex ); + } + messageQueue->ProcessedFlag = false; + } + pthread_mutex_unlock( &messageQueue->Mutex ); +} + +static void ovrMessageQueue_SleepUntilMessage(surfaceMessageQueue * messageQueue ) +{ + if ( messageQueue->Wait == MQ_WAIT_PROCESSED ) + { + messageQueue->ProcessedFlag = true; + pthread_cond_broadcast( &messageQueue->ProcessedCondition ); + messageQueue->Wait = MQ_WAIT_NONE; + } + pthread_mutex_lock( &messageQueue->Mutex ); + if ( messageQueue->Tail > messageQueue->Head ) + { + pthread_mutex_unlock( &messageQueue->Mutex ); + return; + } + while ( !messageQueue->PostedFlag ) + { + pthread_cond_wait( &messageQueue->PostedCondition, &messageQueue->Mutex ); + } + messageQueue->PostedFlag = false; + pthread_mutex_unlock( &messageQueue->Mutex ); +} + +static bool surfaceMessageQueue_GetNextMessage(surfaceMessageQueue * messageQueue, srufaceMessage * message, bool waitForMessages ) +{ + if ( messageQueue->Wait == MQ_WAIT_PROCESSED ) + { + messageQueue->ProcessedFlag = true; + pthread_cond_broadcast( &messageQueue->ProcessedCondition ); + messageQueue->Wait = MQ_WAIT_NONE; + } + if ( waitForMessages ) + { + ovrMessageQueue_SleepUntilMessage( messageQueue ); + } + pthread_mutex_lock( &messageQueue->Mutex ); + if ( messageQueue->Tail <= messageQueue->Head ) + { + pthread_mutex_unlock( &messageQueue->Mutex ); + return false; + } + *message = messageQueue->Messages[messageQueue->Head & ( MAX_MESSAGES - 1 )]; + messageQueue->Head++; + pthread_mutex_unlock( &messageQueue->Mutex ); + if ( message->Wait == MQ_WAIT_RECEIVED ) + { + messageQueue->ReceivedFlag = true; + pthread_cond_broadcast( &messageQueue->ReceivedCondition ); + } + else if ( message->Wait == MQ_WAIT_PROCESSED ) + { + messageQueue->Wait = MQ_WAIT_PROCESSED; + } + return true; +} + +ovrAppThread * gAppThread = NULL; +ovrApp gAppState; +ovrJava java; +bool destroyed = false; + +void TBXR_GetScreenRes(int *width, int *height) +{ + *width = gAppState.Width; + *height = gAppState.Height; +} + +XrInstance TBXR_GetXrInstance() { + return gAppState.Instance; +} + +static void TBXR_ProcessMessageQueue() { + for ( ; ; ) + { + srufaceMessage message; + if ( !surfaceMessageQueue_GetNextMessage(&gAppThread->MessageQueue, &message, false) ) + { + break; + } + + switch ( message.Id ) + { + case MESSAGE_ON_CREATE: + { + break; + } + case MESSAGE_ON_START: + { + break; + } + case MESSAGE_ON_RESUME: + { + //If we get here, then user has opted not to quit + gAppState.Resumed = true; + break; + } + case MESSAGE_ON_PAUSE: + { + gAppState.Resumed = false; + break; + } + case MESSAGE_ON_STOP: + { + break; + } + case MESSAGE_ON_DESTROY: + { + gAppState.NativeWindow = NULL; + destroyed = true; + //shutdown = true; + break; + } + case MESSAGE_ON_SURFACE_CREATED: { gAppState.NativeWindow = (ANativeWindow *) surfaceMessage_GetPointerParm( + &message, 0); break; } + case MESSAGE_ON_SURFACE_DESTROYED: { gAppState.NativeWindow = NULL; break; } + } + } +} + +void ovrTrackedController_Clear(ovrTrackedController* controller) { + controller->Active = false; + controller->Pose = XrPosef_Identity(); +} + + +void TBXR_InitialiseResolution() +{ + // Enumerate the viewport configurations. + uint32_t viewportConfigTypeCount = 0; + OXR(xrEnumerateViewConfigurations( + gAppState.Instance, gAppState.SystemId, 0, &viewportConfigTypeCount, NULL)); + + XrViewConfigurationType* viewportConfigurationTypes = + (XrViewConfigurationType*)malloc(viewportConfigTypeCount * sizeof(XrViewConfigurationType)); + + OXR(xrEnumerateViewConfigurations( + gAppState.Instance, + gAppState.SystemId, + viewportConfigTypeCount, + &viewportConfigTypeCount, + viewportConfigurationTypes)); + + ALOGV("Available Viewport Configuration Types: %d", viewportConfigTypeCount); + + for (uint32_t i = 0; i < viewportConfigTypeCount; i++) { + const XrViewConfigurationType viewportConfigType = viewportConfigurationTypes[i]; + + ALOGV( + "Viewport configuration type %d : %s", + viewportConfigType, + viewportConfigType == XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO ? "Selected" : ""); + + XrViewConfigurationProperties viewportConfig; + viewportConfig.type = XR_TYPE_VIEW_CONFIGURATION_PROPERTIES; + OXR(xrGetViewConfigurationProperties( + gAppState.Instance, gAppState.SystemId, viewportConfigType, &viewportConfig)); + ALOGV( + "FovMutable=%s ConfigurationType %d", + viewportConfig.fovMutable ? "true" : "false", + viewportConfig.viewConfigurationType); + + uint32_t viewCount; + OXR(xrEnumerateViewConfigurationViews( + gAppState.Instance, gAppState.SystemId, viewportConfigType, 0, &viewCount, NULL)); + + if (viewCount > 0) { + XrViewConfigurationView* elements = + (XrViewConfigurationView*)malloc(viewCount * sizeof(XrViewConfigurationView)); + + for (uint32_t e = 0; e < viewCount; e++) { + elements[e].type = XR_TYPE_VIEW_CONFIGURATION_VIEW; + elements[e].next = NULL; + } + + OXR(xrEnumerateViewConfigurationViews( + gAppState.Instance, + gAppState.SystemId, + viewportConfigType, + viewCount, + &viewCount, + elements)); + + // Cache the view config properties for the selected config type. + if (viewportConfigType == XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO) { + assert(viewCount == ovrMaxNumEyes); + for (uint32_t e = 0; e < viewCount; e++) { + gAppState.ViewConfigurationView[e] = elements[e]; + } + } + + free(elements); + } else { + ALOGE("Empty viewport configuration type: %d", viewCount); + } + } + + free(viewportConfigurationTypes); + + //Shortcut to width and height + gAppState.Width = gAppState.ViewConfigurationView[0].recommendedImageRectWidth * SS_MULTIPLIER; + gAppState.Height = gAppState.ViewConfigurationView[0].recommendedImageRectHeight * SS_MULTIPLIER; +} + +void TBXR_EnterVR( ) { + + if (gAppState.Session) { + //Com_Printf("TBXR_EnterVR called with existing session"); + return; + } + + // Create the OpenXR Session. + XrGraphicsBindingOpenGLESAndroidKHR graphicsBindingAndroidGLES = {}; + graphicsBindingAndroidGLES.type = XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR; + graphicsBindingAndroidGLES.next = NULL; + graphicsBindingAndroidGLES.display = eglGetCurrentDisplay(); + graphicsBindingAndroidGLES.config = eglGetCurrentSurface(EGL_DRAW); + graphicsBindingAndroidGLES.context = eglGetCurrentContext(); + + XrSessionCreateInfo sessionCreateInfo = {}; + memset(&sessionCreateInfo, 0, sizeof(sessionCreateInfo)); + sessionCreateInfo.type = XR_TYPE_SESSION_CREATE_INFO; + sessionCreateInfo.next = &graphicsBindingAndroidGLES; + sessionCreateInfo.createFlags = 0; + sessionCreateInfo.systemId = gAppState.SystemId; + + XrResult initResult; + OXR(initResult = xrCreateSession(gAppState.Instance, &sessionCreateInfo, &gAppState.Session)); + if (initResult != XR_SUCCESS) { + ALOGE("Failed to create XR session: %d.", initResult); + exit(1); + } + + // Create a space to the first path + XrReferenceSpaceCreateInfo spaceCreateInfo = {}; + spaceCreateInfo.type = XR_TYPE_REFERENCE_SPACE_CREATE_INFO; + spaceCreateInfo.referenceSpaceType = XR_REFERENCE_SPACE_TYPE_VIEW; + spaceCreateInfo.poseInReferenceSpace.orientation.w = 1.0f; + OXR(xrCreateReferenceSpace(gAppState.Session, &spaceCreateInfo, &gAppState.HeadSpace)); +} + +void TBXR_LeaveVR( ) { + if (gAppState.Session) { + OXR(xrDestroySpace(gAppState.HeadSpace)); + // StageSpace is optional. + if (gAppState.StageSpace != XR_NULL_HANDLE) { + OXR(xrDestroySpace(gAppState.StageSpace)); + } + OXR(xrDestroySpace(gAppState.FakeStageSpace)); + gAppState.CurrentSpace = XR_NULL_HANDLE; + OXR(xrDestroySession(gAppState.Session)); + gAppState.Session = NULL; + } + + ovrRenderer_Destroy( &gAppState.Renderer ); + ovrEgl_DestroyContext( &gAppState.Egl ); + java.Vm->DetachCurrentThread( ); +} + +void TBXR_InitRenderer( ) { + // Get the viewport configuration info for the chosen viewport configuration type. + gAppState.ViewportConfig.type = XR_TYPE_VIEW_CONFIGURATION_PROPERTIES; + + OXR(xrGetViewConfigurationProperties( + gAppState.Instance, gAppState.SystemId, XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO, &gAppState.ViewportConfig)); + + +#ifdef META_QUEST + XrSystemColorSpacePropertiesFB colorSpacePropertiesFB = {}; + colorSpacePropertiesFB.type = XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB; + + XrSystemProperties systemProperties = {}; + systemProperties.type = XR_TYPE_SYSTEM_PROPERTIES; + systemProperties.next = &colorSpacePropertiesFB; + OXR(xrGetSystemProperties(gAppState.Instance, gAppState.SystemId, &systemProperties)); + + // Enumerate the supported color space options for the system. + { + PFN_xrEnumerateColorSpacesFB pfnxrEnumerateColorSpacesFB = NULL; + OXR(xrGetInstanceProcAddr( + gAppState.Instance, + "xrEnumerateColorSpacesFB", + (PFN_xrVoidFunction*)(&pfnxrEnumerateColorSpacesFB))); + + uint32_t colorSpaceCountOutput = 0; + OXR(pfnxrEnumerateColorSpacesFB(gAppState.Session, 0, &colorSpaceCountOutput, NULL)); + + XrColorSpaceFB* colorSpaces = + (XrColorSpaceFB*)malloc(colorSpaceCountOutput * sizeof(XrColorSpaceFB)); + + OXR(pfnxrEnumerateColorSpacesFB( + gAppState.Session, colorSpaceCountOutput, &colorSpaceCountOutput, colorSpaces)); + ALOGV("Supported ColorSpaces:"); + + for (uint32_t i = 0; i < colorSpaceCountOutput; i++) { + ALOGV("%d:%d", i, colorSpaces[i]); + } + + const XrColorSpaceFB requestColorSpace = XR_COLOR_SPACE_REC2020_FB; + + PFN_xrSetColorSpaceFB pfnxrSetColorSpaceFB = NULL; + OXR(xrGetInstanceProcAddr( + gAppState.Instance, "xrSetColorSpaceFB", (PFN_xrVoidFunction*)(&pfnxrSetColorSpaceFB))); + + OXR(pfnxrSetColorSpaceFB(gAppState.Session, requestColorSpace)); + + free(colorSpaces); + } + + // Get the supported display refresh rates for the system. + { + PFN_xrEnumerateDisplayRefreshRatesFB pfnxrEnumerateDisplayRefreshRatesFB = NULL; + OXR(xrGetInstanceProcAddr( + gAppState.Instance, + "xrEnumerateDisplayRefreshRatesFB", + (PFN_xrVoidFunction*)(&pfnxrEnumerateDisplayRefreshRatesFB))); + + OXR(pfnxrEnumerateDisplayRefreshRatesFB( + gAppState.Session, 0, &gAppState.NumSupportedDisplayRefreshRates, NULL)); + + gAppState.SupportedDisplayRefreshRates = + (float*)malloc(gAppState.NumSupportedDisplayRefreshRates * sizeof(float)); + OXR(pfnxrEnumerateDisplayRefreshRatesFB( + gAppState.Session, + gAppState.NumSupportedDisplayRefreshRates, + &gAppState.NumSupportedDisplayRefreshRates, + gAppState.SupportedDisplayRefreshRates)); + ALOGV("Supported Refresh Rates:"); + for (uint32_t i = 0; i < gAppState.NumSupportedDisplayRefreshRates; i++) { + ALOGV("%d:%f", i, gAppState.SupportedDisplayRefreshRates[i]); + } + + OXR(xrGetInstanceProcAddr( + gAppState.Instance, + "xrGetDisplayRefreshRateFB", + (PFN_xrVoidFunction*)(&gAppState.pfnGetDisplayRefreshRate))); + + OXR(gAppState.pfnGetDisplayRefreshRate(gAppState.Session, &gAppState.currentDisplayRefreshRate)); + ALOGV("Current System Display Refresh Rate: %f", gAppState.currentDisplayRefreshRate); + + OXR(xrGetInstanceProcAddr( + gAppState.Instance, + "xrRequestDisplayRefreshRateFB", + (PFN_xrVoidFunction*)(&gAppState.pfnRequestDisplayRefreshRate))); + + // Test requesting the system default. + OXR(gAppState.pfnRequestDisplayRefreshRate(gAppState.Session, 0.0f)); + ALOGV("Requesting system default display refresh rate"); + } +#endif + + uint32_t numOutputSpaces = 0; + OXR(xrEnumerateReferenceSpaces(gAppState.Session, 0, &numOutputSpaces, NULL)); + + XrReferenceSpaceType* referenceSpaces = + (XrReferenceSpaceType*)malloc(numOutputSpaces * sizeof(XrReferenceSpaceType)); + + OXR(xrEnumerateReferenceSpaces( + gAppState.Session, numOutputSpaces, &numOutputSpaces, referenceSpaces)); + + for (uint32_t i = 0; i < numOutputSpaces; i++) { + if (referenceSpaces[i] == XR_REFERENCE_SPACE_TYPE_STAGE) { + stageSupported = GL_TRUE; + break; + } + } + + free(referenceSpaces); + + if (gAppState.CurrentSpace == XR_NULL_HANDLE) { + TBXR_Recenter(); + } + + gAppState.Projections = (XrView*)(malloc(ovrMaxNumEyes * sizeof(XrView))); + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + memset(&gAppState.Projections[eye], 0, sizeof(XrView)); + gAppState.Projections[eye].type = XR_TYPE_VIEW; + } + +#ifdef PICO_XR + xrGetInstanceProcAddr(gAppState.Instance,"xrSetConfigPICO", (PFN_xrVoidFunction*)(&pfnXrSetConfigPICO)); + xrGetInstanceProcAddr(gAppState.Instance,"xrGetConfigPICO", (PFN_xrVoidFunction*)(&pfnXrGetConfigPICO)); + + pfnXrSetConfigPICO(gAppState.Session,TRACKING_ORIGIN,"0"); + pfnXrSetConfigPICO(gAppState.Session,TRACKING_ORIGIN,"1"); + + pfnXrGetConfigPICO(gAppState.Session, GET_DISPLAY_RATE, &gAppState.currentDisplayRefreshRate); +#endif + + ovrRenderer_Create( + gAppState.Session, + &gAppState.Renderer, + gAppState.Width, + gAppState.Height); +} + +void VR_DestroyRenderer( ) +{ + ovrRenderer_Destroy(&gAppState.Renderer); + free(gAppState.Projections); +} + +void TBXR_InitialiseOpenXR() +{ + ovrApp_Clear(&gAppState); + gAppState.Java = java; + + ovrEgl_CreateContext(&gAppState.Egl, NULL); + EglInitExtensions(); + + PFN_xrInitializeLoaderKHR xrInitializeLoaderKHR; + xrGetInstanceProcAddr( + XR_NULL_HANDLE, "xrInitializeLoaderKHR", (PFN_xrVoidFunction*)&xrInitializeLoaderKHR); + if (xrInitializeLoaderKHR != NULL) { + XrLoaderInitInfoAndroidKHR loaderInitializeInfoAndroid; + memset(&loaderInitializeInfoAndroid, 0, sizeof(loaderInitializeInfoAndroid)); + loaderInitializeInfoAndroid.type = XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR; + loaderInitializeInfoAndroid.next = NULL; + loaderInitializeInfoAndroid.applicationVM = java.Vm; + loaderInitializeInfoAndroid.applicationContext = java.ActivityObject; + xrInitializeLoaderKHR((XrLoaderInitInfoBaseHeaderKHR*)&loaderInitializeInfoAndroid); + } + + // Create the OpenXR instance. + XrApplicationInfo appInfo; + memset(&appInfo, 0, sizeof(appInfo)); + strcpy(appInfo.applicationName, "QuestZDoom"); + appInfo.applicationVersion = 0; + strcpy(appInfo.engineName, "QuestZDoom"); + appInfo.engineVersion = 0; + appInfo.apiVersion = XR_CURRENT_API_VERSION; + + XrInstanceCreateInfo instanceCreateInfo; + memset(&instanceCreateInfo, 0, sizeof(instanceCreateInfo)); + instanceCreateInfo.type = XR_TYPE_INSTANCE_CREATE_INFO; +#ifdef META_QUEST + instanceCreateInfo.next = NULL; +#endif +#ifdef PICO_XR + XrInstanceCreateInfoAndroidKHR instanceCreateInfoAndroid = {XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR}; + instanceCreateInfoAndroid.applicationVM = java.Vm; + instanceCreateInfoAndroid.applicationActivity = java.ActivityObject; + + instanceCreateInfo.next = (XrBaseInStructure*)&instanceCreateInfoAndroid; +#endif + instanceCreateInfo.createFlags = 0; + instanceCreateInfo.applicationInfo = appInfo; + instanceCreateInfo.enabledApiLayerCount = 0; + instanceCreateInfo.enabledApiLayerNames = NULL; + instanceCreateInfo.enabledExtensionCount = numRequiredExtensions; + instanceCreateInfo.enabledExtensionNames = requiredExtensionNames; + + XrResult initResult; + OXR(initResult = xrCreateInstance(&instanceCreateInfo, &gAppState.Instance)); + if (initResult != XR_SUCCESS) { + ALOGE("Failed to create XR instance: %d.", initResult); + exit(1); + } + + XrInstanceProperties instanceInfo; + instanceInfo.type = XR_TYPE_INSTANCE_PROPERTIES; + instanceInfo.next = NULL; + OXR(xrGetInstanceProperties(gAppState.Instance, &instanceInfo)); + ALOGV( + "Runtime %s: Version : %u.%u.%u", + instanceInfo.runtimeName, + XR_VERSION_MAJOR(instanceInfo.runtimeVersion), + XR_VERSION_MINOR(instanceInfo.runtimeVersion), + XR_VERSION_PATCH(instanceInfo.runtimeVersion)); + + XrSystemGetInfo systemGetInfo; + memset(&systemGetInfo, 0, sizeof(systemGetInfo)); + systemGetInfo.type = XR_TYPE_SYSTEM_GET_INFO; + systemGetInfo.next = NULL; + systemGetInfo.formFactor = XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY; + + OXR(initResult = xrGetSystem(gAppState.Instance, &systemGetInfo, &gAppState.SystemId)); + if (initResult != XR_SUCCESS) { + ALOGE("Failed to get system."); + exit(1); + } + + // Get the graphics requirements. + PFN_xrGetOpenGLESGraphicsRequirementsKHR pfnGetOpenGLESGraphicsRequirementsKHR = NULL; + OXR(xrGetInstanceProcAddr( + gAppState.Instance, + "xrGetOpenGLESGraphicsRequirementsKHR", + (PFN_xrVoidFunction * )(&pfnGetOpenGLESGraphicsRequirementsKHR))); + + XrGraphicsRequirementsOpenGLESKHR graphicsRequirements = {}; + graphicsRequirements.type = XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR; + OXR(pfnGetOpenGLESGraphicsRequirementsKHR(gAppState.Instance, gAppState.SystemId, + &graphicsRequirements)); + +#ifdef META_QUEST + XrSystemColorSpacePropertiesFB colorSpacePropertiesFB = {}; +colorSpacePropertiesFB.type = XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB; + +XrSystemProperties systemProperties = {}; +systemProperties.type = XR_TYPE_SYSTEM_PROPERTIES; +systemProperties.next = &colorSpacePropertiesFB; +OXR(xrGetSystemProperties(gAppState.Instance, gAppState.SystemId, &systemProperties)); + +ALOGV("System Color Space Properties: colorspace=%d", colorSpacePropertiesFB.colorSpace); +#endif + + TBXR_InitialiseResolution(); +} + +void TBXR_Recenter() { + + // Calculate recenter reference + XrReferenceSpaceCreateInfo spaceCreateInfo = {}; + spaceCreateInfo.type = XR_TYPE_REFERENCE_SPACE_CREATE_INFO; + spaceCreateInfo.poseInReferenceSpace.orientation.w = 1.0f; + if (gAppState.CurrentSpace != XR_NULL_HANDLE) { + vec3_t rotation = {0, 0, 0}; + XrSpaceLocation loc = {}; + loc.type = XR_TYPE_SPACE_LOCATION; + OXR(xrLocateSpace(gAppState.HeadSpace, gAppState.CurrentSpace, gAppState.PredictedDisplayTime, &loc)); + QuatToYawPitchRoll(loc.pose.orientation, rotation, hmdorientation); + + spaceCreateInfo.poseInReferenceSpace.orientation.x = 0; + spaceCreateInfo.poseInReferenceSpace.orientation.y = 0; + spaceCreateInfo.poseInReferenceSpace.orientation.z = 0; + spaceCreateInfo.poseInReferenceSpace.orientation.w = 1; + } + + // Delete previous space instances + if (gAppState.StageSpace != XR_NULL_HANDLE) { + OXR(xrDestroySpace(gAppState.StageSpace)); + } + if (gAppState.FakeStageSpace != XR_NULL_HANDLE) { + OXR(xrDestroySpace(gAppState.FakeStageSpace)); + } + + // Create a default stage space to use if SPACE_TYPE_STAGE is not + // supported, or calls to xrGetReferenceSpaceBoundsRect fail. + spaceCreateInfo.referenceSpaceType = XR_REFERENCE_SPACE_TYPE_LOCAL; + spaceCreateInfo.poseInReferenceSpace.position.y = -1.6750f; + OXR(xrCreateReferenceSpace(gAppState.Session, &spaceCreateInfo, &gAppState.FakeStageSpace)); + ALOGV("Created fake stage space from local space with offset"); + gAppState.CurrentSpace = gAppState.FakeStageSpace; + + if (stageSupported) { + spaceCreateInfo.referenceSpaceType = XR_REFERENCE_SPACE_TYPE_STAGE; + spaceCreateInfo.poseInReferenceSpace.position.y = 0.0f; + OXR(xrCreateReferenceSpace(gAppState.Session, &spaceCreateInfo, &gAppState.StageSpace)); + ALOGV("Created stage space"); + gAppState.CurrentSpace = gAppState.StageSpace; + } +} + +void TBXR_UpdateStageBounds() { + XrExtent2Df stageBounds = {}; + + XrResult result; + OXR(result = xrGetReferenceSpaceBoundsRect( + gAppState.Session, XR_REFERENCE_SPACE_TYPE_STAGE, &stageBounds)); + if (result != XR_SUCCESS) { + ALOGE("Stage bounds query failed: using small defaults"); + stageBounds.width = 1.0f; + stageBounds.height = 1.0f; + + gAppState.CurrentSpace = gAppState.FakeStageSpace; + } +} + +void TBXR_WaitForSessionActive() +{//Now wait for the session to be ready + while (!gAppState.SessionActive) { + TBXR_ProcessMessageQueue(); + if (ovrApp_HandleXrEvents(&gAppState)) { + TBXR_Recenter(); + } + } +} + +static void TBXR_GetHMDOrientation() { + + if (gAppState.PredictedDisplayTime == 0) + { + return; + } + + // Get the HMD pose, predicted for the middle of the time period during which + // the new eye images will be displayed. The number of frames predicted ahead + // depends on the pipeline depth of the engine and the synthesis rate. + // The better the prediction, the less black will be pulled in at the edges. + XrSpaceLocation loc = {}; + loc.type = XR_TYPE_SPACE_LOCATION; + OXR(xrLocateSpace(gAppState.HeadSpace, gAppState.CurrentSpace, gAppState.PredictedDisplayTime, &loc)); + gAppState.xfStageFromHead = loc.pose; + + const XrQuaternionf quatHmd = gAppState.xfStageFromHead.orientation; + const XrVector3f positionHmd = gAppState.xfStageFromHead.position; + + vec3_t rotation = {0, 0, 0}; + vec3_t hmdorientation = {0, 0, 0}; + QuatToYawPitchRoll(quatHmd, rotation, hmdorientation); + VR_SetHMDPosition(positionHmd.x, positionHmd.y, positionHmd.z); + VR_SetHMDOrientation(hmdorientation[0], hmdorientation[1], hmdorientation[2]); +} + + +//All the stuff we want to do each frame +void TBXR_FrameSetup() +{ + if (gAppState.FrameSetup) + { + return; + } + + while (!destroyed) + { + TBXR_ProcessMessageQueue(); + + GLboolean stageBoundsDirty = GL_TRUE; + if (ovrApp_HandleXrEvents(&gAppState)) + { + TBXR_Recenter(); + } + + if (gAppState.SessionActive == GL_FALSE) + { + continue; + } + + if (stageBoundsDirty) + { + TBXR_UpdateStageBounds(); + stageBoundsDirty = GL_FALSE; + } + + break; + } + + if (destroyed) + { + TBXR_LeaveVR(); + //Ask Java to shut down + VR_Shutdown(); + + exit(0); // in case Java doesn't do the job + } + + + // NOTE: OpenXR does not use the concept of frame indices. Instead, + // XrWaitFrame returns the predicted display time. + XrFrameWaitInfo waitFrameInfo = {}; + waitFrameInfo.type = XR_TYPE_FRAME_WAIT_INFO; + waitFrameInfo.next = NULL; + + XrFrameState frameState = {}; + frameState.type = XR_TYPE_FRAME_STATE; + frameState.next = NULL; + + OXR(xrWaitFrame(gAppState.Session, &waitFrameInfo, &frameState)); + gAppState.PredictedDisplayTime = frameState.predictedDisplayTime; + if (!frameState.shouldRender) { + return; + } + + // Get the HMD pose, predicted for the middle of the time period during which + // the new eye images will be displayed. The number of frames predicted ahead + // depends on the pipeline depth of the engine and the synthesis rate. + // The better the prediction, the less black will be pulled in at the edges. + XrFrameBeginInfo beginFrameDesc = {}; + beginFrameDesc.type = XR_TYPE_FRAME_BEGIN_INFO; + beginFrameDesc.next = NULL; + OXR(xrBeginFrame(gAppState.Session, &beginFrameDesc)); + + //Game specific frame setup stuff called here + VR_FrameSetup(); + + //Get controller state here + TBXR_GetHMDOrientation(); + VR_HandleControllerInput(); + + TBXR_ProcessHaptics(); + + gAppState.FrameSetup = true; +} + +int TBXR_GetRefresh() +{ + return gAppState.currentDisplayRefreshRate; +} + +#define GL_FRAMEBUFFER_SRGB 0x8DB9 + +void TBXR_ClearFrameBuffer(int width, int height) +{ + glEnable( GL_SCISSOR_TEST ); + glViewport( 0, 0, width, height ); + + //Black + glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ); + + glScissor( 0, 0, width, height ); + glClear( GL_COLOR_BUFFER_BIT ); + + glScissor( 0, 0, 0, 0 ); + glDisable( GL_SCISSOR_TEST ); + + //This is a bit of a hack, but we need to do this to correct for the fact that the engine uses linear RGB colorspace + //but openxr uses SRGB (or something, must admit I don't really understand, but adding this works to make it look good again) + glDisable( GL_FRAMEBUFFER_SRGB ); +} + +void TBXR_prepareEyeBuffer(int eye ) +{ + ovrFramebuffer* frameBuffer = &(gAppState.Renderer.FrameBuffer[eye]); + ovrFramebuffer_Acquire(frameBuffer); + ovrFramebuffer_SetCurrent(frameBuffer); + TBXR_ClearFrameBuffer(frameBuffer->ColorSwapChain.Width, frameBuffer->ColorSwapChain.Height); +} + +void TBXR_finishEyeBuffer(int eye ) +{ + ovrRenderer *renderer = &gAppState.Renderer; + + ovrFramebuffer *frameBuffer = &(renderer->FrameBuffer[eye]); + + // Clear the alpha channel, other way OpenXR would not transfer the framebuffer fully + glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + + //Clear edge to prevent smearing + ovrFramebuffer_Resolve(frameBuffer); + ovrFramebuffer_Release(frameBuffer); + ovrFramebuffer_SetNone(); +} + +void TBXR_updateProjections() +{ + XrViewLocateInfo projectionInfo = {}; + projectionInfo.type = XR_TYPE_VIEW_LOCATE_INFO; + projectionInfo.viewConfigurationType = gAppState.ViewportConfig.viewConfigurationType; + projectionInfo.displayTime = gAppState.PredictedDisplayTime; + projectionInfo.space = gAppState.HeadSpace; + + XrViewState viewState = {XR_TYPE_VIEW_STATE, NULL}; + + uint32_t projectionCapacityInput = ovrMaxNumEyes; + uint32_t projectionCountOutput = projectionCapacityInput; + + OXR(xrLocateViews( + gAppState.Session, + &projectionInfo, + &viewState, + projectionCapacityInput, + &projectionCountOutput, + gAppState.Projections)); +} + +float fov_y = 0; +float QzDoom_GetFOV() +{ + return fov_y; +} + +void TBXR_submitFrame() +{ + if (gAppState.SessionActive == GL_FALSE) { + return; + } + + TBXR_updateProjections(); + + XrFovf fov = {}; + XrPosef viewTransform[2]; + + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + XrPosef xfHeadFromEye = gAppState.Projections[eye].pose; + XrPosef xfStageFromEye = XrPosef_Multiply(gAppState.xfStageFromHead, xfHeadFromEye); + viewTransform[eye] = XrPosef_Inverse(xfStageFromEye); + fov.angleLeft += gAppState.Projections[eye].fov.angleLeft / 2.0f; + fov.angleRight += gAppState.Projections[eye].fov.angleRight / 2.0f; + fov.angleUp += gAppState.Projections[eye].fov.angleUp / 2.0f; + fov.angleDown += gAppState.Projections[eye].fov.angleDown / 2.0f; + } + + fov_y = (fabs(fov.angleUp) + fabs(fov.angleDown)) * 180.0f / M_PI; + + + gAppState.LayerCount = 0; + memset(gAppState.Layers, 0, sizeof(xrCompositorLayer_Union) * ovrMaxLayerCount); + + XrCompositionLayerProjectionView projection_layer_elements[2] = {}; + if (!VR_UseScreenLayer()) { + XrCompositionLayerProjection projection_layer = {}; + projection_layer.type = XR_TYPE_COMPOSITION_LAYER_PROJECTION; + projection_layer.layerFlags = XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT; + projection_layer.layerFlags |= XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT; + projection_layer.space = gAppState.CurrentSpace; + projection_layer.viewCount = ovrMaxNumEyes; + projection_layer.views = projection_layer_elements; + + for (int eye = 0; eye < ovrMaxNumEyes; eye++) { + ovrFramebuffer* frameBuffer = &gAppState.Renderer.FrameBuffer[eye]; + + memset(&projection_layer_elements[eye], 0, sizeof(XrCompositionLayerProjectionView)); + projection_layer_elements[eye].type = XR_TYPE_COMPOSITION_LAYER_PROJECTION_VIEW; + projection_layer_elements[eye].pose = gAppState.xfStageFromHead; + projection_layer_elements[eye].fov = fov; + memset(&projection_layer_elements[eye].subImage, 0, sizeof(XrSwapchainSubImage)); + projection_layer_elements[eye].subImage.swapchain = + frameBuffer->ColorSwapChain.Handle; + projection_layer_elements[eye].subImage.imageRect.offset.x = 0; + projection_layer_elements[eye].subImage.imageRect.offset.y = 0; + projection_layer_elements[eye].subImage.imageRect.extent.width = + frameBuffer->ColorSwapChain.Width; + projection_layer_elements[eye].subImage.imageRect.extent.height = + frameBuffer->ColorSwapChain.Height; + projection_layer_elements[eye].subImage.imageArrayIndex = 0; + } + + gAppState.Layers[gAppState.LayerCount++].Projection = projection_layer; + } else { + + // Build the quad layer + XrCompositionLayerQuad quad_layer = {}; + int width = gAppState.Renderer.FrameBuffer[0].ColorSwapChain.Width; + int height = gAppState.Renderer.FrameBuffer[0].ColorSwapChain.Height; + quad_layer.type = XR_TYPE_COMPOSITION_LAYER_QUAD; + quad_layer.next = NULL; + quad_layer.layerFlags = XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT; + quad_layer.space = gAppState.CurrentSpace; + quad_layer.eyeVisibility = XR_EYE_VISIBILITY_BOTH; + memset(&quad_layer.subImage, 0, sizeof(XrSwapchainSubImage)); + quad_layer.subImage.swapchain = gAppState.Renderer.FrameBuffer[0].ColorSwapChain.Handle; + quad_layer.subImage.imageRect.offset.x = 0; + quad_layer.subImage.imageRect.offset.y = 0; + quad_layer.subImage.imageRect.extent.width = width; + quad_layer.subImage.imageRect.extent.height = height; + quad_layer.subImage.imageArrayIndex = 0; + const XrVector3f axis = {0.0f, 1.0f, 0.0f}; + XrVector3f pos = { + gAppState.xfStageFromHead.position.x - sin(DEG2RAD(playerYaw)) * VR_GetScreenLayerDistance(), + 1.0f, + gAppState.xfStageFromHead.position.z - cos(DEG2RAD(playerYaw)) * VR_GetScreenLayerDistance() + }; + quad_layer.pose.orientation = XrQuaternionf_CreateFromVectorAngle(axis, DEG2RAD(playerYaw)); + quad_layer.pose.position = pos; + XrExtent2Df size = {5.0f, 4.5f}; + quad_layer.size = size; + + gAppState.Layers[gAppState.LayerCount++].Quad = quad_layer; + } + + // Compose the layers for this frame. + const XrCompositionLayerBaseHeader* layers[ovrMaxLayerCount] = {}; + for (int i = 0; i < gAppState.LayerCount; i++) { + layers[i] = (const XrCompositionLayerBaseHeader*)&gAppState.Layers[i]; + } + + XrFrameEndInfo endFrameInfo = {}; + endFrameInfo.type = XR_TYPE_FRAME_END_INFO; + endFrameInfo.displayTime = gAppState.PredictedDisplayTime; + endFrameInfo.environmentBlendMode = XR_ENVIRONMENT_BLEND_MODE_OPAQUE; + endFrameInfo.layerCount = gAppState.LayerCount; + endFrameInfo.layers = layers; + + OXR(xrEndFrame(gAppState.Session, &endFrameInfo)); + + gAppState.FrameSetup = false; +} diff --git a/Projects/Android/jni/QzDoom/TBXR_Common.h b/Projects/Android/jni/QzDoom/TBXR_Common.h new file mode 100644 index 0000000..4764ed3 --- /dev/null +++ b/Projects/Android/jni/QzDoom/TBXR_Common.h @@ -0,0 +1,332 @@ +#if !defined(tbxr_common_h) +#define tbxr_common_h + +//OpenXR +#define XR_USE_GRAPHICS_API_OPENGL_ES 1 +#define XR_USE_PLATFORM_ANDROID 1 +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#ifndef NDEBUG +#define DEBUG 1 +#endif + +#define LOG_TAG "TBXR" + + +#define ALOGE(...) __android_log_print( ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__ ) + +#if DEBUG +#define ALOGV(...) __android_log_print( ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__ ) +#else +#define ALOGV(...) +#endif + +enum { ovrMaxLayerCount = 1 }; +enum { ovrMaxNumEyes = 2 }; + +typedef enum xrButton_ { + xrButton_A = 0x00000001, // Set for trigger pulled on the Gear VR and Go Controllers + xrButton_B = 0x00000002, + xrButton_RThumb = 0x00000004, + xrButton_RShoulder = 0x00000008, + xrButton_X = 0x00000100, + xrButton_Y = 0x00000200, + xrButton_LThumb = 0x00000400, + xrButton_LShoulder = 0x00000800, + xrButton_Up = 0x00010000, + xrButton_Down = 0x00020000, + xrButton_Left = 0x00040000, + xrButton_Right = 0x00080000, + xrButton_Enter = 0x00100000, + xrButton_Back = 0x00200000, + xrButton_GripTrigger = 0x04000000, + xrButton_Trigger = 0x20000000, + xrButton_Joystick = 0x80000000, + xrButton_EnumSize = 0x7fffffff +} xrButton; + +typedef struct { + uint32_t Buttons; + float IndexTrigger; + float GripTrigger; + XrVector2f Joystick; +} ovrInputStateTrackedRemote; + +typedef struct { + GLboolean Active; + XrPosef Pose; + XrSpaceVelocity Velocity; +} ovrTrackedController; + +typedef enum control_scheme { + RIGHT_HANDED_DEFAULT = 0, + LEFT_HANDED_DEFAULT = 10, + LEFT_HANDED_ALT = 11 +} control_scheme_t; + +typedef struct { + float M[4][4]; +} ovrMatrix4f; + + +typedef struct { + XrSwapchain Handle; + uint32_t Width; + uint32_t Height; +} ovrSwapChain; + +typedef struct { + int Width; + int Height; + int Multisamples; + uint32_t TextureSwapChainLength; + uint32_t TextureSwapChainIndex; + ovrSwapChain ColorSwapChain; + XrSwapchainImageOpenGLESKHR* ColorSwapChainImage; + GLuint* DepthBuffers; + GLuint* FrameBuffers; +} ovrFramebuffer; + +/* +================================================================================ + +ovrRenderer + +================================================================================ +*/ + +typedef struct +{ + ovrFramebuffer FrameBuffer[ovrMaxNumEyes]; +} ovrRenderer; + +/* +================================================================================ + +ovrApp + +================================================================================ +*/ + + +typedef enum +{ + MQ_WAIT_NONE, // don't wait + MQ_WAIT_RECEIVED, // wait until the consumer thread has received the message + MQ_WAIT_PROCESSED // wait until the consumer thread has processed the message +} ovrMQWait; + +#define MAX_MESSAGE_PARMS 8 +#define MAX_MESSAGES 1024 + +typedef struct +{ + int Id; + ovrMQWait Wait; + long long Parms[MAX_MESSAGE_PARMS]; +} srufaceMessage; + +typedef struct +{ + srufaceMessage Messages[MAX_MESSAGES]; + volatile int Head; // dequeue at the head + volatile int Tail; // enqueue at the tail + ovrMQWait Wait; + volatile bool EnabledFlag; + volatile bool PostedFlag; + volatile bool ReceivedFlag; + volatile bool ProcessedFlag; + pthread_mutex_t Mutex; + pthread_cond_t PostedCondition; + pthread_cond_t ReceivedCondition; + pthread_cond_t ProcessedCondition; +} surfaceMessageQueue; + +typedef struct +{ + JavaVM * JavaVm; + jobject ActivityObject; + jclass ActivityClass; + pthread_t Thread; + surfaceMessageQueue MessageQueue; + ANativeWindow * NativeWindow; +} ovrAppThread; + + +typedef union { + XrCompositionLayerProjection Projection; + XrCompositionLayerQuad Quad; +} xrCompositorLayer_Union; + +#define GL(func) func; + +// Forward declarations +XrInstance TBXR_GetXrInstance(); + +#if defined(DEBUG) +static void +OXR_CheckErrors(XrInstance instance, XrResult result, const char* function, bool failOnError) { + if (XR_FAILED(result)) { + char errorBuffer[XR_MAX_RESULT_STRING_SIZE]; + xrResultToString(instance, result, errorBuffer); + if (failOnError) { + ALOGE("OpenXR error: %s: %s\n", function, errorBuffer); + } else { + ALOGV("OpenXR error: %s: %s\n", function, errorBuffer); + } + } +} +#endif + +#if defined(DEBUG) +#define OXR(func) OXR_CheckErrors(TBXR_GetXrInstance(), func, #func, true); +#else +#define OXR(func) func; +#endif + +typedef struct { + EGLint MajorVersion; + EGLint MinorVersion; + EGLDisplay Display; + EGLConfig Config; + EGLSurface TinySurface; + EGLSurface MainSurface; + EGLContext Context; +} ovrEgl; + +/// Java details about an activity +typedef struct ovrJava_ { + JavaVM* Vm; //< Java Virtual Machine + JNIEnv* Env; //< Thread specific environment + jobject ActivityObject; //< Java activity object +} ovrJava; + +typedef struct +{ + ovrJava Java; + ovrEgl Egl; + ANativeWindow* NativeWindow; + bool Resumed; + bool Focused; + bool FrameSetup; + + float Width; + float Height; + + XrInstance Instance; + XrSession Session; + XrViewConfigurationProperties ViewportConfig; + XrViewConfigurationView ViewConfigurationView[ovrMaxNumEyes]; + XrSystemId SystemId; + XrSpace HeadSpace; + XrSpace StageSpace; + XrSpace FakeStageSpace; + XrSpace CurrentSpace; + GLboolean SessionActive; + XrPosef xfStageFromHead; + XrView* Projections; + XrMatrix4x4f ProjectionMatrices[2]; + + + float currentDisplayRefreshRate; + float* SupportedDisplayRefreshRates; + uint32_t RequestedDisplayRefreshRateIndex; + uint32_t NumSupportedDisplayRefreshRates; + PFN_xrGetDisplayRefreshRateFB pfnGetDisplayRefreshRate; + PFN_xrRequestDisplayRefreshRateFB pfnRequestDisplayRefreshRate; + + XrTime PredictedDisplayTime; + int SwapInterval; + int MainThreadTid; + int RenderThreadTid; + xrCompositorLayer_Union Layers[ovrMaxLayerCount]; + int LayerCount; + ovrRenderer Renderer; + ovrTrackedController TrackedController[2]; +} ovrApp; + + +enum +{ + MESSAGE_ON_CREATE, + MESSAGE_ON_START, + MESSAGE_ON_RESUME, + MESSAGE_ON_PAUSE, + MESSAGE_ON_STOP, + MESSAGE_ON_DESTROY, + MESSAGE_ON_SURFACE_CREATED, + MESSAGE_ON_SURFACE_DESTROYED +}; + +extern ovrAppThread * gAppThread; +extern ovrApp gAppState; +extern ovrJava java; + + +void ovrTrackedController_Clear(ovrTrackedController* controller); + +void * AppThreadFunction(void * parm ); + +void ovrAppThread_Create( ovrAppThread * appThread, JNIEnv * env, jobject activityObject, jclass activityClass ); +void ovrAppThread_Destroy( ovrAppThread * appThread, JNIEnv * env ); + +/* + * Surface Lifecycle Message Queue + */ +void surfaceMessage_Init(srufaceMessage * message, const int id, const int wait ); +void * surfaceMessage_GetPointerParm(srufaceMessage * message, int index ); +void surfaceMessage_SetPointerParm(srufaceMessage * message, int index, void * ptr ); + +void surfaceMessageQueue_Create(surfaceMessageQueue * messageQueue ); +void surfaceMessageQueue_Destroy(surfaceMessageQueue * messageQueue ); +void surfaceMessageQueue_Enable(surfaceMessageQueue * messageQueue, const bool set ); +void surfaceMessageQueue_PostMessage(surfaceMessageQueue * messageQueue, const srufaceMessage * message ); + +//Functions that need to be implemented by the game specific code +void VR_FrameSetup(); +bool VR_UseScreenLayer(); +float VR_GetScreenLayerDistance(); +bool VR_GetVRProjection(int eye, float zNear, float zFar, float* projection); +void VR_HandleControllerInput(); +void VR_SetHMDOrientation(float pitch, float yaw, float roll ); +void VR_SetHMDPosition(float x, float y, float z ); +void VR_HapticEvent(const char* event, int position, int intensity, float angle, float yHeight ); +void VR_HapticUpdateEvent(const char* event, int intensity, float angle ); +void VR_HapticEndFrame(); +void VR_HapticStopEvent(const char* event); +void VR_HapticEnable(); +void VR_HapticDisable(); +extern "C" void VR_Shutdown(); + + +//Reusable Team Beef OpenXR stuff (in TBXR_Common.cpp) +double TBXR_GetTimeInMilliSeconds(); +int TBXR_GetRefresh(); +void TBXR_Recenter(); +void TBXR_InitialiseOpenXR(); +void TBXR_WaitForSessionActive(); +void TBXR_InitRenderer(); +void TBXR_EnterVR(); +void TBXR_LeaveVR( ); +void TBXR_GetScreenRes(int *width, int *height); +void TBXR_InitActions( void ); +void TBXR_Vibrate(int duration, int channel, float intensity ); +void TBXR_ProcessHaptics(); +void TBXR_FrameSetup(); +void TBXR_updateProjections(); +void TBXR_UpdateControllers( ); +void TBXR_prepareEyeBuffer(int eye ); +void TBXR_finishEyeBuffer(int eye ); +void TBXR_submitFrame(); + +#endif //vrcommon_h \ No newline at end of file diff --git a/Projects/Android/jni/QzDoom/VrCommon.h b/Projects/Android/jni/QzDoom/VrCommon.h index b4eae6e..cf746e5 100644 --- a/Projects/Android/jni/QzDoom/VrCommon.h +++ b/Projects/Android/jni/QzDoom/VrCommon.h @@ -1,13 +1,22 @@ #if !defined(vrcommon_h) #define vrcommon_h -#ifdef __cplusplus -extern "C" -{ -#endif +#include "TBXR_Common.h" + +#include "c_cvars.h" + +EXTERN_CVAR(Int, vr_control_scheme) +EXTERN_CVAR(Bool, vr_move_use_offhand) +EXTERN_CVAR(Float, vr_weaponRotate); +EXTERN_CVAR(Float, vr_snapTurn); +EXTERN_CVAR(Float, vr_ipd); +EXTERN_CVAR(Float, vr_weaponScale); +EXTERN_CVAR(Bool, vr_teleport); +EXTERN_CVAR(Bool, vr_switch_sticks); +EXTERN_CVAR(Bool, vr_secondary_button_mappings); +EXTERN_CVAR(Bool, vr_two_handed_weapons); +EXTERN_CVAR(Bool, vr_crouch_use_button); -//#include -#include #include @@ -50,16 +59,6 @@ extern vec3_t positionDeltaThisFrame; extern vec3_t weaponangles; extern vec3_t weaponoffset; -extern bool weaponStabilised; -extern float vr_weapon_pitchadjust; -extern bool vr_moveuseoffhand; -extern bool vr_switchsticks; -extern bool vr_secondarybuttonmappings; -extern bool vr_twohandedweapons; -extern float vr_snapturn_angle; -extern float vr_use_teleport; - - extern vec3_t offhandangles; extern vec3_t offhandoffset; @@ -71,41 +70,17 @@ extern bool trigger_teleport; extern bool shutdown; void shutdownVR(); -float radians(float deg); -float degrees(float rad); bool isMultiplayer(); -double GetTimeInMilliSeconds(); float length(float x, float y); float nonLinearFilter(float in); bool between(float min, float val, float max); void rotateAboutOrigin(float v1, float v2, float rotation, vec2_t out); -void QuatToYawPitchRoll(ovrQuatf q, vec3_t rotation, vec3_t out); void handleTrackedControllerButton(ovrInputStateTrackedRemote * trackedRemoteState, ovrInputStateTrackedRemote * prevTrackedRemoteState, uint32_t button, int key); +void QuatToYawPitchRoll(XrQuaternionf q, vec3_t rotation, vec3_t out); //Called from engine code -bool QzDoom_useScreenLayer(); -void QzDoom_GetScreenRes(uint32_t *width, uint32_t *height); -void QzDoom_Vibrate(float duration, int channel, float intensity ); -bool QzDoom_processMessageQueue(); -void QzDoom_FrameSetup(); void QzDoom_setUseScreenLayer(bool use); -void QzDoom_processHaptics(); -void QzDoom_getHMDOrientation(ovrTracking2 *tracking); -void QzDoom_getTrackedRemotesOrientation(int vr_control_scheme); -int QzDoom_SetRefreshRate(int refreshRate); +void jni_shutdown(); -void QzDoom_HapticEvent(const char* event, int position, int intensity, float angle, float yHeight ); -void QzDoom_HapticEnable(); -void QzDoom_HapticDisable(); - -void incrementFrameIndex(); - -void QzDoom_prepareEyeBuffer(int eye ); -void QzDoom_finishEyeBuffer(int eye ); -void QzDoom_submitFrame(ovrTracking2 *tracking); - -#ifdef __cplusplus -} // extern "C" -#endif #endif //vrcommon_h \ No newline at end of file diff --git a/Projects/Android/jni/QzDoom/VrCompositor.c b/Projects/Android/jni/QzDoom/VrCompositor.c deleted file mode 100644 index 382eaa5..0000000 --- a/Projects/Android/jni/QzDoom/VrCompositor.c +++ /dev/null @@ -1,595 +0,0 @@ -/************************************************************************************ - -Filename : VrCompositor.c - -*************************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include // for prctl( PR_SET_NAME ) -#include -#include // for AWINDOW_FLAG_KEEP_SCREEN_ON - -#include -#include -#include -#include - - - -#include -#include - -#include "VrCompositor.h" - - - -/* -================================================================================ - -renderState - -================================================================================ -*/ - - -void getCurrentRenderState( renderState * state) -{ - state->VertexBuffer = 0; - state->IndexBuffer = 0; - state->VertexArrayObject = 0; - state->Program = 0; - - glGetIntegerv(GL_ARRAY_BUFFER, &state->VertexBuffer ); - glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER, &state->IndexBuffer ); - glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &state->VertexArrayObject ); - glGetIntegerv(GL_CURRENT_PROGRAM, &state->Program ); -} - -void restoreRenderState( renderState * state ) -{ - GL( glUseProgram( state->Program ) ); - GL( glBindVertexArray( state->VertexArrayObject ) ); - GL( glBindBuffer( GL_ARRAY_BUFFER, state->VertexBuffer ) ); - GL( glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, state->IndexBuffer ) ); -} - - -/* -================================================================================ - -ovrGeometry - -================================================================================ -*/ - -enum VertexAttributeLocation -{ - VERTEX_ATTRIBUTE_LOCATION_POSITION, - VERTEX_ATTRIBUTE_LOCATION_COLOR, - VERTEX_ATTRIBUTE_LOCATION_UV, -}; - -typedef struct -{ - enum VertexAttributeLocation location; - const char * name; -} ovrVertexAttribute; - -static ovrVertexAttribute ProgramVertexAttributes[] = -{ - { VERTEX_ATTRIBUTE_LOCATION_POSITION, "vertexPosition" }, - { VERTEX_ATTRIBUTE_LOCATION_COLOR, "vertexColor" }, - { VERTEX_ATTRIBUTE_LOCATION_UV, "vertexUv" }, -}; - -static void ovrGeometry_Clear( ovrGeometry * geometry ) -{ - geometry->VertexBuffer = 0; - geometry->IndexBuffer = 0; - geometry->VertexArrayObject = 0; - geometry->VertexCount = 0; - geometry->IndexCount = 0; - for ( int i = 0; i < MAX_VERTEX_ATTRIB_POINTERS; i++ ) - { - memset( &geometry->VertexAttribs[i], 0, sizeof( geometry->VertexAttribs[i] ) ); - geometry->VertexAttribs[i].Index = -1; - } -} - -static void ovrGeometry_CreateGroundPlane( ovrGeometry * geometry ) -{ - typedef struct - { - float positions[4][4]; - unsigned char colors[4][4]; - } ovrCubeVertices; - - static const ovrCubeVertices cubeVertices = - { - // positions - { - { 4.5f, -1.2f, 4.5f, 1.0f }, - { 4.5f, -1.2f, -4.5f, 1.0f }, - { -4.5f, -1.2f, -4.5f, 1.0f }, - { -4.5f, -1.2f, 4.5f, 1.0f } - }, - // colors - { - { 255, 0, 0, 255 }, - { 0, 255, 0, 255 }, - { 0, 0, 255, 255 }, - { 255, 255, 0, 255 }, - }, - }; - - static const unsigned short cubeIndices[6] = - { - 0, 1, 2, - 0, 2, 3, - }; - - geometry->VertexCount = 4; - geometry->IndexCount = 6; - - geometry->VertexAttribs[0].Index = VERTEX_ATTRIBUTE_LOCATION_POSITION; - geometry->VertexAttribs[0].Size = 4; - geometry->VertexAttribs[0].Type = GL_FLOAT; - geometry->VertexAttribs[0].Normalized = false; - geometry->VertexAttribs[0].Stride = sizeof( cubeVertices.positions[0] ); - geometry->VertexAttribs[0].Pointer = (const GLvoid *)offsetof( ovrCubeVertices, positions ); - - geometry->VertexAttribs[1].Index = VERTEX_ATTRIBUTE_LOCATION_COLOR; - geometry->VertexAttribs[1].Size = 4; - geometry->VertexAttribs[1].Type = GL_UNSIGNED_BYTE; - geometry->VertexAttribs[1].Normalized = true; - geometry->VertexAttribs[1].Stride = sizeof( cubeVertices.colors[0] ); - geometry->VertexAttribs[1].Pointer = (const GLvoid *)offsetof( ovrCubeVertices, colors ); - - renderState state; - getCurrentRenderState(&state); - - GL( glGenBuffers( 1, &geometry->VertexBuffer ) ); - GL( glBindBuffer( GL_ARRAY_BUFFER, geometry->VertexBuffer ) ); - GL( glBufferData( GL_ARRAY_BUFFER, sizeof( cubeVertices ), &cubeVertices, GL_STATIC_DRAW ) ); - - GL( glGenBuffers( 1, &geometry->IndexBuffer ) ); - GL( glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, geometry->IndexBuffer ) ); - GL( glBufferData( GL_ELEMENT_ARRAY_BUFFER, sizeof( cubeIndices ), cubeIndices, GL_STATIC_DRAW ) ); - - restoreRenderState(&state); -} - -static void ovrGeometry_Destroy( ovrGeometry * geometry ) -{ - GL( glDeleteBuffers( 1, &geometry->IndexBuffer ) ); - GL( glDeleteBuffers( 1, &geometry->VertexBuffer ) ); - - ovrGeometry_Clear( geometry ); -} - -static void ovrGeometry_CreateVAO( ovrGeometry * geometry ) -{ - renderState state; - getCurrentRenderState(&state); - - GL( glGenVertexArrays( 1, &geometry->VertexArrayObject ) ); - GL( glBindVertexArray( geometry->VertexArrayObject ) ); - - GL( glBindBuffer( GL_ARRAY_BUFFER, geometry->VertexBuffer ) ); - - for ( int i = 0; i < MAX_VERTEX_ATTRIB_POINTERS; i++ ) - { - if ( geometry->VertexAttribs[i].Index != -1 ) - { - GL( glEnableVertexAttribArray( geometry->VertexAttribs[i].Index ) ); - GL( glVertexAttribPointer( geometry->VertexAttribs[i].Index, geometry->VertexAttribs[i].Size, - geometry->VertexAttribs[i].Type, geometry->VertexAttribs[i].Normalized, - geometry->VertexAttribs[i].Stride, geometry->VertexAttribs[i].Pointer ) ); - } - } - - GL( glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, geometry->IndexBuffer ) ); - - restoreRenderState(&state); -} - -static void ovrGeometry_DestroyVAO( ovrGeometry * geometry ) -{ - GL( glDeleteVertexArrays( 1, &geometry->VertexArrayObject ) ); -} - -/* -================================================================================ - -ovrProgram - -================================================================================ -*/ - - -typedef struct -{ - enum - { - UNIFORM_VIEW_PROJ_MATRIX, - } index; - enum - { - UNIFORM_TYPE_VECTOR4, - UNIFORM_TYPE_MATRIX4X4, - UNIFORM_TYPE_INT, - UNIFORM_TYPE_BUFFER, - } type; - const char * name; -} ovrUniform; - -static ovrUniform ProgramUniforms[] = -{ - { UNIFORM_VIEW_PROJ_MATRIX, UNIFORM_TYPE_MATRIX4X4, "viewProjectionMatrix" }, -}; - -static void ovrProgram_Clear( ovrProgram * program ) -{ - program->Program = 0; - program->VertexShader = 0; - program->FragmentShader = 0; - memset( program->UniformLocation, 0, sizeof( program->UniformLocation ) ); - memset( program->UniformBinding, 0, sizeof( program->UniformBinding ) ); - memset( program->Textures, 0, sizeof( program->Textures ) ); -} - -static bool ovrProgram_Create( ovrProgram * program, const char * vertexSource, const char * fragmentSource ) -{ - GLint r; - - GL( program->VertexShader = glCreateShader( GL_VERTEX_SHADER ) ); - - GL( glShaderSource( program->VertexShader, 1, &vertexSource, 0 ) ); - GL( glCompileShader( program->VertexShader ) ); - GL( glGetShaderiv( program->VertexShader, GL_COMPILE_STATUS, &r ) ); - if ( r == GL_FALSE ) - { - GLchar msg[4096]; - GL( glGetShaderInfoLog( program->VertexShader, sizeof( msg ), 0, msg ) ); - ALOGE( "%s\n%s\n", vertexSource, msg ); - return false; - } - - GL( program->FragmentShader = glCreateShader( GL_FRAGMENT_SHADER ) ); - GL( glShaderSource( program->FragmentShader, 1, &fragmentSource, 0 ) ); - GL( glCompileShader( program->FragmentShader ) ); - GL( glGetShaderiv( program->FragmentShader, GL_COMPILE_STATUS, &r ) ); - if ( r == GL_FALSE ) - { - GLchar msg[4096]; - GL( glGetShaderInfoLog( program->FragmentShader, sizeof( msg ), 0, msg ) ); - ALOGE( "%s\n%s\n", fragmentSource, msg ); - return false; - } - - GL( program->Program = glCreateProgram() ); - GL( glAttachShader( program->Program, program->VertexShader ) ); - GL( glAttachShader( program->Program, program->FragmentShader ) ); - - // Bind the vertex attribute locations. - for ( int i = 0; i < sizeof( ProgramVertexAttributes ) / sizeof( ProgramVertexAttributes[0] ); i++ ) - { - GL( glBindAttribLocation( program->Program, ProgramVertexAttributes[i].location, ProgramVertexAttributes[i].name ) ); - } - - GL( glLinkProgram( program->Program ) ); - GL( glGetProgramiv( program->Program, GL_LINK_STATUS, &r ) ); - if ( r == GL_FALSE ) - { - GLchar msg[4096]; - GL( glGetProgramInfoLog( program->Program, sizeof( msg ), 0, msg ) ); - ALOGE( "Linking program failed: %s\n", msg ); - return false; - } - - int numBufferBindings = 0; - - // Get the uniform locations. - memset( program->UniformLocation, -1, sizeof( program->UniformLocation ) ); - for ( int i = 0; i < sizeof( ProgramUniforms ) / sizeof( ProgramUniforms[0] ); i++ ) - { - const int uniformIndex = ProgramUniforms[i].index; - if ( ProgramUniforms[i].type == UNIFORM_TYPE_BUFFER ) - { - GL( program->UniformLocation[uniformIndex] = glGetUniformBlockIndex( program->Program, ProgramUniforms[i].name ) ); - program->UniformBinding[uniformIndex] = numBufferBindings++; - GL( glUniformBlockBinding( program->Program, program->UniformLocation[uniformIndex], program->UniformBinding[uniformIndex] ) ); - } - else - { - GL( program->UniformLocation[uniformIndex] = glGetUniformLocation( program->Program, ProgramUniforms[i].name ) ); - program->UniformBinding[uniformIndex] = program->UniformLocation[uniformIndex]; - } - } - - renderState state; - getCurrentRenderState(&state); - - GL( glUseProgram( program->Program ) ); - - // Get the texture locations. - for ( int i = 0; i < MAX_PROGRAM_TEXTURES; i++ ) - { - char name[32]; - sprintf( name, "Texture%i", i ); - program->Textures[i] = glGetUniformLocation( program->Program, name ); - if ( program->Textures[i] != -1 ) - { - GL( glUniform1i( program->Textures[i], i ) ); - } - } - - restoreRenderState(&state); - - return true; -} - -static void ovrProgram_Destroy( ovrProgram * program ) -{ - if ( program->Program != 0 ) - { - GL( glDeleteProgram( program->Program ) ); - program->Program = 0; - } - if ( program->VertexShader != 0 ) - { - GL( glDeleteShader( program->VertexShader ) ); - program->VertexShader = 0; - } - if ( program->FragmentShader != 0 ) - { - GL( glDeleteShader( program->FragmentShader ) ); - program->FragmentShader = 0; - } -} - -static const char VERTEX_SHADER[] = - "#version 300 es\n" - "in vec3 vertexPosition;\n" - "in vec4 vertexColor;\n" - "uniform mat4 viewProjectionMatrix;\n" - "out vec4 fragmentColor;\n" - "void main()\n" - "{\n" - " gl_Position = viewProjectionMatrix * vec4( vertexPosition, 1.0 );\n" - " fragmentColor = vertexColor;\n" - "}\n"; - -static const char FRAGMENT_SHADER[] = - "#version 300 es\n" - "in lowp vec4 fragmentColor;\n" - "out lowp vec4 outColor;\n" - "void main()\n" - "{\n" - " outColor = fragmentColor;\n" - "}\n"; - -/* -================================================================================ - -ovrScene - -================================================================================ -*/ - -void ovrScene_Clear( ovrScene * scene ) -{ - scene->CreatedScene = false; - scene->CreatedVAOs = false; - ovrProgram_Clear( &scene->Program ); - ovrGeometry_Clear( &scene->GroundPlane ); - ovrRenderer_Clear( &scene->CylinderRenderer ); - - scene->CylinderWidth = 0; - scene->CylinderHeight = 0; -} - -bool ovrScene_IsCreated( ovrScene * scene ) -{ - return scene->CreatedScene; -} - -void ovrScene_CreateVAOs( ovrScene * scene ) -{ - if ( !scene->CreatedVAOs ) - { - ovrGeometry_CreateVAO( &scene->GroundPlane ); - scene->CreatedVAOs = true; - } -} - -void ovrScene_DestroyVAOs( ovrScene * scene ) -{ - if ( scene->CreatedVAOs ) - { - ovrGeometry_DestroyVAO( &scene->GroundPlane ); - scene->CreatedVAOs = false; - } -} - -void ovrScene_Create( int width, int height, ovrScene * scene, const ovrJava * java ) -{ - // Simple ground plane geometry. - { - ovrProgram_Create( &scene->Program, VERTEX_SHADER, FRAGMENT_SHADER ); - ovrGeometry_CreateGroundPlane( &scene->GroundPlane ); - ovrScene_CreateVAOs( scene ); - } - - // Create Cylinder renderer - { - scene->CylinderWidth = width; - scene->CylinderHeight = height; - - //Create cylinder renderer - ovrRenderer_Create( width, height, &scene->CylinderRenderer, java ); - } - - scene->CreatedScene = true; -} - -void ovrScene_Destroy( ovrScene * scene ) -{ - ovrScene_DestroyVAOs( scene ); - ovrProgram_Destroy( &scene->Program ); - ovrGeometry_Destroy( &scene->GroundPlane ); - ovrRenderer_Destroy( &scene->CylinderRenderer ); - - scene->CreatedScene = false; -} - -/* -================================================================================ - -ovrRenderer - -================================================================================ -*/ - -ovrLayerProjection2 ovrRenderer_RenderGroundPlaneToEyeBuffer( ovrRenderer * renderer, const ovrJava * java, - const ovrScene * scene, const ovrTracking2 * tracking ) -{ - ovrLayerProjection2 layer = vrapi_DefaultLayerProjection2(); - layer.HeadPose = tracking->HeadPose; - for ( int eye = 0; eye < VRAPI_FRAME_LAYER_EYE_MAX; eye++ ) - { - ovrFramebuffer * frameBuffer = &renderer->FrameBuffer[eye]; - layer.Textures[eye].ColorSwapChain = frameBuffer->ColorTextureSwapChain; - layer.Textures[eye].SwapChainIndex = frameBuffer->ProcessingTextureSwapChainIndex; - layer.Textures[eye].TexCoordsFromTanAngles = ovrMatrix4f_TanAngleMatrixFromProjection( &tracking->Eye[eye].ProjectionMatrix ); - } - layer.Header.Flags |= VRAPI_FRAME_LAYER_FLAG_CHROMATIC_ABERRATION_CORRECTION; - - for ( int eye = 0; eye < VRAPI_FRAME_LAYER_EYE_MAX; eye++ ) - { - ovrFramebuffer * frameBuffer = &renderer->FrameBuffer[eye]; - ovrFramebuffer_SetCurrent( frameBuffer ); - - renderState state; - getCurrentRenderState(&state); - - GL( glUseProgram( scene->Program.Program ) ); - - ovrMatrix4f viewProjMatrix = ovrMatrix4f_Multiply( &tracking->Eye[eye].ProjectionMatrix, &tracking->Eye[eye].ViewMatrix ); - glUniformMatrix4fv( scene->Program.UniformLocation[UNIFORM_VIEW_PROJ_MATRIX], 1, GL_TRUE, &viewProjMatrix.M[0][0] ); - - GL( glEnable( GL_SCISSOR_TEST ) ); - GL( glDepthMask( GL_TRUE ) ); - GL( glEnable( GL_DEPTH_TEST ) ); - GL( glDepthFunc( GL_LEQUAL ) ); - GL( glEnable( GL_CULL_FACE ) ); - GL( glCullFace( GL_BACK ) ); - GL( glViewport( 0, 0, frameBuffer->Width, frameBuffer->Height ) ); - GL( glScissor( 0, 0, frameBuffer->Width, frameBuffer->Height ) ); - GL( glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ) ); - GL( glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ) ); - - //bind buffers - GL( glBindBuffer( GL_ARRAY_BUFFER, scene->GroundPlane.VertexBuffer ) ); - GL( glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, scene->GroundPlane.IndexBuffer ) ); - GL( glBindVertexArray( scene->GroundPlane.VertexArrayObject ) ); - - GL( glDrawElements( GL_TRIANGLES, scene->GroundPlane.IndexCount, GL_UNSIGNED_SHORT, NULL ) ); - - restoreRenderState(&state); - - // Explicitly clear the border texels to black when GL_CLAMP_TO_BORDER is not available. - ovrFramebuffer_ClearEdgeTexels( frameBuffer ); - - ovrFramebuffer_Resolve( frameBuffer ); - ovrFramebuffer_Advance( frameBuffer ); - } - - ovrFramebuffer_SetNone(); - - return layer; -} - -// Assumes landscape cylinder shape. -static ovrMatrix4f CylinderModelMatrix( const int texWidth, const int texHeight, - const ovrVector3f translation, - const float rotateYaw, - const float rotatePitch, - const float radius, - const float density ) -{ - const ovrMatrix4f scaleMatrix = ovrMatrix4f_CreateScale( radius, radius * (float)texHeight * VRAPI_PI / density, radius ); - const ovrMatrix4f transMatrix = ovrMatrix4f_CreateTranslation( translation.x, translation.y, translation.z ); - const ovrMatrix4f rotXMatrix = ovrMatrix4f_CreateRotation( rotateYaw, 0.0f, 0.0f ); - const ovrMatrix4f rotYMatrix = ovrMatrix4f_CreateRotation( 0.0f, rotatePitch, 0.0f ); - - const ovrMatrix4f m0 = ovrMatrix4f_Multiply( &transMatrix, &scaleMatrix ); - const ovrMatrix4f m1 = ovrMatrix4f_Multiply( &rotXMatrix, &m0 ); - const ovrMatrix4f m2 = ovrMatrix4f_Multiply( &rotYMatrix, &m1 ); - - return m2; -} - -ovrLayerCylinder2 BuildCylinderLayer( ovrRenderer * cylinderRenderer, - const int textureWidth, const int textureHeight, - const ovrTracking2 * tracking, float rotatePitch ) -{ - ovrLayerCylinder2 layer = vrapi_DefaultLayerCylinder2(); - - const float fadeLevel = 1.0f; - layer.Header.ColorScale.x = - layer.Header.ColorScale.y = - layer.Header.ColorScale.z = - layer.Header.ColorScale.w = fadeLevel; - layer.Header.SrcBlend = VRAPI_FRAME_LAYER_BLEND_SRC_ALPHA; - layer.Header.DstBlend = VRAPI_FRAME_LAYER_BLEND_ONE_MINUS_SRC_ALPHA; - - //layer.Header.Flags = VRAPI_FRAME_LAYER_FLAG_CLIP_TO_TEXTURE_RECT; - - layer.HeadPose = tracking->HeadPose; - - const float density = 4500.0f; - const float rotateYaw = 0.0f; - const float radius = 4.0f; - const ovrVector3f translation = { 0.0f, 0.0f, -2.5f }; - - ovrMatrix4f cylinderTransform = - CylinderModelMatrix( textureWidth, textureHeight, translation, - rotateYaw, rotatePitch, radius, density ); - - const float circScale = density * 0.5f / textureWidth; - const float circBias = -circScale * ( 0.5f * ( 1.0f - 1.0f / circScale ) ); - - for ( int eye = 0; eye < VRAPI_FRAME_LAYER_EYE_MAX; eye++ ) - { - ovrFramebuffer * cylinderFrameBuffer = &cylinderRenderer->FrameBuffer[eye]; - - ovrMatrix4f modelViewMatrix = ovrMatrix4f_Multiply( &tracking->Eye[eye].ViewMatrix, &cylinderTransform ); - layer.Textures[eye].TexCoordsFromTanAngles = ovrMatrix4f_Inverse( &modelViewMatrix ); - layer.Textures[eye].ColorSwapChain = cylinderFrameBuffer->ColorTextureSwapChain; - layer.Textures[eye].SwapChainIndex = cylinderFrameBuffer->ReadyTextureSwapChainIndex; - - // Texcoord scale and bias is just a representation of the aspect ratio. The positioning - // of the cylinder is handled entirely by the TexCoordsFromTanAngles matrix. - - const float texScaleX = circScale; - const float texBiasX = circBias; - const float texScaleY = -0.5f; - const float texBiasY = texScaleY * ( 0.5f * ( 1.0f - ( 1.0f / texScaleY ) ) ); - - layer.Textures[eye].TextureMatrix.M[0][0] = texScaleX; - layer.Textures[eye].TextureMatrix.M[0][2] = texBiasX; - layer.Textures[eye].TextureMatrix.M[1][1] = texScaleY; - layer.Textures[eye].TextureMatrix.M[1][2] = -texBiasY; - - layer.Textures[eye].TextureRect.width = 1.0f; - layer.Textures[eye].TextureRect.height = 1.0f; - } - - return layer; -} diff --git a/Projects/Android/jni/QzDoom/VrCompositor.h b/Projects/Android/jni/QzDoom/VrCompositor.h deleted file mode 100644 index b8d4402..0000000 --- a/Projects/Android/jni/QzDoom/VrCompositor.h +++ /dev/null @@ -1,217 +0,0 @@ -/************************************************************************************ - -Filename : VrCompositor.h - -*************************************************************************************/ - -#include "VrInput.h" - -#define CHECK_GL_ERRORS -#ifdef CHECK_GL_ERRORS - -static const char * GlErrorString( GLenum error ) -{ - switch ( error ) - { - case GL_NO_ERROR: return "GL_NO_ERROR"; - case GL_INVALID_ENUM: return "GL_INVALID_ENUM"; - case GL_INVALID_VALUE: return "GL_INVALID_VALUE"; - case GL_INVALID_OPERATION: return "GL_INVALID_OPERATION"; - case GL_INVALID_FRAMEBUFFER_OPERATION: return "GL_INVALID_FRAMEBUFFER_OPERATION"; - case GL_OUT_OF_MEMORY: return "GL_OUT_OF_MEMORY"; - default: return "unknown"; - } -} - -static void GLCheckErrors( int line ) -{ - for ( int i = 0; i < 10; i++ ) - { - const GLenum error = glGetError(); - if ( error == GL_NO_ERROR ) - { - break; - } - ALOGE( "GL error on line %d: %s", line, GlErrorString( error ) ); - } -} - -#define GL( func ) func; GLCheckErrors( __LINE__ ); - -#else // CHECK_GL_ERRORS - -#define GL( func ) func; - -#endif // CHECK_GL_ERRORS - - -/* -================================================================================ - -ovrFramebuffer - -================================================================================ -*/ - -typedef struct -{ - int Width; - int Height; - int Multisamples; - int TextureSwapChainLength; - int ProcessingTextureSwapChainIndex; - int ReadyTextureSwapChainIndex; - ovrTextureSwapChain * ColorTextureSwapChain; - GLuint * DepthBuffers; - GLuint * FrameBuffers; -} ovrFramebuffer; - -void ovrFramebuffer_SetCurrent( ovrFramebuffer * frameBuffer ); -void ovrFramebuffer_Destroy( ovrFramebuffer * frameBuffer ); -void ovrFramebuffer_SetNone(); -void ovrFramebuffer_Resolve( ovrFramebuffer * frameBuffer ); -void ovrFramebuffer_Advance( ovrFramebuffer * frameBuffer ); -void ovrFramebuffer_ClearEdgeTexels( ovrFramebuffer * frameBuffer ); - -/* -================================================================================ - -ovrRenderer - -================================================================================ -*/ - -typedef struct -{ - ovrFramebuffer FrameBuffer[VRAPI_FRAME_LAYER_EYE_MAX]; - int NumBuffers; -} ovrRenderer; - - -void ovrRenderer_Clear( ovrRenderer * renderer ); -void ovrRenderer_Create( int width, int height, ovrRenderer * renderer, const ovrJava * java ); -void ovrRenderer_Destroy( ovrRenderer * renderer ); - - -/* -================================================================================ - -renderState - -================================================================================ -*/ - -typedef struct -{ - GLint VertexBuffer; - GLint IndexBuffer; - GLint VertexArrayObject; - GLint Program; - GLint VertexShader; - GLint FragmentShader; -} renderState; - -void getCurrentRenderState( renderState * state); -void restoreRenderState( renderState * state ); - -/* -================================================================================ - -ovrGeometry - -================================================================================ -*/ - -typedef struct -{ - GLint Index; - GLint Size; - GLenum Type; - GLboolean Normalized; - GLsizei Stride; - const GLvoid * Pointer; -} ovrVertexAttribPointer; - -#define MAX_VERTEX_ATTRIB_POINTERS 3 - -typedef struct -{ - GLuint VertexBuffer; - GLuint IndexBuffer; - GLuint VertexArrayObject; - int VertexCount; - int IndexCount; - ovrVertexAttribPointer VertexAttribs[MAX_VERTEX_ATTRIB_POINTERS]; -} ovrGeometry; - -/* -================================================================================ - -ovrProgram - -================================================================================ -*/ - -#define MAX_PROGRAM_UNIFORMS 8 -#define MAX_PROGRAM_TEXTURES 8 - -typedef struct -{ - GLuint Program; - GLuint VertexShader; - GLuint FragmentShader; - // These will be -1 if not used by the program. - GLint UniformLocation[MAX_PROGRAM_UNIFORMS]; // ProgramUniforms[].name - GLint UniformBinding[MAX_PROGRAM_UNIFORMS]; // ProgramUniforms[].name - GLint Textures[MAX_PROGRAM_TEXTURES]; // Texture%i -} ovrProgram; - -/* -================================================================================ - -ovrScene - -================================================================================ -*/ - -typedef struct -{ - bool CreatedScene; - bool CreatedVAOs; - ovrProgram Program; - ovrGeometry GroundPlane; - - //Proper renderer for stereo rendering to the cylinder layer - ovrRenderer CylinderRenderer; - - int CylinderWidth; - int CylinderHeight; -} ovrScene; - -bool ovrScene_IsCreated( ovrScene * scene ); -void ovrScene_Clear( ovrScene * scene ); -void ovrScene_Create( int width, int height, ovrScene * scene, const ovrJava * java ); -void ovrScene_CreateVAOs( ovrScene * scene ); -void ovrScene_DestroyVAOs( ovrScene * scene ); -void ovrScene_Destroy( ovrScene * scene ); - -/* -================================================================================ - -ovrRenderer - -================================================================================ -*/ - -ovrLayerProjection2 ovrRenderer_RenderGroundPlaneToEyeBuffer( ovrRenderer * renderer, const ovrJava * java, - const ovrScene * scene, const ovrTracking2 * tracking ); - -ovrLayerProjection2 ovrRenderer_RenderToEyeBuffer( ovrRenderer * renderer, const ovrJava * java, - const ovrTracking2 * tracking ); - -ovrLayerCylinder2 BuildCylinderLayer( ovrRenderer * cylinderRenderer, - const int textureWidth, const int textureHeight, - const ovrTracking2 * tracking, float rotateYaw ); -; - - diff --git a/Projects/Android/jni/QzDoom/VrInput.h b/Projects/Android/jni/QzDoom/VrInput.h index c23826a..05edeec 100644 --- a/Projects/Android/jni/QzDoom/VrInput.h +++ b/Projects/Android/jni/QzDoom/VrInput.h @@ -5,12 +5,25 @@ #include "VrCommon.h" +extern ovrInputStateTrackedRemote leftTrackedRemoteState_old; +extern ovrInputStateTrackedRemote leftTrackedRemoteState_new; +extern ovrTrackedController leftRemoteTracking_new; -void acquireTrackedRemotesData(const ovrMobile *Ovr, double displayTime); +extern ovrInputStateTrackedRemote rightTrackedRemoteState_old; +extern ovrInputStateTrackedRemote rightTrackedRemoteState_new; +extern ovrTrackedController rightRemoteTracking_new; -void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackingNew, ovrInputStateGamepad *pFootTrackingOld, ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, - ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTracking* pDominantTracking, - ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTracking* pOffTracking, +extern float remote_movementSideways; +extern float remote_movementForward; +extern float remote_movementUp; +extern float positional_movementSideways; +extern float positional_movementForward; +extern float snapTurn; + + +void HandleInput_Default( int control_scheme, ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, + ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTrackedController* pDominantTracking, + ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTrackedController* pOffTracking, int domButton1, int domButton2, int offButton1, int offButton2 ); diff --git a/Projects/Android/jni/QzDoom/VrInputCommon.c b/Projects/Android/jni/QzDoom/VrInputCommon.c deleted file mode 100644 index c5db7e8..0000000 --- a/Projects/Android/jni/QzDoom/VrInputCommon.c +++ /dev/null @@ -1,160 +0,0 @@ -/************************************************************************************ - -Filename : VrInputRight.c -Content : Handles common controller input functionality -Created : September 2019 -Authors : Simon Brown - -*************************************************************************************/ - -#include -#include -#include -#include -#include - -#include "VrInput.h" - -ovrInputStateTrackedRemote leftTrackedRemoteState_old; -ovrInputStateTrackedRemote leftTrackedRemoteState_new; -ovrTracking leftRemoteTracking_new; - -ovrInputStateTrackedRemote rightTrackedRemoteState_old; -ovrInputStateTrackedRemote rightTrackedRemoteState_new; -ovrTracking rightRemoteTracking_new; - -ovrInputStateGamepad footTrackedRemoteState_old; -ovrInputStateGamepad footTrackedRemoteState_new; - - -ovrDeviceID controllerIDs[2]; - -float remote_movementSideways; -float remote_movementForward; -float remote_movementUp; -float positional_movementSideways; -float positional_movementForward; -float snapTurn; - -float cinemamodeYaw; -float cinemamodePitch; - -void Joy_GenerateButtonEvents(int oldbuttons, int newbuttons, int numbuttons, int base); - -void handleTrackedControllerButton(ovrInputStateTrackedRemote * trackedRemoteState, ovrInputStateTrackedRemote * prevTrackedRemoteState, uint32_t button, int key) -{ - Joy_GenerateButtonEvents(prevTrackedRemoteState->Buttons & button ? 1 : 0, trackedRemoteState->Buttons & button ? 1 : 0, 1, key); -} - -static void Matrix4x4_Transform (const matrix4x4 *in, const float v[3], float out[3]) -{ - out[0] = v[0] * (*in)[0][0] + v[1] * (*in)[0][1] + v[2] * (*in)[0][2] + (*in)[0][3]; - out[1] = v[0] * (*in)[1][0] + v[1] * (*in)[1][1] + v[2] * (*in)[1][2] + (*in)[1][3]; - out[2] = v[0] * (*in)[2][0] + v[1] * (*in)[2][1] + v[2] * (*in)[2][2] + (*in)[2][3]; -} - -void Matrix4x4_CreateFromEntity( matrix4x4 out, const vec3_t angles, const vec3_t origin, float scale ); - -void rotateAboutOrigin(float v1, float v2, float rotation, vec2_t out) -{ - vec3_t temp = {0.0f, 0.0f, 0.0f}; - temp[0] = v1; - temp[1] = v2; - - vec3_t v = {0.0f, 0.0f, 0.0f}; - matrix4x4 matrix; - vec3_t angles = {0.0f, rotation, 0.0f}; - vec3_t origin = {0.0f, 0.0f, 0.0f}; - Matrix4x4_CreateFromEntity(matrix, angles, origin, 1.0f); - Matrix4x4_Transform(&matrix, temp, v); - - out[0] = v[0]; - out[1] = v[1]; -} - -float length(float x, float y) -{ - return sqrtf(powf(x, 2.0f) + powf(y, 2.0f)); -} - -#define NLF_DEADZONE 0.1 -#define NLF_POWER 2.2 - -float nonLinearFilter(float in) -{ - float val = 0.0f; - if (in > NLF_DEADZONE) - { - val = in; - val -= NLF_DEADZONE; - val /= (1.0f - NLF_DEADZONE); - val = powf(val, NLF_POWER); - } - else if (in < -NLF_DEADZONE) - { - val = in; - val += NLF_DEADZONE; - val /= (1.0f - NLF_DEADZONE); - val = -powf(fabsf(val), NLF_POWER); - } - - return val; -} - -bool between(float min, float val, float max) -{ - return (min < val) && (val < max); -} - -void acquireTrackedRemotesData(const ovrMobile *Ovr, double displayTime) {//The amount of yaw changed by controller - for ( int i = 0; ; i++ ) { - ovrInputCapabilityHeader capsHeader; - ovrResult result = vrapi_EnumerateInputDevices(Ovr, i, &capsHeader); - if (result < 0) { - break; - } - - if (capsHeader.Type == ovrControllerType_Gamepad) { - - ovrInputGamepadCapabilities remoteCaps; - remoteCaps.Header = capsHeader; - if (vrapi_GetInputDeviceCapabilities(Ovr, &remoteCaps.Header) >= 0) { - // remote is connected - ovrInputStateGamepad remoteState; - remoteState.Header.ControllerType = ovrControllerType_Gamepad; - if ( vrapi_GetCurrentInputState( Ovr, capsHeader.DeviceID, &remoteState.Header ) >= 0 ) - { - // act on device state returned in remoteState - footTrackedRemoteState_new = remoteState; - } - } - } - else if (capsHeader.Type == ovrControllerType_TrackedRemote) { - ovrTracking remoteTracking; - ovrInputTrackedRemoteCapabilities remoteCaps; - remoteCaps.Header = capsHeader; - if ( vrapi_GetInputDeviceCapabilities( Ovr, &remoteCaps.Header ) >= 0 ) - { - // remote is connected - ovrInputStateTrackedRemote remoteState; - remoteState.Header.ControllerType = ovrControllerType_TrackedRemote; - - if(vrapi_GetCurrentInputState(Ovr, capsHeader.DeviceID, &remoteState.Header) >= 0) { - if (vrapi_GetInputTrackingState(Ovr, capsHeader.DeviceID, displayTime, - &remoteTracking) >= 0) { - // act on device state returned in remoteState - if (remoteCaps.ControllerCapabilities & ovrControllerCaps_RightHand) { - rightTrackedRemoteState_new = remoteState; - rightRemoteTracking_new = remoteTracking; - controllerIDs[1] = capsHeader.DeviceID; - } else { - leftTrackedRemoteState_new = remoteState; - leftRemoteTracking_new = remoteTracking; - controllerIDs[0] = capsHeader.DeviceID; - } - } - } - } - } - } -} diff --git a/Projects/Android/jni/QzDoom/VrInputCommon.cpp b/Projects/Android/jni/QzDoom/VrInputCommon.cpp new file mode 100644 index 0000000..7d37810 --- /dev/null +++ b/Projects/Android/jni/QzDoom/VrInputCommon.cpp @@ -0,0 +1,98 @@ +/************************************************************************************ + +Filename : VrInputRight.c +Content : Handles common controller input functionality +Created : September 2019 +Authors : Simon Brown + +*************************************************************************************/ + + +#include "VrInput.h" + +ovrInputStateTrackedRemote leftTrackedRemoteState_old; +ovrInputStateTrackedRemote leftTrackedRemoteState_new; +ovrTrackedController leftRemoteTracking_new; + +ovrInputStateTrackedRemote rightTrackedRemoteState_old; +ovrInputStateTrackedRemote rightTrackedRemoteState_new; +ovrTrackedController rightRemoteTracking_new; + + +float remote_movementSideways; +float remote_movementForward; +float remote_movementUp; +float positional_movementSideways; +float positional_movementForward; +float snapTurn; + +float cinemamodeYaw; +float cinemamodePitch; + +void Joy_GenerateButtonEvents(int oldbuttons, int newbuttons, int numbuttons, int base); + +void handleTrackedControllerButton(ovrInputStateTrackedRemote * trackedRemoteState, ovrInputStateTrackedRemote * prevTrackedRemoteState, uint32_t button, int key) +{ + Joy_GenerateButtonEvents(prevTrackedRemoteState->Buttons & button ? 1 : 0, trackedRemoteState->Buttons & button ? 1 : 0, 1, key); +} + +static void Matrix4x4_Transform (const matrix4x4 *in, const float v[3], float out[3]) +{ + out[0] = v[0] * (*in)[0][0] + v[1] * (*in)[0][1] + v[2] * (*in)[0][2] + (*in)[0][3]; + out[1] = v[0] * (*in)[1][0] + v[1] * (*in)[1][1] + v[2] * (*in)[1][2] + (*in)[1][3]; + out[2] = v[0] * (*in)[2][0] + v[1] * (*in)[2][1] + v[2] * (*in)[2][2] + (*in)[2][3]; +} + +void Matrix4x4_CreateFromEntity( matrix4x4 out, const vec3_t angles, const vec3_t origin, float scale ); + +void rotateAboutOrigin(float v1, float v2, float rotation, vec2_t out) +{ + vec3_t temp = {0.0f, 0.0f, 0.0f}; + temp[0] = v1; + temp[1] = v2; + + vec3_t v = {0.0f, 0.0f, 0.0f}; + matrix4x4 matrix; + vec3_t angles = {0.0f, rotation, 0.0f}; + vec3_t origin = {0.0f, 0.0f, 0.0f}; + Matrix4x4_CreateFromEntity(matrix, angles, origin, 1.0f); + Matrix4x4_Transform(&matrix, temp, v); + + out[0] = v[0]; + out[1] = v[1]; +} + +float length(float x, float y) +{ + return sqrtf(powf(x, 2.0f) + powf(y, 2.0f)); +} + +#define NLF_DEADZONE 0.1 +#define NLF_POWER 2.2 + +float nonLinearFilter(float in) +{ + float val = 0.0f; + if (in > NLF_DEADZONE) + { + val = in; + val -= NLF_DEADZONE; + val /= (1.0f - NLF_DEADZONE); + val = powf(val, NLF_POWER); + } + else if (in < -NLF_DEADZONE) + { + val = in; + val += NLF_DEADZONE; + val /= (1.0f - NLF_DEADZONE); + val = -powf(fabsf(val), NLF_POWER); + } + + return val; +} + +bool between(float min, float val, float max) +{ + return (min < val) && (val < max); +} + diff --git a/Projects/Android/jni/QzDoom/VrInputDefault.c b/Projects/Android/jni/QzDoom/VrInputDefault.cpp similarity index 74% rename from Projects/Android/jni/QzDoom/VrInputDefault.c rename to Projects/Android/jni/QzDoom/VrInputDefault.cpp index a25360b..c85bac2 100644 --- a/Projects/Android/jni/QzDoom/VrInputDefault.c +++ b/Projects/Android/jni/QzDoom/VrInputDefault.cpp @@ -7,11 +7,7 @@ Authors : Simon Brown *************************************************************************************/ -#include -#include -#include -#include -#include + #include #include "VrInput.h" @@ -20,17 +16,11 @@ Authors : Simon Brown extern ovrInputStateTrackedRemote leftTrackedRemoteState_old; extern ovrInputStateTrackedRemote leftTrackedRemoteState_new; -extern ovrTracking leftRemoteTracking_new; +extern ovrTrackedController leftRemoteTracking_new; extern ovrInputStateTrackedRemote rightTrackedRemoteState_old; extern ovrInputStateTrackedRemote rightTrackedRemoteState_new; -extern ovrTracking rightRemoteTracking_new; - -extern ovrInputStateGamepad footTrackedRemoteState_old; -extern ovrInputStateGamepad footTrackedRemoteState_new; - - -extern ovrDeviceID controllerIDs[2]; +extern ovrTrackedController rightRemoteTracking_new; extern float remote_movementSideways; extern float remote_movementForward; @@ -42,29 +32,30 @@ extern float snapTurn; extern float cinemamodeYaw; extern float cinemamodePitch; +extern bool weaponStabilised; + int getGameState(); int getMenuState(); void Joy_GenerateButtonEvents(int oldbuttons, int newbuttons, int numbuttons, int base); float getViewpointYaw(); -void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackingNew, ovrInputStateGamepad *pFootTrackingOld, - ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTracking* pDominantTracking, - ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTracking* pOffTracking, +void HandleInput_Default( int control_scheme, ovrInputStateTrackedRemote *pDominantTrackedRemoteNew, ovrInputStateTrackedRemote *pDominantTrackedRemoteOld, ovrTrackedController* pDominantTracking, + ovrInputStateTrackedRemote *pOffTrackedRemoteNew, ovrInputStateTrackedRemote *pOffTrackedRemoteOld, ovrTrackedController* pOffTracking, int domButton1, int domButton2, int offButton1, int offButton2 ) { //Menu button - invoke menu - handleTrackedControllerButton(&leftTrackedRemoteState_new, &leftTrackedRemoteState_old, ovrButton_Enter, KEY_ESCAPE); - handleTrackedControllerButton(&rightTrackedRemoteState_new, &rightTrackedRemoteState_old, ovrButton_Enter, KEY_ESCAPE); // For users who have switched the buttons + handleTrackedControllerButton(&leftTrackedRemoteState_new, &leftTrackedRemoteState_old, xrButton_Enter, KEY_ESCAPE); + handleTrackedControllerButton(&rightTrackedRemoteState_new, &rightTrackedRemoteState_old, xrButton_Enter, KEY_ESCAPE); // For users who have switched the buttons //Dominant Grip works like a shift key - bool dominantGripPushedOld = vr_secondarybuttonmappings ? - (pDominantTrackedRemoteOld->Buttons & ovrButton_GripTrigger) != 0 : false; - bool dominantGripPushedNew = vr_secondarybuttonmappings ? - (pDominantTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != 0 : false; + bool dominantGripPushedOld = vr_secondary_button_mappings ? + (pDominantTrackedRemoteOld->Buttons & xrButton_GripTrigger) : false; + bool dominantGripPushedNew = vr_secondary_button_mappings ? + (pDominantTrackedRemoteNew->Buttons & xrButton_GripTrigger) : false; ovrInputStateTrackedRemote *pPrimaryTrackedRemoteNew, *pPrimaryTrackedRemoteOld, *pSecondaryTrackedRemoteNew, *pSecondaryTrackedRemoteOld; - if (vr_switchsticks) + if (vr_switch_sticks) { pPrimaryTrackedRemoteNew = pOffTrackedRemoteNew; pPrimaryTrackedRemoteOld = pOffTrackedRemoteOld; @@ -129,19 +120,19 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin // Only do the following if we are definitely not in the menu if (getMenuState() == 0) { - float distance = sqrtf(powf(pOffTracking->HeadPose.Pose.Position.x - - pDominantTracking->HeadPose.Pose.Position.x, 2) + - powf(pOffTracking->HeadPose.Pose.Position.y - - pDominantTracking->HeadPose.Pose.Position.y, 2) + - powf(pOffTracking->HeadPose.Pose.Position.z - - pDominantTracking->HeadPose.Pose.Position.z, 2)); + float distance = sqrtf(powf(pOffTracking->Pose.position.x - + pDominantTracking->Pose.position.x, 2) + + powf(pOffTracking->Pose.position.y - + pDominantTracking->Pose.position.y, 2) + + powf(pOffTracking->Pose.position.z - + pDominantTracking->Pose.position.z, 2)); //Turn on weapon stabilisation? - if (vr_twohandedweapons && - (pOffTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != - (pOffTrackedRemoteOld->Buttons & ovrButton_GripTrigger)) { + if (vr_two_handed_weapons && + (pOffTrackedRemoteNew->Buttons & xrButton_GripTrigger) != + (pOffTrackedRemoteOld->Buttons & xrButton_GripTrigger)) { - if (pOffTrackedRemoteNew->Buttons & ovrButton_GripTrigger) { + if (pOffTrackedRemoteNew->Buttons & xrButton_GripTrigger) { if (distance < 0.50f) { weaponStabilised = true; } @@ -153,9 +144,9 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //dominant hand stuff first { ///Weapon location relative to view - weaponoffset[0] = pDominantTracking->HeadPose.Pose.Position.x - hmdPosition[0]; - weaponoffset[1] = pDominantTracking->HeadPose.Pose.Position.y - hmdPosition[1]; - weaponoffset[2] = pDominantTracking->HeadPose.Pose.Position.z - hmdPosition[2]; + weaponoffset[0] = pDominantTracking->Pose.position.x - hmdPosition[0]; + weaponoffset[1] = pDominantTracking->Pose.position.y - hmdPosition[1]; + weaponoffset[2] = pDominantTracking->Pose.position.z - hmdPosition[2]; vec2_t v; float yawRotation = getViewpointYaw() - hmdorientation[YAW]; @@ -164,23 +155,22 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin weaponoffset[2] = v[0]; //Set gun angles - const ovrQuatf quatRemote = pDominantTracking->HeadPose.Pose.Orientation; vec3_t rotation = {0}; - rotation[PITCH] = vr_weapon_pitchadjust; - QuatToYawPitchRoll(quatRemote, rotation, weaponangles); + rotation[PITCH] = vr_weaponRotate; + QuatToYawPitchRoll(pDominantTracking->Pose.orientation, rotation, weaponangles); if (weaponStabilised) { - float z = pOffTracking->HeadPose.Pose.Position.z - - pDominantTracking->HeadPose.Pose.Position.z; - float x = pOffTracking->HeadPose.Pose.Position.x - - pDominantTracking->HeadPose.Pose.Position.x; - float y = pOffTracking->HeadPose.Pose.Position.y - - pDominantTracking->HeadPose.Pose.Position.y; + float z = pOffTracking->Pose.position.z - + pDominantTracking->Pose.position.z; + float x = pOffTracking->Pose.position.x - + pDominantTracking->Pose.position.x; + float y = pOffTracking->Pose.position.y - + pDominantTracking->Pose.position.y; float zxDist = length(x, z); if (zxDist != 0.0f && z != 0.0f) { - VectorSet(weaponangles, -degrees(atanf(y / zxDist)), -degrees(atan2f(x, -z)), + VectorSet(weaponangles, -RAD2DEG(atanf(y / zxDist)), -RAD2DEG(atan2f(x, -z)), weaponangles[ROLL]); } } @@ -190,9 +180,9 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //off-hand stuff { - offhandoffset[0] = pOffTracking->HeadPose.Pose.Position.x - hmdPosition[0]; - offhandoffset[1] = pOffTracking->HeadPose.Pose.Position.y - hmdPosition[1]; - offhandoffset[2] = pOffTracking->HeadPose.Pose.Position.z - hmdPosition[2]; + offhandoffset[0] = pOffTracking->Pose.position.x - hmdPosition[0]; + offhandoffset[1] = pOffTracking->Pose.position.y - hmdPosition[1]; + offhandoffset[2] = pOffTracking->Pose.position.z - hmdPosition[2]; vec2_t v; float yawRotation = getViewpointYaw() - hmdorientation[YAW]; @@ -201,10 +191,10 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin offhandoffset[2] = v[0]; vec3_t rotation = {0}; - rotation[PITCH] = vr_weapon_pitchadjust; - QuatToYawPitchRoll(pOffTracking->HeadPose.Pose.Orientation, rotation, offhandangles); + rotation[PITCH] = vr_weaponRotate; + QuatToYawPitchRoll(pOffTracking->Pose.orientation, rotation, offhandangles); - if (vr_moveuseoffhand) { + if (vr_move_use_offhand) { controllerYawHeading = offhandangles[YAW] - hmdorientation[YAW]; } else { controllerYawHeading = 0.0f; @@ -214,9 +204,9 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //Positional movement { ALOGV(" Right-Controller-Position: %f, %f, %f", - pDominantTracking->HeadPose.Pose.Position.x, - pDominantTracking->HeadPose.Pose.Position.y, - pDominantTracking->HeadPose.Pose.Position.z); + pDominantTracking->Pose.position.x, + pDominantTracking->Pose.position.y, + pDominantTracking->Pose.position.z); vec2_t v; rotateAboutOrigin(positionDeltaThisFrame[0], positionDeltaThisFrame[2], @@ -232,12 +222,12 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //Off-hand specific stuff { ALOGV(" Left-Controller-Position: %f, %f, %f", - pOffTracking->HeadPose.Pose.Position.x, - pOffTracking->HeadPose.Pose.Position.y, - pOffTracking->HeadPose.Pose.Position.z); + pOffTracking->Pose.position.x, + pOffTracking->Pose.position.y, + pOffTracking->Pose.position.z); //Teleport - only does anything if vr_teleport cvar is true - if (vr_use_teleport) { + if (vr_teleport) { if ((pSecondaryTrackedRemoteOld->Joystick.y > 0.7f) && !ready_teleport) { ready_teleport = true; } else if ((pSecondaryTrackedRemoteOld->Joystick.y < 0.7f) && ready_teleport) { @@ -250,8 +240,8 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //and we don't get movement jitter when the joystick doesn't quite center properly float dist = length(pSecondaryTrackedRemoteNew->Joystick.x, pSecondaryTrackedRemoteNew->Joystick.y); float nlf = nonLinearFilter(dist); - float x = nlf * pSecondaryTrackedRemoteNew->Joystick.x + pFootTrackingNew->LeftJoystick.x; - float y = nlf * pSecondaryTrackedRemoteNew->Joystick.y - pFootTrackingNew->LeftJoystick.y; + float x = nlf * pSecondaryTrackedRemoteNew->Joystick.x; + float y = nlf * pSecondaryTrackedRemoteNew->Joystick.y; //Apply a simple deadzone player_moving = (fabs(x) + fabs(y)) > 0.05f; @@ -276,8 +266,8 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin if (pPrimaryTrackedRemoteNew->Joystick.x > 0.6f) { if (increaseSnap) { resetDoomYaw = true; - snapTurn -= vr_snapturn_angle; - if (vr_snapturn_angle > 10.0f) { + snapTurn -= vr_snapTurn; + if (vr_snapTurn > 10.0f) { increaseSnap = false; } @@ -293,10 +283,10 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin if (pPrimaryTrackedRemoteNew->Joystick.x < -0.6f) { if (decreaseSnap) { resetDoomYaw = true; - snapTurn += vr_snapturn_angle; + snapTurn += vr_snapTurn; //If snap turn configured for less than 10 degrees - if (vr_snapturn_angle > 10.0f) { + if (vr_snapTurn > 10.0f) { decreaseSnap = false; } @@ -328,13 +318,13 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //If snap turn set to 0, then we can use left/right on the stick as mappable functions Joy_GenerateButtonEvents( - (pPrimaryTrackedRemoteOld->Joystick.x > 0.7f && !dominantGripPushedOld && !vr_snapturn_angle ? 1 : 0), - (pPrimaryTrackedRemoteNew->Joystick.x > 0.7f && !dominantGripPushedNew && !vr_snapturn_angle ? 1 : 0), + (pPrimaryTrackedRemoteOld->Joystick.x > 0.7f && !dominantGripPushedOld && !vr_snapTurn ? 1 : 0), + (pPrimaryTrackedRemoteNew->Joystick.x > 0.7f && !dominantGripPushedNew && !vr_snapTurn ? 1 : 0), 1, KEY_MWHEELLEFT); Joy_GenerateButtonEvents( - (pPrimaryTrackedRemoteOld->Joystick.x < -0.7f && !dominantGripPushedOld && !vr_snapturn_angle ? 1 : 0), - (pPrimaryTrackedRemoteNew->Joystick.x < -0.7f && !dominantGripPushedNew && !vr_snapturn_angle ? 1 : 0), + (pPrimaryTrackedRemoteOld->Joystick.x < -0.7f && !dominantGripPushedOld && !vr_snapTurn ? 1 : 0), + (pPrimaryTrackedRemoteNew->Joystick.x < -0.7f && !dominantGripPushedNew && !vr_snapTurn ? 1 : 0), 1, KEY_MWHEELRIGHT); } @@ -343,8 +333,8 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin { //Fire Joy_GenerateButtonEvents( - ((pDominantTrackedRemoteOld->Buttons & ovrButton_Trigger) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pDominantTrackedRemoteNew->Buttons & ovrButton_Trigger) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pDominantTrackedRemoteOld->Buttons & xrButton_Trigger) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pDominantTrackedRemoteNew->Buttons & xrButton_Trigger) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_PAD_RTRIGGER); //"Use" (open door, toggle switch etc) @@ -361,24 +351,26 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin // Inv Use Joy_GenerateButtonEvents( - ((pDominantTrackedRemoteOld->Buttons & ovrButton_Joystick) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pDominantTrackedRemoteNew->Buttons & ovrButton_Joystick) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pDominantTrackedRemoteOld->Buttons & xrButton_Joystick) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pDominantTrackedRemoteNew->Buttons & xrButton_Joystick) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_ENTER); + //Button touching (but not pressing) needs adding to OpenXR mappings +/* //No Default Binding Joy_GenerateButtonEvents( ((pDominantTrackedRemoteOld->Touches & ovrTouch_ThumbRest) != 0) && !dominantGripPushedOld ? 1 : 0, ((pDominantTrackedRemoteNew->Touches & ovrTouch_ThumbRest) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_JOY5); - +*/ } //Dominant Hand - Secondary keys (grip pushed) { //Alt-Fire Joy_GenerateButtonEvents( - ((pDominantTrackedRemoteOld->Buttons & ovrButton_Trigger) != 0) && dominantGripPushedOld ? 1 : 0, - ((pDominantTrackedRemoteNew->Buttons & ovrButton_Trigger) != 0) && dominantGripPushedNew ? 1 : 0, + ((pDominantTrackedRemoteOld->Buttons & xrButton_Trigger) != 0) && dominantGripPushedOld ? 1 : 0, + ((pDominantTrackedRemoteNew->Buttons & xrButton_Trigger) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_PAD_LTRIGGER); //Crouch @@ -395,21 +387,24 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //No Binding Joy_GenerateButtonEvents( - ((pDominantTrackedRemoteOld->Buttons & ovrButton_Joystick) != 0) && dominantGripPushedOld ? 1 : 0, - ((pDominantTrackedRemoteNew->Buttons & ovrButton_Joystick) != 0) && dominantGripPushedNew ? 1 : 0, + ((pDominantTrackedRemoteOld->Buttons & xrButton_Joystick) != 0) && dominantGripPushedOld ? 1 : 0, + ((pDominantTrackedRemoteNew->Buttons & xrButton_Joystick) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_TAB); + //Button touching (but not pressing) needs adding to OpenXR mappings +/* //No Default Binding Joy_GenerateButtonEvents( ((pDominantTrackedRemoteOld->Touches & ovrTouch_ThumbRest) != 0) && dominantGripPushedOld ? 1 : 0, ((pDominantTrackedRemoteNew->Touches & ovrTouch_ThumbRest) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_JOY6); +*/ //Use grip as an extra button //Alt-Fire Joy_GenerateButtonEvents( - ((pDominantTrackedRemoteOld->Buttons & ovrButton_GripTrigger) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pDominantTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pDominantTrackedRemoteOld->Buttons & xrButton_GripTrigger) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pDominantTrackedRemoteNew->Buttons & xrButton_GripTrigger) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_PAD_LTRIGGER); } @@ -418,8 +413,8 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin { //No Default Binding Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_Trigger) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_Trigger) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_Trigger) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_Trigger) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_LSHIFT); //No Default Binding @@ -436,19 +431,22 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //"Use" (open door, toggle switch etc) - Can be rebound for other uses Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_Joystick) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_Joystick) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_Joystick) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_Joystick) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_SPACE); + //Button touching (but not pressing) needs adding to OpenXR mappings +/* //No Default Binding Joy_GenerateButtonEvents( ((pOffTrackedRemoteOld->Touches & ovrTouch_ThumbRest) != 0) && !dominantGripPushedOld ? 1 : 0, ((pOffTrackedRemoteNew->Touches & ovrTouch_ThumbRest) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_JOY7); +*/ Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_GripTrigger) != 0) && !dominantGripPushedOld ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != 0) && !dominantGripPushedNew ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_GripTrigger) != 0) && !dominantGripPushedOld ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_GripTrigger) != 0) && !dominantGripPushedNew ? 1 : 0, 1, KEY_PAD_RTHUMB); } @@ -456,8 +454,8 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin { //No Default Binding Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_Trigger) != 0) && dominantGripPushedOld ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_Trigger) != 0) && dominantGripPushedNew ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_Trigger) != 0) && dominantGripPushedOld ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_Trigger) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_LALT); //Move Down @@ -474,19 +472,22 @@ void HandleInput_Default( int control_scheme, ovrInputStateGamepad *pFootTrackin //Land Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_Joystick) != 0) && dominantGripPushedOld ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_Joystick) != 0) && dominantGripPushedNew ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_Joystick) != 0) && dominantGripPushedOld ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_Joystick) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_HOME); + //Button touching (but not pressing) needs adding to OpenXR mappings +/* //No Default Binding Joy_GenerateButtonEvents( ((pOffTrackedRemoteOld->Touches & ovrTouch_ThumbRest) != 0) && dominantGripPushedOld ? 1 : 0, ((pOffTrackedRemoteNew->Touches & ovrTouch_ThumbRest) != 0) && dominantGripPushedNew ? 1 : 0, 1, KEY_JOY8); +*/ Joy_GenerateButtonEvents( - ((pOffTrackedRemoteOld->Buttons & ovrButton_GripTrigger) != 0) && dominantGripPushedOld && !vr_twohandedweapons ? 1 : 0, - ((pOffTrackedRemoteNew->Buttons & ovrButton_GripTrigger) != 0) && dominantGripPushedNew && !vr_twohandedweapons ? 1 : 0, + ((pOffTrackedRemoteOld->Buttons & xrButton_GripTrigger) != 0) && dominantGripPushedOld && !vr_two_handed_weapons ? 1 : 0, + ((pOffTrackedRemoteNew->Buttons & xrButton_GripTrigger) != 0) && dominantGripPushedNew && !vr_two_handed_weapons ? 1 : 0, 1, KEY_PAD_DPAD_UP); } diff --git a/Projects/Android/jni/gzdoom-g3.3mgw_mobile b/Projects/Android/jni/gzdoom-g3.3mgw_mobile index 88800f0..2324921 160000 --- a/Projects/Android/jni/gzdoom-g3.3mgw_mobile +++ b/Projects/Android/jni/gzdoom-g3.3mgw_mobile @@ -1 +1 @@ -Subproject commit 88800f0fc2f5a8cb41b0714ebfd234b9f0ba624e +Subproject commit 232492121898049ef54155d193bd563ad6955a05 diff --git a/Projects/Android/local.properties b/Projects/Android/local.properties index f7e86f8..a832ec8 100644 --- a/Projects/Android/local.properties +++ b/Projects/Android/local.properties @@ -5,5 +5,5 @@ # For customization when using a Version Control System, please read the # header note. #Wed Feb 02 12:33:02 GMT 2022 -ndk.dir=C\:\\Users\\simon\\AppData\\Local\\Android\\Sdk\\ndk\\20.0.5594570 +ndk.dir=C\:\\Users\\Simon\\AppData\\Local\\Android\\Sdk\\ndk\\21.1.6352462 sdk.dir=C\:\\Users\\Simon\\AppData\\Local\\Android\\Sdk diff --git a/Projects/Android/settings.gradle b/Projects/Android/settings.gradle index 068619d..c12cafa 100644 --- a/Projects/Android/settings.gradle +++ b/Projects/Android/settings.gradle @@ -1,4 +1,4 @@ rootProject.projectDir = new File(settingsDir, '../../../..') -rootProject.name = "QuestzDoom" +rootProject.name = "QuestZDoom" -include ':', 'VrSamples:QuestzDoom:Projects:Android' +include ':', 'XrSamples:QuestZDoom:Projects:Android' diff --git a/Projects/Projects.iml b/Projects/Projects.iml index 1c4a12c..29f2cdb 100644 --- a/Projects/Projects.iml +++ b/Projects/Projects.iml @@ -1,9 +1,9 @@ - + - diff --git a/VrSamples-QuestzDoom.iml b/XrSamples-QuestzDoom.iml similarity index 84% rename from VrSamples-QuestzDoom.iml rename to XrSamples-QuestzDoom.iml index 7b53052..22cedfe 100644 --- a/VrSamples-QuestzDoom.iml +++ b/XrSamples-QuestzDoom.iml @@ -1,9 +1,9 @@ - + - diff --git a/assets/res/lzdoom.pk3 b/assets/res/lzdoom.pk3 index 34c2e748ffea69c14788c293df9af00119d6ce7b..0965c446b9097a8103afda7d4de2c7dc5615a967 100644 GIT binary patch delta 349290 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

u6(imzMw)uFL0gGw{ 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�Q;TYL<&TXC?b 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 delta 342403 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ⅅtfk3^HDD;2x{ujl5tUEa}f_qM6D-3dz9FuGM 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