Hi Robert --
Robert Osfield wrote:
Having a single class is not extensible by end users - something which
is essential for authors of external NodeKits.
It's not a requirement that external source use the new interface for
calling OpenGL. If they don't use it, code will still function properly,
but there will be no logging or other instrumentation of their code's
OpenGL calls.
This is analogous to how OSG's plugin documentation feature works.
External code that doesn't use the feature is still able to load files,
but doing an "osgconv --format" for that plugin displays no information.
But I don't think anyone would say that the plugin documentation feature
is "not extensible".
This new capability should be very extensible in that, if you needed to
log calls into a new OpenGL feature or extension not currently in OSG's
OpenGL class, it would be as easy as dropping in the enum defs and
function signatures and rebuilding OSG.
Using an optional compile between macro's/inline functions and the
modified versions to avoid performance degradation will lead to binary
in-compatibility between the code with diagnostics and one without.
Binary compatibility is not an issue. Developers will never turn on
instrumentation in production code. It'll only be used during
development, where binary compatibility isn't needed.
I don't know if this might help, but Don Burns wrote a parser of the
gl.h to automatically produce a wrapper library that allowed you that
calls GL for you, and you just link to the Don's OglDump library. For
more details:
http://www.andesengineering.com/OglDump/ogldump.html
It's written for unix, using lex/yacc, so one would need to do some
more work to get it working under Windows, but it might give one a leg
up.
Thanks for the pointer. If I'm already going to look at the
Linux-centric BuGLe, then I could give this a shot too. (Lex and yacc,
wow, I used to know how to use those back in 1986...)
-Paul
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org