Hi All,

Back in September last year Fabien Lavignotte submitted support for
using NVidiaTexureTools SDK within VPB for compressing and generating
of mipmaps, this support neatly removes the need for a graphics
contexts to be required by VPB.  At the time I mentioned my desire to
see this type of functionality migrated into the core OSG as plugin.
Today I made it so :-)

To integrate NVTT with the I have introduced a new
osgDB::ImageProcessor interface class, that is equivalent to existing
osgDB::ReaderWriter class, but for plugins to implement image
processing for us instead of loading.  You can access any available
ImageProcessor implementation via osgDB::Registry via :

   osgDB::ImageProcessor* imageProcessor =
osgDB::Registry::instance()->getImageProcessor();

With the method the Registry will return the first available
ImageProcessor that has been registered with it, and if it doesn't
have available yet it'll try to load the "nvtt" plugin, and if this
succeeds it'll return ImageProcessor that it implements.  This design
allows applications to remain decoupled from NVTT, and allow other
implementations to be added down the line.

The NVTT plugin is only compiled if your have NVTT SDK installed on
your system, so there isn't any new dependency added to the OSG in
it's default build.

Now the NVTT support is integrated into OSG, VPB now longer needs to
explicitly link to NVTT, so I've replaced the previously hardwired
code to now use the new ImageProcessor interface provided by osgDB.
I've been testing VPB builds using the new mechanism and so far all
looks to be working as before.  The nice thing is that VPB is no
longer coupled to NVTT so there isn't any optional compile paths
required, VPB can determine at runtime whether it has access to an
ImageProcessor implementation and can fallback to using the old GL
context based compression code when none is available.

All these changes are now checked into svn/trunk of OSG and VPB
(you'll need to update both).

Wider testing would be appreciated ;-)

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

Reply via email to