The online racing simulator
FOV - Sense of Speed
(148 posts, started )
Juls, this is interesting. The curvilinear projection looks unnatural to me though, but I guess I would need to see it in motion. Wouldn't rendering multiple viewports be the more realistic solution?

3 viewports with 3 projectors and a curved screen would be a neat setup. Something like this without the distortion:

http://drivezone.nl

... actually that's probably a bad example since that looks way larger than life
#52 - Juls
The curvilinear projection is simply a way to get rid of distorsion on a viewport, in order to allow people to use large FOV.

Images look a bit strange, because curvilinear projection extends your field of view for close-range objects. Without curvilinear projection, 90 degrees FOV looks often not enough. With it, 90 degrees FOV looks too much. I did few videos using filters to stretch the picture and obtain something similar, and I can tell you everything moves in a more natural way when you turn, and this is easier to take turns because they do not change shape as they come from the side of the screen to the center.
Note that the pictures in this document show 120 degrees horizontal FOV which is really a lot (60 degrees vertical FOV). 90 degrees horizontal FOV with curvilinear projection would be really nice I suppose.

Using three viewports will give three pictures that do not join together, because the sides are distorted. Objects will accelerate and stretch as they go from one display to another, and slow down when they get closer from a viewport center. But it should be less strong than with a single viewport.

Using three viewports with curvilinear projection will give three pictures that almost join togeter. To get pictures that fully match together, equirectangular projection should be used...this is almost the same vertex shader, but instead of adding distance camera-vertex to Z, it replaces Z with distance camera-vertex.
neat looks quite good and is apparently possible to do even with lfs' aged dx8 engine
#54 - JJ72
hmmm would be nice if someone can hack a quite mock up even if it's an eternal programe.
Doing such distortion on vertex level would most likely cause quite bad "artifacts" whenever there is a large polygon visible near the screen edges. It might look ok in a static screenshot but in motion I would imagine that the polygon edges jittering back and forth as the vertexes move would not look very good. Though of course a "solution" would be to add detail to all models, split all flat surfaces to multiple smaller surfaces, etc. but even then it would not eliminate the problem entirely and performance would surely take a hit.
#56 - Juls
Oh yes, the vertex approach will cause many problems. I did not see that coming.
For example, the track will remain flat instead of being nicely curved, because it is made of large triangle I suppose, but the wheels of the next car will be properly placed on the curve that the track should follow if it was made of small triangles.

As a result, cars will sink in the track.

The best idea to get a nice, immersive eyelens effect, remains the first one: map the frame rendered by the game on a spherically stretched grid. It will not produce artefacts, and should be fast too. I did such an experiement applying a spherical filter on a movie recorded with fraps. It was really easier to see mirrors, and to corner...less distorsion<-> better idea of position in space during turns.



Kegetys do you remember I tried to talk about this on your forum as your software softth already uses some similar techniques to correct viewport distorsion?
#57 - DeMS
Quote from Electrik Kar :I suggested not too long ago a bit of a 'whooosh' sound as you drove past close-by stationary objects. Bit of a corny suggestion but I sometimes wonder what it would be like to have that sound inside LFS.

That's called the 'Doppler effect', which is the effect that distorts the sound of an incoming or outgoing source of sound depending on the relative position of the one that hears the sound towards the source of it, thus changing the speed at which the sound waves reach you, so it sounds higher or lower depending on whether the object is coming near to you or going away.

Easily checked whenever you see an ambulance coming. Before it reaches where you are, the siren will sound on a higher frequency than the actual sound, and when it goes away, it will sound on lower frequency, so it will sound like you applied some extra bass.

This effect would actually help into immersion a great deal, indeed.


About Juls idea :
As long as it is feasible, it would be awesome to have it put into practice, as it would yield a better sense of speed, speed awareness and thus more immersion. What I would suggest, though, would be to skip dividing screen into what percentage would be morphed, but rather apply one FOV to the windshield and another, higher FOV level to the side screens (and the back one), so the feeling would be the same, but it would not be distorted if you have the option to look at sides when cornering/turning your wheel.

Oh, and sorry for going off topic :]

PD: A quick intro on what 'Doppler effect' actually is can be easily found on Wikipedia, here.
+1 For some kind of adjustable fisheye lens thing great idea!


Sorry for offtopic, but the "woosh" effect has to do with nearby objects reflecting (your own) car sound back to you, not just doppler. So as I understand it, it is an echo sort of.
#59 - DeMS
Quote from Not Sure :+1 For some kind of adjustable fisheye lens thing great idea!


Sorry for offtopic, but the "woosh" effect has to do with nearby objects reflecting (your own) car sound back to you, not just doppler. So as I understand it, it is an echo sort of.

