madsbuvi
d1aaa74193
Rewrite of tracking logic.
2021-05-20 22:40:48 +02:00
madsbuvi
b96a832491
Add missing xr return value checks. Delay session start until swapchains have been created.
2021-03-11 19:03:34 +01:00
madsbuvi
3f2196fd8a
Tighten up adherence to the openxr spec on submitting swapchains.
2021-03-10 17:04:29 +01:00
madsbuvi
3347cdfe30
Fixed recentering adjusting the player's orientation. Cell changes should now retain the proper orientation. Added support for seated play.
2021-02-28 16:01:03 +01:00
madsbuvi
f9c13f3163
More useful error messages for typical init failures
2021-02-07 00:07:14 +01:00
madsbuvi
8671611ed5
Improved swapchain format handling.
2021-01-25 22:46:08 +01:00
madsbuvi
11a3961d65
Merge remote-tracking branch 'remotes/origin/directx_swapchains' into openxr_vr_geometryshader_feature_branch
2021-01-01 19:50:52 +01:00
madsbuvi
6ed89f9141
Support for DirectX swapchains.
2020-12-31 21:08:24 +01:00
Mads Buvik Sandvei
d125464533
Uninitialized data bugs.
2020-12-10 21:30:54 +01:00
Mads Buvik Sandvei
b98b4db4c1
Merge remote-tracking branch 'remotes/origin/multiview_test_branch' into openxr_vr_geometryshader_feature_branch
2020-12-09 21:11:53 +01:00
Mads Buvik Sandvei
5148f4ecb0
Fix use of deallocated data.
2020-12-06 12:05:07 +01:00
Mads Buvik Sandvei
d34ff613b3
Less verbose debug statement
2020-12-02 21:49:47 +01:00
Mads Buvik Sandvei
e42dada208
Load interaction profile suggestions from xml instead of hardcoding them.
2020-12-02 21:49:00 +01:00
Mads Buvik Sandvei
aff7d93a21
This is why i wanted MyGUI 3.4. So many hacks to use 3.2.
2020-11-29 19:02:06 +01:00
Mads Buvik Sandvei
1e64aea1a5
Bump openxr to version 1.0.13. Interaction profiles for vive cosmos and huawei
2020-11-29 17:15:53 +01:00
Christoph Haag
751807d777
don't mark CheckXrResult as inline
...
On gcc it compiles in Debug mode, but fails to link in Release mode.
2020-11-02 00:23:48 +01:00
Mads Buvik Sandvei
3158a2510e
Clarified logging of layers and extensions
2020-11-01 17:49:46 +01:00
Christoph Haag
b54e77a667
fix openmw non-vr build
...
../apps/openmw/mwphysics/movementsolver.cpp: In static member function ‘static void MWPhysics::MovementSolver::move(MWPhysics::ActorFrameData&, float, const btCollisionWorld*, MWPhysics::WorldFrameData&)’:
../apps/openmw/mwphysics/movementsolver.cpp:98:52: error: ‘getPlayer’ is not a member of ‘MWMechanics’
98 | const bool isPlayer = (ptr == MWMechanics::getPlayer());
| ^~~~~~~~~
2020-10-30 23:29:24 +00:00
Mads Buvik Sandvei
4f8f0cc8ac
Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into openxr_vr
2020-10-22 20:39:53 +02:00
Mads Buvik Sandvei
4c4fc0c69a
Refactoring. Moved changes to MWRender::Camera into a new subclass MWVR::VRCamera. Moved head tracking code to VRCamera.
2020-10-21 21:34:47 +02:00
Mads Buvik Sandvei
ea9303e1c6
Deleted deprecated setting 'use steady clock'. Moved debug related settings to a separate [VR Debug] category.
2020-10-19 18:21:05 +02:00
Mads Buvik Sandvei
6425749b7e
More accurate interpretation of openxr session states
2020-10-18 14:22:03 +02:00
Mads Buvik Sandvei
cf20faff21
Option to make use of XR_EXT_debug_utils if available
2020-10-17 21:11:31 +02:00
Mads Buvik Sandvei
c3a312f80d
Squashed commit of the following:
...
commit d8564b8e501c98fa2e3cde582b8d06d7c78ba6ce
Author: Mads Buvik Sandvei <madssandvei@protonmail.com>
Date: Fri Oct 16 23:43:39 2020 +0200
bad assignment
commit 84f66e4bf1050ce8a316a27f8b10dc2243e35406
Author: Mads Buvik Sandvei <madssandvei@protonmail.com>
Date: Fri Oct 16 21:08:27 2020 +0200
Removed the approach of abstracting xr paths with enums. It is not turning out to be useful. Use the explicit paths instead. Added some default bindings for most currently available controllers, except the xbox controller.
commit ae525d0a239c087a7344528634a078e0812af66d
Author: Mads Buvik Sandvei <madssandvei@protonmail.com>
Date: Fri Oct 16 21:05:37 2020 +0200
Cleaned up openxr extensions code. Upgraded openxr to version 1.0.12 to enable support for certain controllers.
commit 2d71a5ecbf699c59f1fcdbebcad867fd28552929
Author: Mads Buvik Sandvei <madssandvei@protonmail.com>
Date: Thu Sep 24 22:18:25 2020 +0200
simple_controller
2020-10-17 12:33:46 +02:00
Mads Buvik Sandvei
89ff075936
New config options
2020-08-07 23:33:21 +02:00
Mads Buvik Sandvei
c136ae682e
SteamVR compatibility (Lack of depth formats). Cleanup of deprecated oculus workarounds in vrsession.cpp.
2020-08-02 12:34:46 +02:00
Mads Buvik Sandvei
a15188d3bc
Wait on a separate thread
2020-07-26 13:12:05 +02:00
Mads Buvik Sandvei
9e16e592e8
steady clock prediction was not quite right
2020-07-25 12:28:52 +02:00
Mads Buvik Sandvei
5e729a0e82
Improved XR event processing logic. Particularly, handling session stop/start in a more predictable, less crashy manner. Added disabling of rendering when XR session is not running.
2020-07-21 12:28:39 +02:00
Mads Buvik Sandvei
f451bf2a35
typo
2020-07-15 23:25:22 +02:00
Mads Buvik Sandvei
47b7837d7c
Make use of the layer depth extension
2020-07-15 23:17:16 +02:00
Mads Buvik Sandvei
45656f1d06
Comments etc
2020-06-28 11:33:01 +02:00
Mads Buvik Sandvei
91de6392ca
More refactoring / cleanup. Code policies.
2020-06-26 23:02:48 +02:00
Mads Buvik Sandvei
e3c460ae35
Swapchain refactoring. Use of multisampling. Msaa resolve steps for mirror textures.
2020-06-24 22:22:09 +02:00
Mads Buvik Sandvei
df45ee1690
More refactoring/cleanup
2020-06-24 21:26:11 +02:00
Mads Buvik Sandvei
1cf97fd7ad
lots of refactoring and some commenting
2020-06-21 23:40:07 +02:00
Mads Buvik Sandvei
f25c3af9cb
More refactoring of VRSession. Moved call of BeginFrame and WaitFrame to the start of cull to keep shadow technique within openxr specs. There is still some jitter unless i change to single-threaded, and now i have no idea why.
2020-06-03 19:46:20 +02:00
Mads Buvik Sandvei
8f38f0536c
Separate GLRC for OpenXR to ensure uncontested access.
...
Safety check on predictions to police that they are made only once per frame.
2020-06-02 21:46:22 +02:00
Mads Buvik Sandvei
480ce82217
Fixed performance issues related to xr synchronization as well as osg pipelining. Some code refactoring / cleanup.
2020-05-24 18:00:42 +02:00
Mads Buvik Sandvei
57e48cfc03
Separate rendering of window menus. It's still awkward. Needs polishing.
2020-05-01 21:37:01 +02:00
Mads Buvik Sandvei
e573a260cb
Rudimentary menu interactions
2020-03-08 14:14:24 +01:00
Mads Buvik Sandvei
bdade49129
In-place turning
2020-02-23 11:02:38 +01:00
Mads Buvik Sandvei
da73df1707
Basic input management
2020-02-15 20:01:11 +01:00
Mads Buvik Sandvei
49e0c6f17b
Basic hand tracking.
2020-02-14 22:11:19 +01:00
Mads Buvik Sandvei
14039e5e25
Predictions work perfectly with this. Committing that and clean up later.
2020-02-02 13:12:53 +01:00
Mads Buvik Sandvei
fea964a6f3
Tightened prediction point
2020-01-27 18:34:48 +01:00
Mads Buvik Sandvei
951879240c
Simplified render timing by separating rendering from the openxr swapchain, and instead blitting and submitting separately
2020-01-26 20:06:47 +01:00
Mads Buvik Sandvei
51125d4f3e
Improved frame pose prediction by barriering slave access as well. Slaves were updating on either the old frame timing or new by chance, causing jittery tracking. Accounted for morrowind's unit length (1 unit = 64 yards)
2020-01-25 14:27:13 +01:00
Mads Buvik Sandvei
2accdc4441
Split view into worldview and menu, for ease of layer management. Basic pose management.
2020-01-24 00:14:23 +01:00
Mads Buvik Sandvei
2778775070
First commit. Wrote an osgviewer, achieved display.
2020-01-10 00:10:09 +01:00