|
Good info, Robert, thanks. Rather than disrupt the current Geometry implementation, I've been considering deriving a new class from Drawable called "Geometry3", which would be very much like the current Geometry class, but would be GL3-safe. This would mean removing the setVertexPointer, setNormalPointer, etc., methods, removing all the "slow path" indices methods, buffer objects on by default, and support for the new primitive types. I imagine such a class could greatly reduce the length of the currently 800-line long Geometry::drawImplementation, so maybe some performance boost there by reducing instruction cache misses, not to mention simplifying the code. Rather than a separate class, perhaps we could reimplement Geometry using a factory design pattern for different rendering APIs, GL1/2, GL3, GL ES 1.1, GL ES 2.0, etc. I mention all this because it impacts how vertex attributes would or would not change. If we were to go with a separate Geometry3 class (factory pattern or not), we could add the variable name string support only to the new class, and leave the extant Geometry class interface as it stands. All of this is dependent on your plans to move OSG to a plugin back-end to support multiple APIs. I'm not sure of the design details, but I'd like to start discussing them. Ideally, the move to support OpenGL 3 would be organized and coherent; if we all decide to tackle this port with heterogeneous and incompatible mechanisms, it would produce less than ideal results. Paul Martz Robert Osfield wrote: Hi Paul, On Mon, Aug 10, 2009 at 3:12 AM, Paul Martz<[email protected]> wrote: |
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