You are right, but it's on the same basis of the wave-model related to sound. You won't hear the reflections of your sound towards an object you're going to because your ear (human, I expect ) can hear up to a certain degree, and most of the times you won't hear the reflections when you're going away because of the pitch also (amongst the truth of human nature: your brain does not process every information being given by the senses, only the relevant ones to survival/information, so a sound of danger will be processed after learning that this sound is associated to something that could harm you), but when you're level (or close to level) to the object, the speed distortion of sound 'is' almost non-existant for a moment, thus it's when you have more chances of hearing it.

Just test it with your car, you will see what I mean :]

PD: Sorry for the slightly off-topic way this seems to be going, but I think it's related to the first statement on the post, which has in common the willingness of having better in-game immersion.
Quote from Not Sure :+1 For some kind of adjustable fisheye lens thing great idea!

FOV distortion problem? I have an idea, let's put toilet water on it!

hah.. I love that movie. I didn't realize such a stupid movie would make it to Finland
#61 - Juls
Yes I use offsets, but it does not solve any perspective distorsion problem
Currently, increasing FOV, tilting view down, and moving view forward and upward gives the best sense of speed for me.
But view on the sides is still distorted and it looks weird when I turn (trees, sky, road, other cars stretch as they reach screen limit).
Quote from vixer :Your right, but the stretches are even visible on standard 90 FOV.
I think that most Sense of Speed benefits would be given by a fix to the different refresh cycles of the engines .

huh? wouldn't that just make it "smoother"?

Hey Juls, I google'd around a bit and found this neat article on howstuffworks.com

http://electronics.howstuffworks.com/elumens.htm

I'd especially look at page 3.

Edit:
Now that I think about - 'stitching' the left angled, center, and right angled viewports together and just projecting on a normal curved screen (not a hemispherical dome) would be fine for LFS. What's above and below you doesn't add to the sense of speed.
#64 - CSU1
:goldfish:-1 for rendering fish artifacts.

+1 for three monitors.

+1 for the Whoosh! sound as you pass a near object.

I can see the headlines now, "Live For Speed adopts the fish-eye method to further immense their drivers!"

LOL! :cyclops:

It is a clever addition that some could use, but it has absolutally nothing to do with the development of a race sim, come on, fish-eye?

If you are that into the sim and feel the sense of immersion is letting you down, take Bob's advice and add three monitors to your rig, i bet you'll find it's a whole lot better for this "sense of speed" you look for.



I have'nt got LFS atm, what is the setting called that speeds up the edges of the screen called again?

E:



This is T1 @ Blackwood with Fish-eyes enabled ROFL!!!!
Quote from Secondaries :I think this would be a great idea. If it's possible, however, I think the effect should be gradual and not simply set. Let the FOV be standard while sitting still, and as you go faster a sort of "tunnel" vision sets in.

Agreed. I think that it would drive me nuts if it was like that when I was sitting still but definitely less noticeable when I'm thinking about approaching a corner rather than my fisheye view.

+lots
The problem with 3 monitors right now is distortion. You're still rendering one flat view onto 3 monitors.

Screw image stitching, if we could just render multiple view ports to multiple monitors, it would be awesome.

Here's a crappy photo of what it would look like. I took a screenshot with 45° FOV. Next, I rotated the camera 45° and took another screenshot. I then set them as my desktop wallpaper and rotated the left monitor ~45°. I only have 2 monitors so unfortunately I cannot show the full effect.

If I had a third monitor, this would give you a 135° field of view with no (?) distortion. With large enough monitors, I think this would be good enough without spending crazy money on a dome projection system.


Update:
See the photoshop image (post #77) - it looks pretty close to what I see on my monitors in. I think it looks amazing! ... if I must say so myself.
Attached images
ss.jpg
#67 - dev
Quote from Technique :The problem with 3 monitors right now is distortion. You're still rendering one flat view onto 3 monitors.

Screw image stitching, if we could just render multiple view ports to multiple monitors, it would be awesome.

Here's a crappy photo of what it would look like. I took a screenshot with 45° FOV. Next, I rotated the camera 45° and took another screenshot. I then set them as my desktop wallpaper and rotated the left monitor ~45°. I only have 2 monitors so unfortunately I cannot show the full effect.

If I had a third monitor, this would give you a 135° field of view with no (?) distortion. With large enough monitors, I think this would be good enough without spending crazy money on a dome projection system.

Now take a screenshot of that, so people can actually see that the original image is distorted...
-
(Technique) DELETED by Technique : Proper 135 deg triplehead2go image posted by shotglass
-
(Technique) DELETED by Technique : post 79 is better :)
135 on a triplehead would look something like this
Attached images
135.JPG
Thanks, I'm guessing you have a 3-monitor setup? I didn't think it was possible to take a screenshot at that aspect ratio otherwise.
Alright, that photo really doesn't do it justice. So here's a photoshop that is much closer to what it looks like on my screen. I think if you view this image in full size (not zoomed out) on a high res monitor you'll understand why even though the mirrors are angled they look perfectly natural. Because you actually have to turn your head to the left to see them, and when you do, they're at the correct angle.

