PDA

View Full Version : Fullscreen on multiple monitors



vreal
01-13-2012, 09:09 AM
I am trying to make a window fullscreen over two monitors using GLFW. When I use GLFW_FULLSCREEN the window fills only one screen. So far I have read GLFW does not support multiple screen fullscreen.
Does anybody know any library which supports this?
Even freeGLUT says it takes "only" the screen which is most covered by the window.

Simon Arbon
01-23-2012, 05:22 PM
If both monitors are being driven by the one GPU, or by two GPU's from the same manufacturer, then the driver control panel may have an option to combine the two monitors so that they appear as a single monitor to OpenGL, so the fullscreen display is spread across both.

Otherwise you will need to create a separate fullscreen window on each monitor and tweak the projection matrices so that the adjacent edge of both the view frustrums are parallel with each other.
Unfortunately GLFW seems to only support a single window, so you would either have to do without GLFW and use WGL/GLX directly, or create a child process to run the second monitor with a separate GLFW instance.

If the monitors are being driven by GPU's from different manufacturers and you are using windows then you have no choice, the two monitors must be run from separate processes.

thokra
01-25-2012, 02:14 AM
What's the usage scenario? Why do you need a fullscreen window to span to displays?

vreal
01-25-2012, 05:27 AM
I am creating a stereo program which uses side by side projection. The beamer accepts input from two monitors and projects them on the top of each other.
So I need fullscreen over both monitors otherwise I have only mono projection (only one screen).

thokra
01-25-2012, 05:34 AM
I'm not fully aware of the context creation in this case, but aren't you supposed to be able to associate a context with a specific screen?

If so, create one context per mono projection and associate it with the corresponding screen. However, I've never tried that so you'd have to check the WGL or GLX API doc.

Dark Photon
01-25-2012, 06:09 AM
I am creating a stereo program which uses side by side projection. The beamer accepts input from two monitors and projects them on the top of each other.
So I need fullscreen over both monitors otherwise I have only mono projection (only one screen).
Under UNIX/Linux or Windows? (i.e. GLX or WGL?) Which GPU vendor?

Under GLX on nVidia (probably AMD too), this is fairly straightforward, and you have a number of options: You can create separate X screens for each monitor and then create a fullscreen window on each X screen, you can do that and stack Xinerama on top to bind them into one virtual X screen and then create 2 half-width windows, or you can use nVidia Twinview alone to create one large X screen and similarly create 2 half-width windows. No doubt there are other options as well. The first approach should work well regardless of whether you have the same or different GPUs driving each display. nvidia-xconfig provides a fast way to get things configured.

To read about this, google "Configuring Multiple X Screens on One Card", "Configuring GLX in Xinerama", and "Configuring TwinView" and the relevant help section in the nVidia driver README should pop right up.

vreal
01-25-2012, 08:33 AM
I use Windows 7, the graphics card vendor is nVidia.