NVidia recently added an extension to their 275+ series of drivers
called "GL_NV_path_rendering." This turns path (sometimes called vector
graphics) rendering into first class drawables in OpenGL. Honestly, it's
one of the coolest things I've seen in a while, and naturally--given my
interest in OpenGL UIs--I began researching it and putting together a
NodeKit for OSG.

You can find it (in its infancy) here:

http://osgnvpr.googlecode.com

Run the example thusly:

        # osgnvprviewer
        # osgnvprviewer --perspective

..and notice how that no matter what the resolution, scale, or
projection, the objects are rendered clear and crisp. There is also
support for glyphs inside of GL_NV_path_rendering, so I will very soon
be adding support for this style of text rendering into osgPango (and
possible, osgText::TextNode).

I've only just begun exploring this, and I'm mainly sending this e-mail
to see if there is any professional interest in seeing this NodeKit
mature in a timely fashion. I don't know if this is outside the
allowable etiquette of the lists, but in full disclosure I'm looking to
fill some free time by seeking funding for development of by those who
would not only use these features but could benefit from being able to
influence their development and pace! If this is inappropriate for the
lists, just let me know and I'll be sure and keep my peddling to a
minimum from here on out. :)

At any rate, I'll continue to work on osgNVPR regardless, alongside
devleopment of osgCairo/Pango/Widget and the recent TextNode submission.
(Can you see a pattern here? All OSG interface development tools...)

Some notes:

        - NV_path_rendering introduces a new kind of rendering "style" for its
path objects. This doesn't map 1:1 to any existing usage of
osg::Drawable, though I am able to "hijack" the compileGLObjects()
method to get what I need. :)

        - BoundingBoxes are calculated with an extension call, but in order to
use the extension I need a contextID (provided via either a State object
or RenderInfo object). Unfortunately, these are difficult to "get to" at
times, so CameraManipulators cannot properly determine a home position
unless the Path has been compiled.

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to