Search code examples
openglrenderingfieldofview

What is the correct field of view angle for human eye?


At the moment i use 45 degree angle for my gluPerspective(). Is this the correct angle to make the rendering look realistic in how humans perceive it? Also there is an issue with the window aspect ratio, for example 2:1 window will make 45 degree angle look more like 80 degree angle on a screen with 3:4 ratio etc. So the window size changes the perspective as well.

So what is the correct window size ratio and field of view angle for making a game look most realistically compared to how humans perceive the world?


Solution

  • Unless you're using some kind of wrap-around setup, a single monitor isn't going to fill up the entire field of view of the human eye, which is usually nearly 180 degrees horizontally (of course it varies from person to person). If you tried to render something that wide, it would look weird -- the scene would appear to stretch out excessively toward the edges. Set the FOV to 120 degrees or so and you'll see what I'm talking about.

    So instead of considering the human eye's FOV, you usually just draw imaginary lines from the user's head to the edges of the monitor, and take the angles between those. Of course this varies from desk to desk, monitor to monitor, so it's something of an artistic decision. 70 degrees vertical is decent place to start with. Assuming the game is running full screen, you're basically at the mercy of the monitor itself for the aspect ratio.