Multiple views and screens

Hi !
I am developping an application to do various vision tests.
To do it, I am using MFC for the interface and OpenGL for the display.
I must:

  • display the test on a screen
  • display the test in a small window into the interface
    How can I tell to OpenGL (or to something else) where to display the various windows ?
    I have a Matrox G400 dual display.

And, in addition, I will need to replace the screen by stereoscopic glasses that need a view for each eye ! Can Windows 98 handle 3 displays ? (interface, left eye, right eye)

Thanks.

Originally posted by Gemelli David:
[b]Hi !
I am developping an application to do various vision tests.
To do it, I am using MFC for the interface and OpenGL for the display.
I must:

  • display the test on a screen
  • display the test in a small window into the interface
    How can I tell to OpenGL (or to something else) where to display the various windows ?
    I have a Matrox G400 dual display.

And, in addition, I will need to replace the screen by stereoscopic glasses that need a view for each eye ! Can Windows 98 handle 3 displays ? (interface, left eye, right eye)

Thanks.[/b]

Hi, did you fix the prob?
Hillxy

I achieved to use two windows with an opengl context each…the problem I had after that was to use the same textures in each view…
I found the function to do this:
wglShareLists
it solves nearly everything !!

for the 3 displays (1 screen and 2 stereoscopic views), the problem is still unsolved.

            David

Originally posted by Gemelli David:
[b]
for the 3 displays (1 screen and 2 stereoscopic views), the problem is still unsolved.

            David[/b]

Hi, if i understand your problem correctly, I think glViewport may be your solution!

If I understand, you mean:
on the video output 1: my GUI with one opengl view
on the video output 2: the stereo with ONE opengl view but TWO viewports ?

it sounds to be a very good idea to me…I’ll have to try this. Thanks.

           David

Hi,

I think you have to change the the glLookat
in order to get real stereo effect. only changing glviewport can not get stereo view.

BUT, that is not the point. the point is
if you wish to combine a hardware ogl accel
card with a second video card, the accel
card will lose its ability of acceleration.

I tried several combinations. Still only the
primary monitor could get accel with all other monitor(or glasses) port being disabled. So I get back to some proffessional graphics card from 3dLabs or Appian.

Any good idea to save money?

Hillxy


Rather than start a new topic, I thought I’d add to this one (seeing as though its the newest topic that appeared in my wglShareLists search):-

I need to create/destroy/create multiple windows, with multiple renderering contexts (win32).

Question:-
I’m thinking of having an invisible dummy window (say with a client area of 1x1) with a gl context, which holds all display lists and textures, while all other visible windows ‘share’ the dummy windows display lists and textures using wglShareLists().
Would this impact performance more than having all other windows share the first visible windows resources?

The reason I want to do it this way is that I want to be able to create and destroy all windows randomly at runtime, but keeping track of the context that ‘owns’ the resources would be a pain. That’s why I’m thinking an invisible window would be a neat solution.
Would this have any negative effects? Considering the dummy window/context will never be made current (except when creating textures/display lists) or be rendered to…

Also, in the MSDN spec for wglShareLists() it says that NO display lists should exist in the window that is sharing its resources at the time of the wglShareLists() call - does this still hold true?
And does this also apply to textures? (ie. no textures can exist in the sharing context before it shares its resources with another context).

[This message has been edited by knackered (edited 03-13-2002).]

+for the multiple monitors if your running a dual display card like yr matrox card or a Radeon 8500 then OpenGL should work ok across them using 2 cards it defualts to software mode which isnt the best

+performance wise all i can say is test it
because there fast and theres fast enough for the require application.