Page 2 of 2

Re: Using FOV to turn Games into Simulators

Posted: 11 May 2011, 04:23
by ZeosPantera
The system of FOV in games will be different and certainly the default values will be as well, but those fov numbers I posted above will always be your personal, correct FOV as long as you don't drastically change your seating position or monitor size. Any First Person game with those settings properly displayed should yield identical results regardless of playability. That will be determined by the games genre and how well the player adapts to their new environment.

Your vertical = 29.68 (30 will do)
Your single screen horizontal = 47.488 Your three screen FOV without compensation is just this value times three. So 142.4° across all three screens.

Mind the fact that some games only concern themselves with the center screen for fov adjustments and even running triplehead you would only need to adjust the horizontal to 47.4, Games that use vertical are much simpler as it will just always be 30

Re: Using FOV to turn Games into Simulators

Posted: 21 Jun 2011, 09:56
by QuackingPlums
Only just found this thread but I have a question: with the FOV set to 25, the view is now cropped at the top and bottom due to the change in aspect ratio. In the example shown in the first post, if someone now walks right on front of me won't their heads and legs be cropped?

Tribes2 (ok, TribesNext) suffers from this. It works across three screens fine, but one of the later patches prevented you from using extreme FOV values (to prevent unfair zooming). This is valid for a 4:3 or even 16:9 screen, but on a triple-wide setup it gives exactly this letterboxed effect, chopping off the heads and feet of anybody standing close. I find it more disorienting having to manually look up and down to see things that are nearby.

Re: Using FOV to turn Games into Simulators

Posted: 21 Jun 2011, 10:22
by ZeosPantera
if someone now walks right on front of me won't their heads and legs be cropped?



If the camera's height position in-game is the same as other characters heads then the heads should never be cut off unless the character is very short.

In most instances you should never find yourself standing so close to another character that their visibility becomes obstructed.

This is the best example I have in my library. Please excuse my annoying, racist and childish friends, they do not represent my opinions...

I cycle through several H-FOV's from 32 to 175(note Source only uses the values for 4:3) showing the difference in the environment and the way characters are perceived.
http://www.youtube.com/watch?v=3tZAAhUBy38&hd=1

Fisheye

Posted: 12 Jan 2012, 06:56
by Rescator
This is somewhat related:

http://widescreengamingforum.com/forum/14122/fisheye-none-or-optional

Although I call it the fisheye effect.

Ideally games could have two FOV related options:

FOV: 0 to 180 (just as an example, and where zero would be: Flat/No-fisheye)
Zoom: -30 to +90 (just an example, 0 would mean you are sitting with your nose at the screen, or alternatively some form of 3D visor like the new Sony one)

Reason I call it zoom with I guess is a misnomer, is that it is most likely what a regular user might consider it being.
Bringing the action closer/father from the screen. (or compensating for how close/far they are to the virtual window into the world).

I guess the FOV could be called Curvature % or Sideview % or something else and with a different range of numbers of course. As FOV is still a mystery to casual gamers.

