On Thu, 16 Sep 1999, Bob Beretta wrote:

> That's a fact.  On a Mac, the return values of all glGet* functions may
> change when the window is moved between screens.  If the app cares, it
> must take steps to find the return values from all drivers associated
> with that context.  We provide a routine to allow the app to
> explicitely switch between drivers without actually moving the window.
> Thus, the app can step through all the drivers durings its context
> initialization and do whatever glGet* operations it must.  In the case
> of extension strings, the app must either take the intersection of the
> extension strings from all drivers, or be able to switch paths on the
> fly in response to a driver change.

I strongly object to that behavior since it will cause existing
(perfectly correct) OpenGL programs to break when the user moves
the window.

You should either prohibit windows from being moved between drivers
unless they call some extension function to allow it - or have the
underlying OpenGL do the ugly business for finding the worst case
of all glGet operations for programs that don't call an extension
function to say that they'll take care of it.

I doubt that this implementation of yours could even be counted
as a legal OpenGL implementation. If glGet says I can have
such-and-such number of lights/clip-planes/whatever then I
can certainly have that number for the life of the program
(the spec doesn't say otherwise)...if the user goes and
drags my window off onto another screen and that number
gets smaller, OpenGL broke it's promise to me - and that's
an invalid implementation.

Yuk!  Tell me it ain't so!

Steve Baker                (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc.      (817)619-2466 (Fax)
Work: [EMAIL PROTECTED]      http://www.hti.com
Home: [EMAIL PROTECTED] http://web2.airmail.net/sjbaker1

Reply via email to