If you have a 3 monitor setup and you spread this image across all 3 it will not look correct because this image already has the perspective of left and right monitors taken into account. If you want to see what it looks like use the images in the zip file. Note: I have a special program (UltraMon) which allows me to use different wallpapers for each monitor. You may have to open them in some image viewer and fullscreen them on each one. Make sure you tilt your left and right monitors ~45 degrees and your eyes are aligned vertically with the center of the monitors.

Warning: very large image (my monitors are 1600x1200 each). Oh yeah the screenshots were taken with both AA and AF off - which explains why it probably has jaggies.

Mods: This will be the final spam message from me.
Attached images
fbm_photoshop.jpg
Attached files
fbm_images.zip - 1.8 MB - 259 views
#72 - Juls
The links you gave (spherical screen or fish-eye effect on a flat screen) all do the same: using one or several (distorted) views from the game they build a new view with a spherical projection.

And this is what you do too with three views. In the post above, you took three 45 degrees views, stretch a bit the side views and put them on three monitors. Same process, just different in the details.


This result can in fact be approximated with a cylindrical distorsion applied in one step on a 135 degrees FOV view. The main advantage is that this solution can be applied on a single monitor too, allowing to display large FOV with a natural aspect.


@CSU1: Perspective used in games is a simplified perspective that consider everything on the same plane than viewer is at distance zero...that's why it is distorted. Directx still uses this because it avoids artefacts, but it is a bad approximation of real human view...and get worse when FOV increase.

Spherical distorsion...or fish-eye as you want, give the following advantages:
- what you see on display moves like a spherical, surrounding display-> more immersion
- objects keep the same aspect ratio as they come closer from screen limits-> turns do not change shape and it is more natural to view where apex is->more realistic
- larger FOV without "tunnel effect" -> better spatial awareness, more realistic.

This is more a question of realistic display than sense-of-speed.

Anyway, sooner or later it will be time to renew the way things are displayed on screen....
I only used Photoshop's Transform - Perspective so you guys can see that when the monitors are angled towards the user at 45 degrees everything lines up nicely.

There doesn't appear to be any need to distort the left and right views at all. If you have 3 monitors you can try it out yourself. In the photo I took, those are just raw screenshots from LFS with no modification.

Here's 3 raw screenshots (no modifications) that I applied to three 4:3 polygons in a 3D modeler. The left and right rectangles were angled pricely 45 degrees towards the user.
Attached images
lfs_render.jpg
Quote from vixer :Technique I think u should turn ur FOV a bit down. Or not ?

And skidmarks ? Lots of them and cracks and other litle stuff ?

Hi Vixer, when the left and center viewports are viewed on my 2 monitors with the left monitor angled 45 degrees the FOV looks very realistic. My eyes are centered on the center monitor and I have to turn my head to see the left monitor (I'm sitting a little more than a 1' away from my center monitor). It doesn't look correct when you zoom out is shown in your picture. Also, you may have misunderstood my post. My center monitor FOV is only 45 degrees. However, the improvement suggestion is to allow multiple viewports. Thus, the left and right monitors have a FOV of 45 degrees as well bringing the total combined FOV to 135. This is different than what we currently have: 1 viewport with 135 degree FOV. See shotglass's post (#74) to see what it would look like with 1 viewport. Remember, humans can see ~180 degrees. Since 3 monitors can't provide a full wrap around 180 view, I think 135 is a fairly reasonable FOV.

As far as those graphical glitches, ask the devs! You can see this yourself. Load up a track with FBM, set your FOV to 45 degrees and rotate the camera about the vertical axis -45 or +45 degrees.

As far as skidmarks what do you mean? We already have skidmarks in the game.
I think we're just going to have to accept the fact that the only way to portray anything close to the actual speed on a tiny monitor, is going to be with some sort of fugly distortion. The only true solution would be a 5 monitor semi-circle setup...

...if you would all kindly donate, I'll go ahead and try it out and see whether or not 5 screens make a big enough difference. Cash preferred!

FOV - Sense of Speed
(148 posts, started )
FGED GREDG RDFGDR GSFDG