Page 1 of 1

Multi-View Cockpit

Posted: Fri Jun 30, 2006 5:52 am
by capt.Pirk
So, we have foward,port,starboard and aft views.
Has anyone got all four working simultaneously yet, across multiple monitors?
I wonder who has the best Oolite setup, enclosed multi-screen cabinet ??

Posted: Fri Jun 30, 2006 12:19 pm
by dajt
I have to admit to having thought about this too. But then I think about how hard it was to get one view showing in OpenGL and decide that maybe it's a job for someone else!

Perhaps each SDL surface does have its own OpenGL context... then it might just be a matter of calling the drawing routine 3 or 4 times. Slow the framerate down a touch I imagine.

Posted: Fri Jun 30, 2006 1:00 pm
by winston
I would imagine most multi-monitor setups are merely a very very wide desktop. Instead of having three OpenGL contexts, just have a very very wide window and a wider angle of view (so instead of the normal ~90 degree view angle on the front view all the time, calculate the view angle from the width of the desktop, so a 3-monitor wide desktop comes out at around 270 degrees angle of view).

I'm not knowledgeable enough about OpenGL though to know whether this is trivially possible or whether it'd involve lots of interesting tricks to accomplish. I'm just guessing it will be further towards the 'easy' end of the spectrum compared to three separate contexts showing a different view in each.

Of course, the alternate approach is to do what many flight simmers do - a dedicated computer for each view - that way, you won't have a single computer and video card having to do all the processing for all the views. Of course, Oolite would then need the appropriate netcode (but it'd be simpler netcode than what Spooky is hoping to do with multiplayer)

Posted: Fri Jun 30, 2006 5:32 pm
by JensAyton
A single context on different monitors would be less efficient than a single context, require the monitors to have the same resolution and would be problematic on screens handled by different graphics cards (possible on OS X, but slower; probably not possible on other systems). Also, the way projection works in OpenGL, you can at most asymtotically approach 180°; a 270° field of view is not possible without doing a more complex projection in software.

Adapting the current Oolite code to render to multiple contexts at once seems... hairy. The more modular code I’ve been working on could probably do it more easily, only adapting Oolite to it has also proven quite hairy. :-)

Posted: Fri Jun 30, 2006 5:35 pm
by Draco_Caeles
One thing I have noticed is that the view doesn't change depending on what ship you're flying. Apart from the pitch/roll and the speed, there's no real 'cue'... For instance, flying a Sidewinder up to a station should be more 'thrilling' than flying up in an Anaconda...

Rrrf. I suspect I'm not making sense, but I know what I mean. No matter what the ship, the view is always the same. (Damn those holographic cameras.) And... maybe it should be a little different for different sizes of ship.

Posted: Fri Jun 30, 2006 5:39 pm
by JensAyton
Well… you can set a custom HUD/cockpit for each ship, and set the view points so that part of the ship is visible through the window. Beyond that, well, what’s outside won’t change for the benefit of your ship. :-)

Posted: Fri Jun 30, 2006 6:07 pm
by capt.Pirk
winston wrote:
Of course, the alternate approach is to do what many flight simmers do - a dedicated computer for each view - that way, you won't have a single computer and video card having to do all the processing for all the views. Of course, Oolite would then need the appropriate netcode (but it'd be simpler netcode than what Spooky is hoping to do with multiplayer)
Yes, exactly. I'm no coder myself, but this is the approach that is probably the simplist solution. The only perceivable downside is of course 4x hardware items.
I also have a OXbox (OldXbox) and this is exactly what can be done with 4x 'Forza Motorsports' and 4 x Xbox consoles.

Posted: Wed Jul 05, 2006 12:02 am
by CWolf
Draco_Caeles wrote:
One thing I have noticed is that the view doesn't change depending on what ship you're flying. Apart from the pitch/roll and the speed, there's no real 'cue'... For instance, flying a Sidewinder up to a station should be more 'thrilling' than flying up in an Anaconda...

Rrrf. I suspect I'm not making sense, but I know what I mean. No matter what the ship, the view is always the same. (Damn those holographic cameras.) And... maybe it should be a little different for different sizes of ship.
Maybe it would be possible to change the scale of everything depending on the player ship, making everything look bigger in a Sidewinder and smaller in a Boa...

Posted: Wed Jul 05, 2006 12:20 pm
by JensAyton
CWolf wrote:
Maybe it would be possible to change the scale of everything depending on the player ship, making everything look bigger in a Sidewinder and smaller in a Boa...
Er… no? That really doesn’t make any sense.

Posted: Thu Jul 06, 2006 5:08 am
by Wolfwood
CWolf wrote:
Maybe it would be possible to change the scale of everything depending on the player ship, making everything look bigger in a Sidewinder and smaller in a Boa...
I know what you mean, but that would not be the answer. Houses in my neigbourhood seem to stay the same size whether I walk by them or drive my car (which is a lot bigger than I am).

But I understand that you'd like to feel more "naked" in an Sidewinder than in a Boa? Perhaps this could be achieved with different engine sounds for different sized ships... Or perhaps we need to go VR with the whole thing before this can be achieved...