Ideal Multiview Screen Setup Theory

Discussion in 'General Discussion' started by blakboks, Sep 1, 2012.

  1. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    I decided to start this thread as a sort of 'tutorial' on 3D rendering and reprojection. I've seen a lot of people around that don't seem to understand how the two are related, and end up spending thousands of dollars on a 3-screen rig that isn't properly set up and has some distortions in the perspective or isn't using each pixel to its max.

    The Goal:
    Ok, so our goal with setting up a proper display system is to essentially have a window into the virtual world that offers perfect perspective from a given point of view (POV). We do this by working with screen size, distance from viewer, placement/orientation of screens, and proper FOV settings and rendering methods in-game.

    Note: For the sake of argument I'm just going to refer to the display devices as "screens", since it really doesn't matter if it's projected or direct-view. For this particular post, I'm also going to assume no gaps, overlapping images, or bezels, since for this particular argument they're irrelevant. Also, for this example all of the screens I show are a total aspect ratio of 5.333:1 (16:9 x 3 wide).

    The 3 Types of Projections:
    In order to display the image properly without any distortion in perspective, it is imperative to match the display setup with the rendering setup (in-game). Below I show below 3 different types of rendering methods: 3 Cameras, Panoramic render (curvilinear projection), and 1 Camera set by vFOV (hFOV is determined by aspect ratio). What I'm showing is how the display setup should be to match each type of rendering setup.

    So, how did I come up with these particular configurations? Because, I know that rFactor only uses one of these rendering methods by default (and I don't think you can change it). Based on some of the images I've seen on these forums (i.e. the Curved Screen DIY thread), I'm pretty sure they use the 3-camera method (although, based on what people have said in other threads, it sounds like some people think they use the 1-camera based on vFOV method). The curved screen is there because that's what a lot of people think of as the 'holy grail' of setups. This thread is partially in response to the Curved Screen DIY thread, anyway, but goes beyond the scope of that, IMO.

    Edit: Actually, after having a second look at the images on the forum I'm starting to agree that rF2 actually does use a single camera rendering setup.

    On to the pictures!!!

    This is the scene that I rendered along with the rendering camera's relative position in the scene (a bit confusing to look at by itself, I'll admit it was thrown together a bit hastily, but it allows us to see the differences and distortions in perspective).

    NOTE: The camera in this first picture defines the virtual "in-game" camera. In the following pictures, the camera in the image is supposed to be the player's POV. Yeah, it's confusing. I'll see about changing that in future slides.
    [​IMG]

    3 Screens - 3 Cameras (40° angle between each screen):
    [​IMG]

    Panorama (Curved Screen) (120° Total Curvature):
    [​IMG]

    3 Screens - 1 Camera @ 23.141° vFOV (which yields a hFOV of only 95.032°):
    [​IMG]

    This shows all of them at once and viewed from the same position.
    [​IMG]

    These are our ideal setups--which render perfect results. Next post will be about what happens when you try to project one type of rendering (3 cameras, panorama, or 1 camera) onto the wrong screen setup (with videos!!).

    View attachment 3811 View attachment 3813 View attachment 3815 View attachment 3812 View attachment 3814
     
    Last edited by a moderator: Sep 1, 2012
    1 person likes this.
  2. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    Ok, so far so good, right? Still with me? Everything looks fine so far, so where do we run into problems?

    We run into problems when the user tries to take a rendering from one projection type, and put it on another screen setup configuration. If rF2 actually does use the single camera projection method, then from what I've seen, every single 3-screen setup is incorrect--because EVERY ONE rotates the side screens in toward the player--resulting in perspective distortions on those screens. Whereas, like we see above in the first post (and below in the last video), the proper screen layout for a single camera projection rendering method is 3 coplanar (i.e. flat) screens.

    So, what does it look like when you try to use the single camera rendering on either of the other display setups?

    Like this:

    NOTE: All of the renderings you see below are shown as-if the viewer was actually sitting in the virtual environment--to show just how off some of the distortions can be from using the wrong combination. The virtual environment is the grayed-out lines in the videos. The idea is to get the lines on the screens (the black/white area) to match up with the lines in the virtual environment.

    3-Camera System:

    The top rendering again shows how it looks from the users POV when the screen setup matches the rendering setup. The bottom-right video is the one we're most interested in. It shows what happens if you take a single-camera rendering (which is what I'm starting to believe rF2 uses) and slap it on a 3-screens setup with the outer screens angled in toward the viewer. These screens happen to be angled in at 40° from the center screen. The distortion increases the more the outer screens are angled inwards.

    Panoramic (Curved Screen) System:

    Again, the top rendering shows how a curved-screen setup should look. The bottom-right rendering again shows what happens if the output is taken directly from RF2 and slapped onto a curved-screen setup. You can clearly see that the amount of distortion is enormous, even though if you only look at the screen (without the environment in the BG) there doesn't seem to be any abrupt change in perspective. The 3-camera rendering setup matches the curved-screen much better, despite a few distortions (i.e. more distortion closer to the edge of each camera, and less distortion near the center of each camera rendering (actually, none at the very center)).

    Proper Setups:
    Click Here To View Video (Sorry, unfortunately the forums only allow 2 videos)
    I just wanted to include this video to once again show how each setup 'should' look to the viewer if the screen and rendering setups are matched.

    So, what have we learned from all of this? I hope you take away that with rF2, without doing anything to the rendered image (i.e. no image warping software) the only proper screen layout is 3 screens with 0° angle between them.

    There's a couple of downsides to doing a layout like this, though:
    a.) it requires a lot of space, width-wise
    b.) given the same vFOV as the other rendering setups, you get less hFOV--with the above setups, the hFOV of the 1camera method only fills about 95° of your horizontal field of view; the other methods both fill 120°.
    c.) it fills less of your vision--this kind of goes in hand with the previous point--the further from the center, the screen height is optically less.
    ...and so-on.

    I think my next (last?) post will just be about curved screens--getting into screen warping software and the like.
     
    Last edited by a moderator: Sep 3, 2012
  3. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    Reserved---maybe...
     
  4. Esteve Rueda

    Esteve Rueda Registered

    Joined:
    Jan 14, 2012
    Messages:
    562
    Likes Received:
    7
    I can't the images :confused:, someone or you can chek It? and good post! :D
     
  5. buddhatree

    buddhatree Registered

    Joined:
    Dec 22, 2011
    Messages:
    1,700
    Likes Received:
    249
    I can't see the images either.
     
  6. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    Ok, images should work again now. Tried something new there...obviously it didn't work. :)
     
  7. Zephyr RU

    Zephyr RU Registered

    Joined:
    Apr 2, 2012
    Messages:
    85
    Likes Received:
    9
    nice report.
    rFactor PRO can do that little bit.
    but rFactor2 cant. but we have one hope. that is plugin. about 2 month ago, ISI add function to get render surface(mip map texture) for that.
    then, may be re-shape screen image for projector.

    for example. this is screen image of rFactor PRO. re-shape already before showing on screen.
    http://blog-imgs-53.fc2.com/c/a/r/carsimulator/IMG_3477.jpg

    this is projectors
    http://blog-imgs-53.fc2.com/c/a/r/carsimulator/IMG_3481.jpg

    my detail report is here. rFactor PRO in Tokyo, Japan
    http://carsimulator.blog.fc2.com/blog-category-4.html
     
  8. Ricknau

    Ricknau Registered

    Joined:
    Nov 12, 2011
    Messages:
    778
    Likes Received:
    39
    Zepher, looks like a nice report but my Japanese is a little rusty!

    Blacboks, looking forward to more. It's somethinhg I've done a lot of thinking about. Be nice to see it laid out analytically.

    My bottom line question will be... Does any method cost more than another in efficiency, i.e., FPS? As a die hard 3 screener I wish more games would be rendered for such.
     
    Last edited by a moderator: Sep 3, 2012
  9. BlaringFiddle5

    BlaringFiddle5 Registered

    Joined:
    Sep 3, 2012
    Messages:
    427
    Likes Received:
    2
    so ... question ... if I have the three screens, does that mean I need to arrange them at 40 degrees for rFactor 2? Trying to skip lots of trial and error :)

    I have 3 1080p (1920x1080) Acer monitors... (that is 16x9 I believe?)

    I don't really care how much i feel like i'm actually in the cockpit, but more about having walls not suddenly angled on the outside monitors etc...

    The three screens are so that I can freaking see people beside me without suddenly shifting my view :)
     
  10. Ricknau

    Ricknau Registered

    Joined:
    Nov 12, 2011
    Messages:
    778
    Likes Received:
    39
    There are already indepth threads that talk about setting up monitors and FOV. Angle of screens will make no differnce in what you will see or not see to the side. It can effect whether the angles of walls look correct. For realism put them at about 40 degrees and use multiview. Set your FOV to about 25 degrees. Multiview will drop your FPS by nearly 1/2.

    To see more cars to your side, up your FOV at the expense of having walls to your side look wrong.

    I believe blakboks is going to discuss here the different ways the game creaters can render the scene to make it look correct without stretching or having wrong perspective. This is something handled (not very efficiently) by multiview.
     
    Last edited by a moderator: Sep 3, 2012
  11. MaXyM

    MaXyM Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,774
    Likes Received:
    29
    in rF/rF2 you have to setup monitors to get not distorted result.
    When you start game with multiview enabled (in config), side monitors view is moved to 45* (I think). Then when you seat watching the scene, you have to see lines drawn on all 3 monitors not distorted. in-cockpit view is good test, because you can see dashboard through 2 monitors or some door-line.

    I set my monitors this way. It is about 45*, but I have not measured it.
     
  12. GTClub_wajdi

    GTClub_wajdi Registered

    Joined:
    Feb 28, 2012
    Messages:
    3,239
    Likes Received:
    572
    https://www.youtube.com/watch?v=rri19PqJ3qU&feature=youtube_gdata_player

    The best angle between the 3 monitors is 55-60° because it covers all the 180° of your view camp!
    The angle of my triple screen is almost 55° and it's important to be very close to the central monitor(my eyes are distante about 80cm from the center of the monitor!
    The camera in rF2 is oriented too low,it's like the driver is looking down(toward the dashboard) instead stright and that sucks because it makes the triple screen in rF2 not much realistic like in iRacing. is there any possibility to modificied the angle of the driver camera?
     
  13. Gearjammer

    Gearjammer Registered

    Joined:
    Jun 11, 2012
    Messages:
    1,823
    Likes Received:
    24
    GTClub, you can edit a line in the plr file to change the angle of the camera. The line you are looking for is "Seat Pitch="1.00000" // Cockpit camera pitch orientation (degrees)" The number on yours by default I believe is -4.00000 and the more you move to the positive and above the positive the higher you will be looking. I chose 1.00000 as that way I can still see my gauges while I am driving without having to hit something to look down.

    @BlaringFiddle5: The vFOV you need to set is based on your screen height and the distance from your eyes if you are going for correct FOV. If you don't care about being correct, then set to what ever you want that feels good. There is a calculator that can be used to determine the correct FOV based on your dimensions, but if you know a little bit about geometry, you can figure it out :)
     
  14. GTClub_wajdi

    GTClub_wajdi Registered

    Joined:
    Feb 28, 2012
    Messages:
    3,239
    Likes Received:
    572
    Great Gearjammer:)
     
  15. BlaringFiddle5

    BlaringFiddle5 Registered

    Joined:
    Sep 3, 2012
    Messages:
    427
    Likes Received:
    2
    I guess what I was getting at was how to have walls etc straight across all monitors without actually moving monitors. Whether view feels ultra realistic is secondary to me. Form follows function. It seems like moving monitors is only available current solution. Will do that and reset up iRacing as I can adjust things in there.
     
  16. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    I haven't gotten into analyzing the efficiency of each method. I actually don't have a 3-screen setup, myself (though, I would in a heartbeat if I had the space and the $$), so I cannot actually do tests. From everything I've read, though, doing a panoramic transform is very difficult. Either the geometry can be be 'warped' before rendering, or the rendered image can be warped, and there's issues with both. I think that realtime panoramic rendering is still very much a specialized/experimental technology. I think it will be some time (probably not until GPUs/graphics engines switch over to raytracing rendering) until we see this done well for the average consumer.

    As far as the 3-camera setup: yes, I believe this is a bit less efficient than the 1-camera setup. Which is also probably why ISI chose to stick with the 1-camera setup. I'm sure that someone who is more familiar with shader writing (like K Szczech ;) ) could better explain why 3 cameras is slower (or correct me if I'm wrong about that).

    Well, as I show above, you "should" have the screens at 0° :). If I'm wrong and rF2 does actually use 3-cameras (or a separate camera for each screen, depending on how many screens you have), then you would want to first figure out your hFOV--which is set according to your monitor's screen width and your viewing distance ( hFOV = 2( arctan(1/2*width/distance) ) ) (you get arctan using the MS scientific calculator (View->Scientific) by first calculating your .5*width/distance, then click Inv, then click tan^-1). (You can use that same formula, substituting 'height' for 'width' to calculate your vFOV--which is what you set in-game) Conveniently, this angle is the same angle you should set your monitors at. Since I was giving a hypothetical example where I could use any values I wanted, I chose it so the hFOV per screen was 40° (which yielded me 23.141 vFOV).

    Like I mention earlier in this post, if rF2 actually uses 3-cameras, then your monitor angle should be the same as your hFOV. Perhaps I can create a quick/simple post to show why.

    iRacing uses the multi-camera setup to render the extra screens. So, that tutorial is valid only for iRacing (and other software that uses multi-camera setups). The angle of the screens is dependent on your hFOV per screen--which is dependent on the screen size and distance from the viewer. If each screen fills 55-60° of your view, then yes, each screen should be rotated by that amount (3*60° = 180°).
     
    Last edited by a moderator: Sep 3, 2012
  17. GTClub_wajdi

    GTClub_wajdi Registered

    Joined:
    Feb 28, 2012
    Messages:
    3,239
    Likes Received:
    572
    I have it rotated by 55° and I find it very realistic and immersive!with 40° it is like have all the inside of the car(windows included) di fronte of you!
     
  18. MaXyM

    MaXyM Registered

    Joined:
    Oct 5, 2010
    Messages:
    1,774
    Likes Received:
    29
    Whould like to see the math.
    If angle between cameras is fixed (I think 45* in case of rf/rf2) then monitors should be set to 45*. IMO.
    But as I wrote... the best is to set it for not distorted look. Use straight lines (ie dashboard or door one) as reference. There is nothing better than that. Especially that it is a bit difficult to measure angle between monitors. And of course it is when we are trying to match fixed, hard-coded angle. If game provides possibility to change we may setup monitors in the first row, then setup the game.
     
    Last edited by a moderator: Sep 3, 2012
  19. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    I'll let the computer do the math--I'll focus on the visuals (which is the end result, anyway) :).
    [​IMG]
    You can see that if the in-game cameras are angled at 45°, but your hFOV (by way of your screen size and distance from viewer) stays the same (in this particular case, 40° per screen), then you would get gaps. Well, it wouldn't be rendered as a gap, it'd just look like a discontinuity. (I'll attach a video to this post once I have it uploaded to show what it looks like)

    I think a good way to determine if you have your side monitors correct is to drive near a bridge or something that yields a straight horizontal line from the middle screen. Position yourself such that the bridge is spanning at least 2 monitors (all three would be best), but may be difficult if your screen height is limited. Then take a straight-edge, like a ruler, hold it out in front of you (but not up against the monitors), and line it up using your center monitor. Then check to see if that line visually continues along the straight-edge. If it does, then you've got a proper setup--if it doesn't, then you need to rotate the outer screens to get it to line up. Let me know if this doesn't make sense. The point is to get the lines to flow together from your point of view.


    If anyone has a 3-screen setup and wouldn't mind taking some photos of your setup from exactly where your head would be (right between your eyes to be more specific) so we can have a look, I'd really appreciate it. The parts we're most interested in is right where the two screens meet.

    View attachment 3845
     
    Last edited by a moderator: Sep 3, 2012
  20. blakboks

    blakboks Registered

    Joined:
    Oct 20, 2010
    Messages:
    843
    Likes Received:
    30
    Gimme some specs on your setup. What's your viewing distance, screen height, aspect ratio, and in-game FOV set to?
     

Share This Page