Triplehead FOV with DCS World 1.2.4

I did some work on getting triple-head going properly in DCS: World 1.2.4 (7680×1440 with three 2560×1440 monitors).  I’ve tested that everything seems to work fine with the A-10C Module.  Also looks fine with the F-15 (so probably everything in Flaming Cliffs 3), and the Ka-50 Black Shark. The Ka-50 viewpoint is a little buggy and will try and zoom out a LONG way when you enter, so just press * to zoom in until it looks normal.

A-10C Cockpit
A-10C in DCS World 1.2.4
Cockpit of a F-15C
F-15C in DCS world 1.2.4
Ka-50 Cockpit in DCS World 1.4.2
Ka-50 in DCS World 1.2.4

In order to set up, you’ll need to do the following;

  • Apply the diff file from here to your DCS World setup.  It’ll go and change a couple of files in minor ways.  You can also get a ZIP of these files already changed suitable for DCS World 1.2.4.12913.167 from this link:  TripleheadFOV-1.2.4.12913.zip
  • Copy autoexec.cfg from here into your C:\Users\<username>\Saved Games\DCS\Config folder.
  • Copy SnapViews.lua from here into your C:\Users\<username>\Saved Games\DCS\Config folder.

The diff allows use of customized snap views, and sets the default external viewing angle to 120 degrees (maths as to why this is right can be found at this link).  It also hardcodes the screen width for some UI elements to 2560×1440, and pushes the radio chatter windows across one screen so that they render on the middle screen and not on the right.  And lastly, it modifies Server.lua to allow the widened FOV for the Ka-50.

The autoexec.cfg sets the maximum fps to 60, to avoid issues that tend to happen with microstutters on SLI.  The SnapViews.lua contains recalculated viewing angles for all default snap views such that they are corrected for triple-head FOV, as per my prior post on the topic.

Enjoy.

