Eyefinity with Ogre

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
Post Reply
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Eyefinity with Ogre

Post by Kojack »

Here's some tests I did with dual 22" monitors (I'm getting a third one soon) on a Radeon 5870 with Eyefinity enabled, giving 3360x1050 resolution.

As long as the aspect ratio is set correctly, Ogre runs fine with eyefinity. When the usual extended desktop mode for multiple monitors is enabled, Ogre sees each monitor as a separate display device. When eyefinity is on, Ogre only sees a single display device.

Here's Ogre running with a simple scene. I played with the viewport settings (dimensions of 0,0,1.5,1) to fake the effect of 3 monitors without having the third, so the current right hand screen is really acting as the middle one.
Image

The problem with eyefinity though is that standard rendering using a projection matrix just doesn't work that well at extreme wide angles. You get distortions on the edges like this:
Image Image
As long as you look at the centre monitor and use the sides for peripheral vision, it's not too bad. This is how all current games will run with eyefinity.

I prefer a more dedicated solution though. Here's Ogre using one camera per monitor with the side cameras facing away. With monitors positioned so they curve around you a bit, it gives undistorted views to either side (if you had 3 monitors).
Image Image Image
That's a bit exaggerated though, effectively 288x90 degree view. It would look much better in games to simulate the real field of view of the monitors as if they were windows.

Another issue: bezels. Eyefinity currently has no bezel control, which would hide pixels behind the bezels to make the scene more realistic. But with my multiple camera method in ogre, I've got it working fine.

Oh, and now I REALLY wish Ogre had a DX11 renderer, the demo of what Hull and Domain shaders can do is amazing (better quality than parallax occlusion or cone step mapping with none of the flaws, but as fast as bare normal mapping).
User avatar
syd
Gnome
Posts: 362
Joined: Thu May 01, 2008 1:55 am
Location: Paris, France

Re: Eyefinity with Ogre

Post by syd »

nice stuff!
the two camera solution looks unatural too, seems like some work needs to be done on matrix transformations...
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: Eyefinity with Ogre

Post by Kojack »

Yep, 2 camera is still not perfect, because each monitor is showing a 144 x 90 degree fov, which is wrong based on where a normal person is sitting. It should be more like 64 x 40 degrees per monitor (just tested, looks much better aligned).
A compositor is needed to get it more realistic, unwrapping the multiple camera views into a cylindrical panorama.
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Re: Eyefinity with Ogre

Post by Vectrex »

excellent news. We'll be needing a multi monitor solution for our stuff.
Is the multi camera setup slower than one big display? I'm guessing 3d scenes are accelerated mostly for one display.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: Eyefinity with Ogre

Post by Kojack »

Effectively everything is rendered 3 times for 3 monitors, because each has a camera looking in a different direction. So it's going to be slower than the normal way (stretch the field of view to hell).

Ultimately I want to use it with 3 (or more when the 6 monitor card comes out) Showwx laser projectors. :)
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: Eyefinity with Ogre

Post by Kojack »

Here's a slightly improved version of my multi-camera setup, to give a more natural curved display rather than each monitor having a fixed angle.
Image Image

Both have slightly over 180 degrees horizontal fov. I used this with 2 monitor eyefinity (that's why it's 3360x1050), I've still got my third monitor in it's box on the floor but I can't find a good priced display port active adapter in australia (only one so far is the HP version, and it costs $250). 2 monitor is really useless, except for testing.
Anyway, the pics above are using 15 ogre cameras rendering to 15 viewports across the screen. Of course that makes it 15 times slower, but this card is damn fast. :)
The curved view should match what you would use with a 180 cylindrical projection screen.

In games having 15 cameras rendering stuff at once isn't that efficient obviously. What I'll try next is rendering to a cube map using 3 cameras (vertical fov is less than 90 degrees, so the top, bottom and back faces aren't needed), then use a shader to unwrap to a cylindrical projection.
reptor
Ogre Magi
Posts: 1120
Joined: Wed Nov 15, 2006 7:41 pm
Location: Finland
x 5

Re: Eyefinity with Ogre

Post by reptor »

Sorry for the off-topic, but do you have TrackIR there?
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: Eyefinity with Ogre

Post by Kojack »

Yep, trackir 4 pro.
Nice little device, although not much use for general gaming. Luckily I'm a flightsim and Armed Assault fan, so it comes in handy.
I still wish Natural Point weren't so paranoid about their sdk, it's like they don't want anybody to support their hardware. You have to sign an nda and send it to them just to get the lib, because they apparently filled the header file with proprietary info of some kind. All they really needed to do was just expose a function which returns 6 floats for head position, and some housekeeping stuff like turning the camera and spotlight on/off.
(I think I've ranted about them on here before. It just annoys me what I was going to have to do to support trackir at my college. I was going to have to create a binary only wrapper to hide trackir and expose only the head tracking data, no students or other staff members would be permitted to see the trackir .h or .lib. In newer versions they even use encryption on the data to stop programs like freetrack (webcam and wiimote head tracking) and glovepie from sending data to trackir compatible games)
reptor
Ogre Magi
Posts: 1120
Joined: Wed Nov 15, 2006 7:41 pm
Location: Finland
x 5

Re: Eyefinity with Ogre

Post by reptor »

I had Armed Assault in mind in fact :) I played the newest beta patch (1.17) this weekend. No problems here with that.


And yeah, I'm also aware of that situation with the TrackIR. If it would be more open I would want to implement support for it in my game project. Now as it seems they are being very protective, I don't think I will bother. But hey, it's not like my projects will ever become anything big which would increase Natural Point's revenue significantly... let's put it this way - if they would open it up then perhaps I would become more interested and buy the hardware for myself. The current situation is it's unlikely I will buy it.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Re: Eyefinity with Ogre

Post by Kojack »

Apparently Eagle Dynamics (makers of LOMAC and DCS Black Shark) were going to add support for other head tracking systems like Freetrack (open source head tracking using wiimote or webcams), but Natural Point told them to remove it, so they did. ED also had to add the trackir dll to the starforce protection scheme DCS used so freetrack users couldn't patch it to allow freetrack to pretend to be a trackir camera and feed data to the dll.

This problem doesn't exist for joysticks, gamepads, wheels, or even 6d0f 3d mice like the space navigator (very open compared to natural point).
I've heard of several devs ignoring trackir support because of how paranoid and secretive they are.

Open it up! I've got hundreds of students a year I can show it off to, who might buy it!

Ok, rant off. :)
Post Reply