In your message of 10 September 1999 you write:
> Yes - of course. I understand.
>
> So without a context argument:
>
> main()
> {
> for ( i = 0 ; i < num_contexts ; i++ )
> {
> SelectContext ( i ) ;
> rect = glGetProcAddressEXT("glRectf");
> }
> }
>
>
> foo_2 ( int context )
> {
> (*(rect[context]))(0,0,1,1);
> }
>
> ...or something like that.
>
> But even *with* a context argument to glGetProcAddress, foo_2 still
> has to be as I show above...because glrectf has a different address
> for each context (well, no - that's silly - but not so silly for
> an extension perhaps).
Yep. For extensions it's not a biggy. With of course the exception of
ARB_multitexture, which is one of the reasons why it should be
callable directly.
But with the general desire of having all API functions available via
GetProcAddess() it makes life incredible difficult.
> OH!!! So you are saying that the same returned address should
> work for *every* context...but the problem being that you
> may be handed the address of a function that's valid in one
> context but not in another.
>
> OK - now I understand the problem.
The cleanest solution for the application programmer would really be
that GetProcAddress() returns a function pointer that is independant
upon the context and does the mapping to the context behind the
scenes.
- Thomas
--
Thomas Roell /\ An imperfect plan executed violently
Xi Graphics / \/\ _ is far superior to a perfect plan.
[EMAIL PROTECTED] / / \ \
/ Oelch! \ \ George Patton