cancel
Showing results for 
Search instead for 
Did you mean: 

I have a question for Meta devs about the technical aspects of Quest Link!!!

tanubon
Heroic Explorer

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.

 

3 REPLIES 3

volgaksoy
Expert Protege

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.

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. 😕

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.