Hi Robert,
thanks for answering. I understand your point regarding cross platform
complexity. However, I am pretty convinced that passing the context to
drawing functions makes sense these days, especially considering the many
contexts and threads running in parallel, and I don't get this as a vendor
lock-in strategy, although this can be a side-effect of course.

Raphael

On Thu, Mar 20, 2008 at 1:32 PM, Robert Osfield <[EMAIL PROTECTED]>
wrote:

> Hi Raphael,
>
> The changes of the OSG uses this tricked out non standard vendor
> lock-in mechanism are 0.
>
> If such an extension was available across platforms it might make some
> sense, but given the massive amount of changes it'd require, for a
> minor platform like OSX, and the likely small performance delta they
> might give anyway I think it would be huge waste of resources and
> added code complexity, associated bugs and testing.  It would in the
> end be an utter nightmare to maintain for little gain for a small
> number of users.
>
> Far more interesting is items like OpenGL-ES and OpenGL 3.x, this is
> the future of OpenGL, not a silly little detour Apple hopes to hook
> you into to make you apps even more tied to a single platform.
>
> Robert.
>
> On Thu, Mar 20, 2008 at 11:22 AM, Raphael Sebbe <[EMAIL PROTECTED]>
> wrote:
> > Hi all,
> >
> > On Mac OS X, there is a possibility of using a special mechanism for
> OpenGL
> > calls, that is, you include CGLMacros.h in your source, and all gl***
> calls
> > take an implicit additional parameter, the context. This makes the use
> of a
> > "current active context" unnecessary, gives better performance and it
> works
> > better with threads. Developers are encouraged to use that mechanism.
> >
> > Some apps (thinking of Quartz Composer) strongly suggest that this is
> used
> > for their plugins, drawing to the given context, and discourage changing
> the
> > current OpenGL context. I guess we're not far from a "suggest" becoming
> a
> > "require" in the future.
> >
> >
> > The way it works is that you have to define a local variable with the
> name
> > cgl_ctx, and that variable is passed as first argument to the special gl
> > calls:
> >
> > CGLContextObj cgl_ctx = aContext;
> > glBegin(GL_LINES);   // which actually is like _blaBegin(cgl_ctx,
> GL_LINES),
> > because of CGLMacro.h inclusion
> > // this won't compile if cgl_ctx is not defined
> >
> >
> >
> >
> > So my question is: what is your thought about integrating this mechanism
> in
> > OSG?
> >
> > Thanks,
> >
> > Raphael
> >
> >
> >
> > _______________________________________________
> >  osg-users mailing list
> >  [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> >
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to