It is very confusing, more so because things have changed over time, so googling back 6 months will give bad info for today. Here’s how it is now:
-
The ‘WMR for SteamVR’ app is used to ‘fake’ a SteamVR device (technically the standard is called OpenVR, but let’s not confuse things more). This is a good idea for Microsoft because they are a late entrant in VR gaming and people like DCS or IL-2 don’t want to write in a third VR run-time platform (SteamVR and Oculus SDK being the main two). No developer was interested in writing to the straight WMR platform API, so being made to fake ‘OpenVR’ pretty much saved WMR for gaming.
-
Reprojection is handled by something called the ‘compositor’, and that’s within the run-time platform driver side of things, so anything we used to do in terms of ‘turning on Motion Smoothing in SteamVR’ was all ignored by WMR. WMR had it’s own funny ‘edit this file’ way of setting that up until very recently.
-
WMR has a few reprojection modes. The default one is called ‘Motion Vector’ that if it detects a framerate given of less than 45 hz and it uses a simple ‘horizontal reprojection’ (predict the next frame based on 1 axis). This can’t be turned off, and is what Oculus people would recognize as the old ‘Async Timewarp’ (ATW). It is pretty juddery and ugly, but it as at least giving you something to look at at 90 hz. The next mode is something that is not on by default and needs to be enabled. Called ‘Motion Reprojection’ it is essentially the same algorithm as the Oculus ‘Async Space Warp’ (ASW). It’s quite nice, and has been getting better and better (it used to be a CPU hog but they are improving things release by release).
-
What has recently changed in the WMR for SteamVR beta is that the user interface for turning that WMR mode on or off has now been delegated to the SteamVR settings. So what’s happening is that it’s enabling the WMR modes on and off and using the SteamVR front end on if to do it or not. When you see this sort of dialog:
…then what’s happening is the SteamVR front end is being used to tell WMR to use a resolution of ‘2604x2552’ and then to enable or disable the WMR Motion Reprojection opt-in algorithm. Once an app is running there is very little overhead of this ‘bridge’, so it’s more a set-up thing.
So in summary, this is confusing as these settings used to be ignored for a WMR device in SteamVR and that spelunking around WMR files used to be the only way, but now it is actually using them (if you have the beta versions). It’s a bit crazy as for the longest time people would fiddle with those settings and WMR would ignore them and they would think ‘SteamVR reprojection’ was being used (wrong stack) as sort of a placebo. Such is life.
I’m not sure if I made it better or worse explaining this, so please anyone ask questions or make corrections.
It just writes config files out underneath in SteamVR, I’ll dig out the info and post back later. I’m thinking you could just do it that way and the controllers could stay in the box.
An Overlay is a layer in the compositor for showing stuff over the top of the running app. So when you press the Windows key in WMR you get a mini menu, sort of like a VR ‘Start’ thing - it allows you to put a desktop or window in view as an extra layer, hence ‘overlay’. SteamVR (and Oculus as well with Home) has one. Because ‘WMR for SteamVR’ is acting as a fake OpenVR device, you can actually open the SteamVR Overlay with a WMR controller right stick ‘click down’. It’ll show a similar thing to the WMR and Oculus one, somewhere to launch other apps or mount virtual windows over the top of the running app.
Here’s the SteamVR overlay in action, with that new ‘WMR for SteamVR’ bunch of settings stuffed within it…