mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-09 21:54:35 +00:00
Improvements to openvr code
- Overlays are implemented (sans input for the moment) - Fixed a problem where the movemanager was using the wrong values for hmd rotation & position
This commit is contained in:
parent
185fde8ea4
commit
da6bcbeb2b
13 changed files with 380 additions and 32 deletions
|
|
@ -33,6 +33,7 @@ public:
|
|||
};
|
||||
|
||||
vr::VROverlayHandle_t mOverlayHandle;
|
||||
vr::VROverlayHandle_t mThumbOverlayHandle;
|
||||
|
||||
// Desired OpenVR state
|
||||
U32 mOverlayFlags;
|
||||
|
|
@ -41,15 +42,19 @@ public:
|
|||
vr::VROverlayTransformType mOverlayTransformType;
|
||||
MatrixF mTransform;
|
||||
vr::TrackedDeviceIndex_t mTransformDeviceIndex;
|
||||
const char* mTransformDeviceComponent;
|
||||
String mTransformDeviceComponent;
|
||||
|
||||
|
||||
vr::VROverlayInputMethod mInputMethod;
|
||||
Point2F mMouseScale;
|
||||
|
||||
MatrixF mTrackingOrigin;
|
||||
vr::ETrackingUniverseOrigin mTrackingOrigin;
|
||||
vr::TrackedDeviceIndex_t mControllerDeviceIndex;
|
||||
|
||||
GFXTexHandle mStagingTexture; ///< Texture used by openvr
|
||||
|
||||
ColorF mOverlayColor;
|
||||
|
||||
bool mOverlayTypeDirty; ///< Overlay type is dirty
|
||||
bool mOverlayDirty; ///< Overlay properties are dirty
|
||||
OverlayType mOverlayType;
|
||||
|
|
@ -61,6 +66,8 @@ public:
|
|||
|
||||
static void initPersistFields();
|
||||
|
||||
DECLARE_CONOBJECT(OpenVROverlay);
|
||||
|
||||
bool onAdd();
|
||||
void onRemove();
|
||||
|
||||
|
|
@ -76,10 +83,13 @@ public:
|
|||
bool isGamepadFocussed();
|
||||
bool isActiveDashboardOverlay();
|
||||
|
||||
MatrixF getTransformForOverlayCoordinates(const vr::ETrackingUniverseOrigin trackingOrigin, const Point2F &pos);
|
||||
bool castRay(const vr::ETrackingUniverseOrigin trackingOrigin, const Point3F &origin, const Point3F &direction, RayInfo *info);
|
||||
MatrixF getTransformForOverlayCoordinates(const Point2F &pos);
|
||||
bool castRay(const Point3F &origin, const Point3F &direction, RayInfo *info);
|
||||
|
||||
void moveGamepadFocusToNeighbour();
|
||||
|
||||
void handleOpenVREvents();
|
||||
void onFrameRendered();
|
||||
};
|
||||
|
||||
typedef OpenVROverlay::OverlayType OpenVROverlayType;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue