I’m making specs for a new OFW project and wanted advices in this setup.
Mainly I would like to spread content in six fullhd screens and wanted to know which kinds of problems I have to think before actually define the equipment.
I suppose I will have performance issues regarding OpenGL contexts or texture sizes.
I know this is a little bit LAME but what about this different setups:
— transmitting one huge syphon image to Madmapper and using it to spread image in different screens.
I suppose this solution is OK for contexts but not OK for texture sizes.
— drawing six FBOs with different camera positions to simulate one entire image and transmitting FBOs images via syphon to six different programs that displays in each screen.
Any other solution, like ofxFenster or future OFw screen handling?
in the master branch you can already have multiple windows, each with it’s own update/draw cycle. They can communicate through shared_ptr, and you won’t need neither addons nor syphon (unless you want to pass the images to other softwares)
https://github.com/claudiocabral/multipleWindows here you go!
This is a very basic example, it creates two windows and changes the color of one window through the other.
There must always be a master window if you want them to communicate because of header includes, so if you want two windows that interchange information you’d need a separate thread (window or windowless)
I’ve just finished a similar setup, but with 4 HD outputs.
We ended up using BlackMagic Mini Monitors, thunderbolt -> SDI
I had to hack Kyles ofxBlackMagic to enable output, with the help of fresla in this thread.
My ofxBlackMagic is here. It’s barebones though and there’s no example at the moment sorry. Crunching this thing right now!
In my app we’re taking 4 x syphon outputs from a Unity3D app, and oF is doing some basic warping / masking and then outputting to the Mini Monitors. It’s working great, the best part is OS X doesn’t see them as monitors out, so when there’s no output they’re just black (no annoying Mac desktop). It’s the only way I could work out how to get output to long SDI cable runs (4 projectors over 4 levels of the building).
Adding another that this should be fine, echoing @laserpilot’s comments in needing active DVI adapters (Startech MDP2DVIS for example), and I also used ofxSecondWindow in my app rather than the new multi window code in the openFrameworks/master branch on GitHub. I ran a single context on the ofxSecondWindow and haven’t seen any issues with frame sync, tearing, etc. across the displays.
You shouldn’t have issues with texture sizes either…the limit for FirePros in the Mac Pro should be 16384x16384, so even if your display arrangement is 6x1 you’re at 1920 * 6 = 11520px wide. I’m not sure how this works if you’re using MSAA though. I was prototyping with output to 5 screens (ofxSecondWindow was 9600x1080) with another 9600x1080 texture getting sent to Syphon/MadMapper to project onto another 5 screens. All good.
You will not be able to use the 6 DisplayPort outputs AND the HDMI port though. The HDMI port and the bottom two DisplayPort ports (DisplayPorts?) are on the same bus – you can only use two of these three at the same time.
There’s lots of good info here:
And some related info in these as well:
That first article mentions that you need a USB hub if you want to run six displays, but that’s not entirely true. If you use active DisplayPort -> DVI adapters which require USB power (like the Apple Dual-link Displayport adapters) then you’ll need a hub since there are only four USB ports on the Mac Pro. If you use single-link DVI adapters which don’t require USB power (like the Startech ones I mentioned) then there are no extra USB plugs and no need for a hub.