14 thoughts on “Triplehead FOV with DCS World 1.2.4”

  1. I’m not sure how long ago you posted this, but I’m interested in trying to fix the FOV in all of my DCS mods. I’m not sure what I need to do to apply the diff to my DCS World setup. Everything else is taken care of, but it’s not clear to me how to apply the diff.

    Thanks in advance,

    Jim

    1. You’ll need a tool such as Subversion, or a Windows port of PATCH in order to apply the diff. If you don’t have that, I’ve gone and put together a ZIP which I’ll attach to the original blog post which has the files in it. You can extract those into your DCS World install (make backups first!) to get my setup.

      NOTE! You may need to edit some of those files to fix up places where I’ve hardcoded a screen resolution of 2560×1440 for the middle monitor, in case you have a different resolution setup.

      Good luck!

      1. Thanks! That did the trick! Now, is there a way to adjust the up/down/forward/back seat position? I feel like I’m a bit too close to the instrument panel. If there is a way in game, I might be missing it.

        In any case, the FOV is MUCH, MUCH better now. Thanks again!

        Jim

        1. There is a way to adjust the default head position, but unfortunately I don’t know how 🙁 You should be able to find something about it though.

          However, the vertical position I can help with, although it’s not permanent. Just to the left and above the fuel control panel on the forward left console is a switch labelled “UP/DOWN”. That raises and lowers the seat 🙂

          Glad to have helped in any case!

    1. 60. Note that I haven’t yet adjusted my triplehead diffs to work with the newest version of DCS World, since I’m not playing it right now.

      Better graphics cards than mine (eg, 780’s and so-on) would permit higher texture resolutions and other features. The 690 has more than enough raw horsepower to push 60fps at that resolution, the issue is VRAM due to the high FOV.

  2. Hello Mr Young, I have a Commercial Bell UH 1 Simulator, using DCS, I have a hughe Problem, to get the hight of my FoV corrected. Would you be so Kind, and contact me via email, mabe you know a solution. All efforts will be honoured!

    1. Hi there,

      Assuming that your simulator is actually running in DCS World and it’s the UH-1 module, the technique should be the same. The only difference will be that in your SnapViews.lua, you’ll be editing the FOV for the UH-1H model instead of the A-10C.

      There’s a few other minor changes and things that don’t need doing any more with new versions of DCS in the diff. But, the principle is still the same – change the view angle limits, enable snap views, make the external view angle default larger, force the mission editor screen width to only one monitor, adjust the radio commands dialog boundaries, and then custom the default snapviews so they have the right FOV.

      I haven’t played DCS in a while, so I’m not patched up, hence why I don’t have a current patch for you 🙁

  3. Hey,
    I think his problem is the same as mine, what he means is the fisheye effect if you zoom out with the increased FOV; you set the maximum FOV higher, but how does it look if you go higher on you setup with the FOV than the current viewangle? Lets say, 200° instead of 124? If I do this on my multiscreen setup, everything is pushed together on the middle screen like a mercator projection. Do you have any idea how to achieve such high FOVs? 🙁
    Fly safe

    1. Yes, that’s possible. However, when you try to project large FOVs onto the flat surface that’s a screen, you can’t help but get a “fisheye” effect. I selected the FOV as calculated so that the center monitor retains a normal FOV, but this still results in some fisheye on the left and right monitors.

      If you use some of the other options in DCS, such as “3 monitor mode”, the distortion disappears, but this projection assumes that the left and right monitors are at 90 degrees from the center monitor, resulting in the horizon having a big bend in it. This works great for multiple projector setups in a simulator room, but it doesn’t work properly for triplehead (which is a single surface, largely on the same side as the user).

  4. Hey,
    how should this work for a multi projector setup? I mean, you have the bends in it which are pointing downwards, no? And normally you would use warping software so you have one consistent surface on a big screen, so then you project this picture and have still the bends in the horizon, no? (I assume a sphere or cylindrical projection)
    So you also don’t have an idea how to get rid of the fisheye? :/ Could one perhaps disable the “bending” of the multiple monitors? I looked in the monitor setup definition lua for tripple monitors, but this also only takes the screen resoloution and position the screen on some kind of virtual grid, if i remember correctly – there where some coordinates like left screen -1, middle 0, right screen 1… did you find out where the positioning is done?
    Fly safe

    1. Ok, an example. Imagine you’re using 3-monitor mode, and you have three projectors. Projector LEFT, Projector CENTER, Projector RIGHT. Your ingame camera is horizontally level with the horizon, but pitched downwards. In that orientation, the center projector has the horizon flat horizontally, but higher than the centerline of the monitor. The left projector has the horizon tilted so the high end is on the right edge and the low end on the left. The right projector has the horizon tilted so the horizon is high on the left edge and low on the right. If you have these projectors oriented so they form 3 sides of a box, this looks completely normal to you. But if you have the three monitors in a single flat plane in front of you, it looks horrible because the horizon is no longer “flat” from your eye’s perspective.

      Now, in the case of you having a single extremely wide surface in front of you (ie, 3 monitors), it’s not possible to get rid of the fisheye effect because no matter what you’re doing, you’re projecting a curved view onto a flat screen. You can reduce the effect by reducing the FOV, but that kind of defeats the point.

  5. Hello Mr Young, yes this is exact the Problems, that we are fighting.
    We have now 2 thoughts, that might bring the solution, but don´t know, if they are possible:
    1. Option: extend the correct FoV to the left and right Monitor. Is there any Chance, not to Limit this on the Center Monitor?
    2.Option: use 3 Monitor Setup, and remove the bend in left and right Monitor.

    What are your thoughts, do you hava any solution in mind? I appreciate your help, and your very quick Responses on the last two questions!

    1. Option 1:

      It’s not really possible. Picture a display which is composed of nine monitors in a 3×3 array. Everything would look “normal” with the correct aspect ratios and at a normal FOV, right? (since it’s basically a really, really large standard monitor). Now, turn off the top three and the bottom three monitors. The FOV remains normal and no distortion occurs, BUT you lose the top and bottom third of the display. In other words, it becomes like you’ve held up a box to your face with a slit cut in it – the vertical FOV is suddenly reduced severely while the horizontal FOV is conserved at 60 degrees (or whatever it was). This renders to your eyes like you’re “zoomed in”.

      Instead, what happens is that 2d surround does a rectilinear projection of the 3d field onto a 2d surface. This necessarily results in distortion towards the edges, but gives you a “normal” vertical FOV and in particularly keeps lines straight and has minimal distortion at the center of the image.

      Notably, you can see this effect at normal FOVs with a single monitor! Get a fixed object in your viewpoint in the center of the screen and measure it with a ruler. Now rotate to put that object at the edges of the screen and measure it again. The two measurements are different! It’s just that rectilinear projection is less notable at low FOVs.

      Option 2:

      You can’t remove the ‘bend’, since it’s the result of the orientation of the virtual cameras that the monitors are displaying. If you picture the three cameras (right, left and center) being attached to a jig so they don’t move relative to each other, and you then pitch the assembly downwards, the left camera has to be tilted down to its right, and the right camera has to be tilted down to its left. This necessarily results in the finished view having the horizon take different paths on each image.

      If you have the three monitors set up like three sides of a box though, everything looks fine (because the outputs are in the same orientation as the cameras were). But if you put the three monitors in a line so they make a flat plane, it all looks wrong.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.