When Mass Effect 3 arrives I may just decide to waste a day or so tweaking stuff and see if I can get a "Window into the 3D world" view. (provided they haven't hardcoded stuff in the Unreal engine version they are using that is).

Ideally the games/software, the drivers and the OS should all support this.
So that you can configure/set the OS, telling it that you are sitting x amount of distance from the display and have this info available through the drivers to the game etc.
Why bother with the drivers at all? Well things like Eyefinity or Surround Vision could let you config the angle of screen 1 and 3 in a 3 screen setup.
And depending on the settings display 1 and 3 could either have curvature/sideview/fisheye while the center (display 2) would be flat view,
or even better each display having it's own frustum (effectively 3 game engine camera views).

Maybe a new forum section is needed, call it Advanced Frustum or something where fisheye/FOV/curvature/display angles and multiple frustum support or info can be posted (and move this thread and my thread there for starters maybe).
I'm not sure if such a section would fit under "Multi-Monitor Gaming" or "Stereoscopic 3D Gaming", maybe under "Hardware & Software Support" at first?
If it was multi-monitor only then the choice would be easy, but since the type of screens/displays could be anything from a normal monitor to projectors (which may be the wall type or up to 360 degree type) to 1 or more monitors with physically curved screens, or 3 flat screens where they are lined up at angles and so on.

Personally I tend to sit rather close (good thing we all got LCD rather than CRT's these days huh?) maybe around 30cm (been a while since last I measured).
I would love a flat Frustum/no fisheye effect in games. The darn stretched left/right sides makes me dizzy/gives me a headache. With an ability to adjust the "zoom" or distance correction I could adjust so that 1x1 inch square in-game lying on the floor would look just like a 1x1 inch square laying on my own floor behind the monitor if you catch my drift.

If you look at the first post in my thread you'll see two images, the first is one we are very familiar with, and those of you with 3 screens even more so.
Then look at the 2nd image, the de-fishify is faked and you can see this clearly if you look at the grating on the floor to the left, in this case it was re-sized in 3 parts since the stretching begins at the center pixels.
I can not recall if any game engines do it another way, whereby they start stretching at some point further towards the edges instead (which would be less nauseating IMO).

Looking at the two images I realize that a game engine could render a slightly wider view than the display area then perhaps apply some nifty shader to de-fishify logarithmically (thus effectively reversing the fisheye effect from the center pixels to the edge, this would also have the unintended bonus of horizontal anti-aliasing to some extent).
Then again rendering a wider view may just cost as much processing power as using 3 "flat" frustums would use.

A very interesting article

Posted: 12 Jan 2012, 07:12
by Rescator
A very interesting article http://paulbourke.net/papers/cgat09b/ iDome

I take it the OP has never

Posted: 21 Jan 2012, 08:10
by BHawthorne
I take it the OP has never visited the projector subforum.

I understand your point - But

Posted: 04 Jul 2012, 23:21
by Jademalo
I understand your point - But you are missing out some key facts. The main reason for this distortion is Image Projection. Video games use a Rectilinear projection. Rectilinear is favored because it preserves straight lines. However, the disadvantage of this is that the maximum FoV is <180. If you want a correct projection of 180 degrees or more, you need to use Cylindrical. the problem with this though, is that straight lines are not preserved.
Now, when an image is taken, its taken from a single point. The lens is curved, so the correct way to map this would be onto a curved surface. My best example of this is google street view. If you look at google street view, all of the straight lines are straight. However, if you took the image and laid it out flat, all of the lines would be curved. Here is an example of a (technically) correctly projected image.
http://upload.wikimedia.org/wikipedia/commons/5/5f/Chicago_Downtown_Panorama.jpg
If you were to glue that to a curved surface, the lines would be straight. The problem is, were trying to map a curved image onto a flat screen. Since a projection is required, people use rectilinear since it keeps the straight lines and looks more "realistic"
However, there is obviously distortion.

http://www.qwerty.com/Environmental_Imaging/Index.html - This is a good read. A certain distance down, it shows an image with a cylindrical projection and then as a virtual movable image. If you want to get really confused, the virtual movable image is projected back in rectilinear =p
http://www.tawbaware.com/projections.htm - The first two images on this page are examples of an image using Rectilinear and Cylindrical projection. As you can see, the top one has distortion in order to preserve straight lines.

Now, with triple monitors, the distortion is obviously because of the rectilinear projection, preserving the straight lines. There are two solutions that solve this.

1. Use 3 virtual cameras on a single point. The problem is we're trying to project an image from one camera onto three different surfaces. Since with rectilinear the further out on one camera you get the more distortion, each minotor is only slightly distorted on each edge. If this is calibrated with the angle your monitors are at, this will have the benefit of the horizon being a straight line, rather than the horizon with angled multiple monitors being skewed slightly. It is only skewed in your perception though (Think holding a straight ruler behind your monitors, it slowly goes towards the top of the side monitors depending on their angle to the middle. This doesn't matter if all 3 monitors are flat.), and not in a screenshot. If you think of your monitors as windows, if you angle one now then the horizon isn't straight through those windows. On the technical level of the computer though, it is.
Here is a video - It turns out iRacing supports exactly this: http://www.youtube.com/watch?v=_C9qsrUniOg

2. Curved monitor with a Cylindrical Projection. Think google maps - everything is right. If this is calibrated properly at the angle of view of yourself to the monitor, the virtual world is rendered perfectly - and all straight lines are straight relative to your perception and the "real" world. However, this has to be curved on both axis, to essentially create a sphere with your head as the middle point. (EDIT: Looks like this exists - NTHUSIM)


This is incredibly confusing to type, but if you do a bit of research it makes sense. What you are proposing on the OP is going to be far too claustrophobic on the vertical axis.
I did a crapton of reading when I wanted to find out why the distortion happens, so any questions fire them at me and I'll try to explain.

(If this has been posted before, disregard me. I wanted to clear it in my head a bit too =])