08-17-2023 04:49 AM - edited 08-17-2023 01:17 PM
In the Oculus Debug Tool, under Layer Proparies, there is a setting called Head Locked. It appears to be that moving the viewpoint only shows the area that was originally directly in front of the viewpoint (i.e., the image is missing from the edges when the viewpoint is moved), but what I noticed is that when the viewpoint is moved with this setting "Force True", the area near the edge where the image is shown has super clear detail (In reality, the difference is more obvious than in the images below). And the periphery of the image isn't blurry.
Head Locked: Default
Head Locked: Force True (Look down and bring the place that was originally in the center up)
Zoomed Comparison
Another Sample (Detail of the wire mesh is no longer cut off due to the increase of resolution)
What exactly is happening here technically?
Why is the resolution significantly increased? The most important point is whether this quality can be achieved in Default. Can you make this? or not? If you can't, why? I would like to hear from the developers involved in the development of Link. Volga & Amanda left, so no one I can contact now.
08-17-2023 08:43 PM
I'm seeing the Quest-native Perf HUD there, so it seems like you're capturing these images as the "final frame buffer" from the Quest compositor which has the HMD with distortion curvature applied, right? I ask because if so, then this is natural. It's a combination of how the Quest Link Axis-Aligned Distortion Transmission (AADT) compresses the image, and then sends it to the HMD for display. When you override that head locked parameter, AADT application stops following the HMD's actual orientation. So you see the FOV mask bleeding into view as well as the pixels that are meant to be shown on the periphery also move to the center.
You see when you apply distortion curvature (the "fish eye lens" like effect) to a planar projection (i.e. rectilinear) rendered image, the periphery always has more resolution than the center. This is actually why fixed-foveated distortion as a technique makes sense, and unfortunately not used by many PC VR titles. So when you "peek" into the periphery with your head locked option, you're bringing those pixels that would bunch up in the periphery to the center.
I'd have to draw diagrams and such, but I hope this might make some sense.
08-18-2023 03:44 AM - edited 08-18-2023 04:28 AM
Thank you! I kind of got it. I took this images via developer hub. I would like to see a clearer image. Is there any other way to intentionally increase the density even if the range to image becomes narrower? Fov Tangent Multiplier doesn't change density...
EDIT: Wait... Fov Tangent Multiplier can make more density... nooo, I didn't notice that. Hmm... but Steam games don't accept change in realtime... need realtime change to make higher density. 😕
08-18-2023 02:23 PM
Fov Tangent Mult modifies the FOV reported to the game, but of course only when the game actually asks for it. Unfortunately, the way the original APIs were designed, almost no game ever asks for the FOV once it gets past the initialization phase at the start of a session, so they tend to be "locked in". This isn't just for Steam but many other Oculus PC VR API games as well. Our examples never made it clear that they could keep asking for the FOV each frame and respond to any potential changes because there was no "real need for it". I don't remember if OpenXR is now making this a requirement.