Archived

This topic is now archived and is closed to further replies.

Creating a window on a second monitor

This topic is 5798 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Say I''m running two grapics card in my machine. I want to be able to create OpenGL windows on both cards, To test whether they support accelerated pixel formats, and then let the user decide which card/monitor setup to use. How the hell do I do this?

Share this post


Link to post
Share on other sites
Yes, you can run two cards at once, I know for sure on win98 because I''ve running it right now and I''d guess win2000/Me/XP would support it too. As for how to support it with openGL, I have no idea, but I''d like to know too.

Share this post


Link to post
Share on other sites
This explains it better - from my post on OpenGL.org

quote:

In a nutshell, here's what I'm stuck on.

In a situation where a user has two monitors attached to the system, how do I create two fullscreen windows with valid OpenGL rendering contexts?

CASE 1: DUAL HEAD PRIMARY + SECONDARY MONITORS
I'm guessing that in the case of a dual head graphics card with both monitors attached to the desktop this is simply a case of finding the virtual desktop coordinates for each monitor, creating a window within each of these coordinates (so that no window overlaps both monitors) and then just change the display settings to Fullscreen etc. That all seems logical enough. You'd then have one OpenGL driver responsible for both rendering contexts.

CASE 2: DUAL HEAD PRIMARY + INDEPENDANT MONITOR
In another situation, again with a dual head card, say one of the monitors is NOT attached to the desktop. This is known as an independant display. How would I go about creating a window on the second monitor here? Again the same driver would be responsible for rendering. No problem there, once the window is created!

CASE 3: TWO VIDEO CARDS BY DIFFERENT MANUFACTURES
This is the worst situation. It doesn't matter in this case whether or not both monitors are attached to the desktop or not - the methods would be the same as the first two cases. But the problem is with the drivers. Would each seperate driver be responsible for running each fullscreen window? Maybe I'm being dump here, but I can see how an app can link to each vendor specfic OpenGL driver. Is this scenario even possible?

All I want to do is use a second monitor if one exists to display extra info. I'm sure that the first case must be pretty simple to implement. It's the second two that I'm expecting will be problematic.

BTW - I want full hardware acceleration on both monitors, not software.

I'd really appreciate as much info on this as possible. espeacially on creating a window in an idepentant monitor setup. Unfortuanetly I don't have access to two accelerated cards very often, so I'm going to be coding 'blind' for most of the time.

Thanks a lot



Edited by - Shag on January 30, 2002 9:16:34 PM

Share this post


Link to post
Share on other sites
That answer case 1. what about the others? especially cards from different vendors when the second display ISN''T attached to the desktop?

Share this post


Link to post
Share on other sites
Read up here ...

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/monitor_53sj.asp

This basically says that you can do this.

However, on an independant monitor you loose the window management functions. Can someone explain exactly what that means?

Share this post


Link to post
Share on other sites
A couple of quotes ...

Microsoft online MSDN
quote:

In a multiple monitor environment, only one graphics device can be VGA compatible. This is a limitation of computer hardware which requires that only one device respond to any hardware address. Because the VGA hardware compatibility standard requires specific hardware addresses, only one VGA graphics device can be present in a machine and only this device can physically respond to VGA addresses. Thus, applications that require going full screen will only run on the particular device that supports VGA hardware compatibility.


OpelGL FAQ
quote:

Many OpenGL implementations support multiple monitor configurations. These come in a variety of different flavors:

One display is hardware accelerated, the rest are not.
All heads are accelerated as long as OpenGL windows do not span display boundaries.
As above, with support for OpenGL windows that span multiple displays.
All of the above, with support for stereo.
All of the above, with support for heterogeneous graphics cards vendors.

blah ...

Microsoft operating systems allow two OpenGL devices in a single system, but only the primary device is hardware accelerated. To work around this issue, many vendors have provided their own multiple monitor solutions, so that hardware acceleration is available on both displays.


Aren't these two quotes 'potentially' contradictory?

Which vendors support fullscreen hardware acceleration in a multicard setup?

Has anyone got an answer?

PS - sorry for being persistent - but I really need something definative! Like I said - I don't have access to a dual head card very often - so I'm gonna be coding blind!

Edited by - Shag on January 31, 2002 2:20:15 PM

Share this post


Link to post
Share on other sites