elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
462 stars 29 forks source link

Feature request: Add upscale filter options #22

Open sctanf opened 3 years ago

sctanf commented 3 years ago

I do not use above 1080p monitors, so in VR the desktop views look blurry at medium to large sizes. The default filtering causes the blurriness, which I find makes my desktop almost unreadable. I think adding different filters, like nearest neighbor, for upscaling would make the desktop much sharper.

elvissteinjr commented 3 years ago

I'm not sure if upscaling would do much. Desktop+ doesn't do any 3D rendering on its own and always passes the full-size texture to SteamVR, which is responsible for rendering the overlays. This means there's not much there can be done in terms of filtering and doing nearest neighbor would mean submitting double the resolution.

In the typical scenario the overlay texture is currently always going to be downscaled during rendering since the overlay doesn't take up enough pixels on the HMD screens while still being fully in view. This of course depends on the HMD used and what your personal comfortable viewing distance is. In my case on Valve Index, a compositor screenshot (after lens pre-distortion, the image that gets send to the HMD) tends to have 650 - 700 pixels (of 1600 total) in height be occupied by the overlay in the dashboard. With a 1080p screen mirrored, I general consider text at normal size readable. It's not perfect, but good enough. I'm probably quite used to reading text off of overlays at this point, though.

The SteamVR overlay/dashboard render quality settings also affect which kind of texture filtering is used on overlays. Low and middle may actually look a bit sharper, but at the cost of having a fair amount of aliasing. SteamVR's compositor resolution is also important, but I imagine you would've noticed Desktop+ warning you if it was below 100%.

So right now I'm not really convinced. It is however fairly simple to check if a double pixel scaled overlay would look better at the same size next to a normal one, so I'll probably check that out when I get the time to make sure.

sctanf commented 3 years ago

I tested this out, there is some difference but not as much of an improvement as I would have expected. Viewed at normal distance, top vs bottom (0.25x) small Viewed up close, top vs bottom (4x) large

ThreeDeeJay commented 1 year ago

I know it's not nearest-neighbor, but now there's this https://github.com/fholger/openvr_fsr