What tools, APIs, libraries are out there that I could use to create a system capable of rendering hi-res 3D scenes in real time in a display made of 4, 8, 9, 16, etc screens/projectors? For a setup with 8 projectors I should go for clustered solutions or should I stay with a single node featuring 4 dual headed video cards? Does someone have any experience with that?
-
You can use Xinerama or XRandR when working with X11/Xorg. But to quote Wikipedia on Xinerama:
In most implementations, OpenGL (3D) direct-rendering only works on one of the screens. Windows that should show 3D graphics on other screens tend to just appear black. This is most commonly seen with 3D screen savers, which show on one of the screens and black on the others. (The Solaris SPARC OpenGL implementation allows direct rendering to all screens in Xinerama mode, as does the nvidia driver when both monitors are on the same video card.)
I suggest you read the Wikipedia article first.
-
Equalizer is probably one of the better solutions you'll find.
It's specifically designed for splitting apart renders and distributing them across display's.
Description:
Equalizer allows the user to scale rendering performance, visual quality and display size. An Equalizer-based application runs unmodified on any visualization system, from a simple workstation to large scale graphics clusters, multi-GPU workstations and Virtual Reality installations.
Example Usage of Equalizer:

I've worked on projects trying to do similar things without Equalizer, and I can honestly say it was pretty bad. We only got it barely working. After finding equalizer later, I can't imagine how much easier it would have been with such a tool.
Eduard - Gabriel Munteanu : He was mainly asking for multi-headed *display*, not for parallel processing / multi-GPU solutions.Brian Gianforcaro : He mentioned clustered solutions, just giving the man options... and if you've looked at Equalizer it scales from one computer up to a large cluster. With great multi-display support. -
I use one of these nifty TripleHead2Go's at home on my gaming rig to drive 3 displays from one video card (even in Vista). Two displays with a bezel in the middle is kinda a bummer for gaming.

I found out about them because we were looking at using several of them at work for driving a system of ours that has about 9 displays. I think for that we ended up going with a system with 5 PCI-X slots and a dual-head card in each. If you have trouble with getting that many PCI slots on a motherboard, there are PCI-X bus expansion systems avilable.
Brian Gianforcaro : Supported Operating Systems from the site: Microsoft® Windows® 20003, Windows XP (32/64bit), Windows Vista™ (32/64bit), Windows Server 2003/2008 (32/64bit), Mac® OS X v10.4 and Mac OX v10.5 LeopardT.E.D. : My "(even in Vista)" comment wasn't about it's support. What I was referring to is the fact that dual-headed video cards can't do "span" mode in Vista, due to the thrice damned MPAA-inspired "security" Microsoft put in the video driver stack. That's why Vista gamers need one of these babies. -
I know that the pyglet OpenGL wrapper (http://www.pyglet.org) for python has multiplatform multimonitor support; you might want to look at their source code and figure out how it is implemented.
0 comments:
Post a Comment