Create an account

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
FoV config for spanning multiple monitors

Hi everyone,

I've successfully got Xonotic running across three screens (under Linux with two non-SLI nVidia cards in Xinerama mode) and all is well.

The two screens either side of the central one however, don't really show that much extra of the playing field. Using the default FoV of 90 I can only really see what's in front of me. This would be fine if all three screens were arranged in a straight line and I was a long way away. Because I'm up close and the outer screens are on an angle (making a sort of a semicircle shape) it doesn't really work with the default FoV.

Increasing the FoV just makes the middle screen look weird and the outer screens are too stretched. Decreasing the FoV seems to give a better result, but I'm still only really seeing what's in front of me.

Is there some option that can make the outer screens show more of what's on the left and right instead? Logic would suggest I need to increase the FoV but somehow stretch it out so instead of the field mostly appearing on the middle screen, more of it appears on the outer two.

Any suggestions?

I have an idea, but that includes coding (as I don’t think the game provides that functionality)
My idea is to use multiple ‘cameras’, one per screen.
The game already uses a similar aproach for the analglyph stereo 3D rendering.
I’ve done a quick sketch to visualize it:
That’s the stereo 3D camera setup(I don’t know if it is cross-eyed or not):
[Image: camera_3D.png]
You would need a setup like this:
[Image: camera_multimon.png]

I think this is a simple way to implement it that doesn’t need that much coding skills:
The game already supports stereo 3D.
  • So copy the code from the 3D renderer into a new renderer(it should be possible to just copy&paste everything and then rename your copy)
  • Test if your new renderer works.
  • modify the camera setup: add a third camera, move them all to the same spot and rotate the first and third so that it matches the picture above
  • force your ‘3D renderer’ to output the 3 rendered frames in side-by-side mode
That should be all, but I don’t know if it will look natural or just weird. But it should be at least better than the fisheye effect you get with one camera.
To get a decent output you may need MUCH tweaking.

Stereo 3d is slow because it renders everything twice. Here, everything is seen from the same point with no overlap, so why bother splitting the rendering in three? You only want a different projection method, that requires more thinking and less code.

Interesting idea. Your 1/2/3 picture is exactly what I'm after (and may even allow gaps between each screen where the bezels are, something which is possible but problematic with my current wide-desktop approach - when you locate the monitors with a gap in between, those pixels are rendered then lost. Plus you can't then move the mouse between screens, so you have to use the keyboard to operate the Xonotic UI.)

But it's also a good point that since the camera/origin is in the same place, there should be a way of adjusting the camera settings to get the intended wide-angle view. Unfortunately the 'more thinking' bit is where I'm stuck :-)

That's because you have no experience in 3d rendering. And neither do I. Have a talk with LordHavoc on in #darkplaces, he's the engine coder. Be aware that the engine itself has nothing to do with xonotic. I don't think he takes feature requests but he's open to discussion at least.

(04-16-2012, 02:55 PM)Mr. Bougo Wrote: Stereo 3d is slow because it renders everything twice. Here, everything is seen from the same point with no overlap, so why bother splitting the rendering in three? You only want a different projection method, that requires more thinking and less code.

the renderer uses quite effective caching methods(I’ve read it somewhere here on the forums).
I’ve done a quick test using stormkeep as a map and one single position:
normal: about 120fps
side-by-side 3D: about 120fps
red/cyan 3D: about 90fps
rendering performance shouldn’t be the problem(as you have enough computing power to use 3 monitors)

I just mentioned the 3D renderer because I think that turning it into a ‘3-monitor-renderer’ by modifying existing code should be easier than creating a complete new attempt from scratch.
But yeah, another projection should be better, as I think that the 3-camera-aproach will look weird.

Oh well, sorry about that, I thought it was much worse than that :O

Really I'd suggest talking about this with an engine coder on IRC. divVerent might have some insight to share about this too.

The problem described (=1/2/3 picture) is know as panorama stitching in computer vision.
Transformations to be applied on the left and right images are some homographies depending on the physical tilt angles of the left and right monitors.

Possibly Related Threads…
Thread Author Replies Views Last Post
  The what-s and why-s of my Xonotic config Antibody 3 3,621 03-14-2023, 10:36 PM
Last Post: [CISN] Neigdoig
Shocked Robust keys config for Jeff vehicles server ZyX 1 3,572 07-10-2017, 09:24 AM
Last Post: martin-t
  Multiple announcer soundfiles for the same event Zilor 0 2,825 04-24-2016, 08:26 AM
Last Post: Zilor
  Best settings config for instagib voice 8 18,288 08-29-2012, 07:24 AM
Last Post: Lee_Stricklin
  Dual Monitors - Forward and Backward Looking izmty 4 8,533 05-27-2012, 11:39 AM
Last Post: rocknroll237
  Config help K__ 3 5,754 05-01-2012, 11:56 AM
Last Post: asyyy
  UT2k4 HUD config MirceaKitsune 8 10,484 11-02-2010, 07:42 AM
Last Post: MirceaKitsune

Forum Jump:

Users browsing this thread:
1 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-