0
$\begingroup$

I’m trying to calculate the highest perceived resolution of a virtual screen viewed through a physical screen, given the dimensions of the virtual 3D scene and properties of the physical display.

Specifically, a virtual screen viewed from given distance, with a VR headset of given resolution and field of view.

For example, if I was using a VR headset with 1080x1200 display panel, with horizontal FOV of 110 degrees and I was viewing a virtual 65” 16:9 TV from 2 meters, what would be the true resolution I’m getting out of the TV?

To keep it simple (albeit less correct), it’s not necessary to account for any optics distortion or stereo rendering with dual panels. Let’s just assume pixels are distributed uniformly through the entire FOV.

We'll also assume the screen is flat and facing directly at the camera in the scene, so we don't need to mind any angles or curvature.

I’ll call the provided properties as follows:

HMDPanelResX,    // Display panel horizontal resolution in px
HMDPanelResY,    // Display panel vertical resolution in px
HMDFOVX,         // Horizontal field of view coverage in degrees
VRScreenSizeX,   // Virtual screen width in cm
VRScreenSizeY,   // Virtual screen height in cm
VRScreenDistance // Distance to screen in cm

I know vertical FOV (HMDFOVY) can be derived through the aspect ratio and horizontal FOV. Also getting the pixels per degrees value for each axis is a matter of a simple division.

I think the next step would be to figure out how large portion of the FOV the virtual screen will cover horizontally and vertically with the given dimensions, but I don’t know how to calculate it.

The return values I want to derive can be called VRScreenResX and VRScreenResY.

$\endgroup$
1
$\begingroup$

Assuming you are facing the virtual screen head on, If $\theta$ is the width of the screen in degrees, then the physical width is $w = 2d\sin \frac\theta 2$ where $d$ is the distance to the screen. Solving this for $\theta$ gives $$\theta = 2\sin^{-1}\frac{w}{2d}$$

If $w$ is much smaller than $d$ (say at most 10% of $d$) then this is $$\theta = \frac {180^\circ}{\pi}\frac wd$$ to good approximation. And the smaller $\frac wd$ is, the better the approximation becomes.

Now multiply by your ratio of pixels to degrees.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.