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?
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:
(source: equalizergraphics.com)
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With