Hi Guys,
I've now got the automatic detection of ReaderWriter features working.
An svn update of svn/trunk will get the functionality.
Now when you run osgconv --formats you'll see the below output.
One point not yet handled in the ReaderWriter::Features support is use
of read*(istream) and write*(ostream). Ralf's original submission
didn't include this in the Feature mask, and I haven't provided any
automatic detection of it. Others are welcome to dive in and add this
support.
Cheers,
Robert.
> osgconv --formats
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_bmp.so
{
ReaderWriter : BMP Image Reader
{
features : readObject readImage writeImage
extensions : .bmp BMP Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_cfg.so
{
ReaderWriter : ReaderWriter
{
features : readObject
extensions : .cfg Producer camera configuration file
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_bsp.so
{
ReaderWriter : BSP File Reader
{
features : readNode
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_bvh.so
{
ReaderWriter : BVH Motion Reader
{
features : readNode
extensions : .bvh Biovision motion hierarchical file
options : contours Show the skeleton with lines.
options : solids Show the skeleton with solid boxes.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dae.so
{
ReaderWriter : COLLADA 1.4.x DAE reader/writer
{
features : readNode writeNode
extensions : .dae COLLADA 1.4.x DAE format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dds.so
{
ReaderWriter : DDS Image Reader/Writer
{
features : readObject readImage writeObject writeImage
extensions : .dds DDS image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dot.so
{
ReaderWriter : DOT Writer
{
features : writeNode
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dxf.so
{
ReaderWriter : ReaderWriter
{
features : readNode
extensions : .dxf Autodesk DXF format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_geo.so
{
ReaderWriter : GEO Reader/Writer
{
features : readObject readNode
extensions : .gem CarbonGraphics Geo model format
extensions : .geo CarbonGraphics Geo model format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_gif.so
{
ReaderWriter : GIF Image Reader
{
features : readObject readImage
extensions : .gif GIF Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_freetype.so
{
ReaderWriter : FreeType Font Reader/Writer
{
features : readObject
extensions : .cef OpenType format
extensions : .cff OpenType format
extensions : .cid Postscript CID-Fonts format
extensions : .fnt Windows bitmap fonts format
extensions : .fon Windows bitmap fonts format
extensions : .pfa type2 ascii format
extensions : .pfb type1 binary format
extensions : .text3d use 3D Font instead of 2D Font
extensions : .ttc true type format
extensions : .ttf true type font format
options : monochrome Select monochrome font.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_hdr.so
{
ReaderWriter : ReaderWriter
{
features : readImage writeImage
extensions : .hdr High Dynamic Range image format
options : NO_YFLIP
options : RAW
options : RGB8
options : RGBMUL
options : YFLIP
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_ive.so
{
ReaderWriter : IVE Reader/Writer
{
features : readObject readImage readNode writeObject
writeImage writeNode
extensions : .ive
OpenSceneGraph native binary format
options : TerrainMaximumErrorToSizeRatio=value Export
option that controls error matric used to determine terrain
HieghtField storage precision.
options : compressImageData Export option
options : includeImageFileInIVEFile Export option
options : inlineExternalReferencesInIVEFile Export option
options : noLoadExternalReferenceFiles Import option
options : noTexturesInIVEFile Export option
options : noWriteExternalReferenceFiles Export option
options : useOriginalExternalReferences Export option
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_jp2.so
{
ReaderWriter : RGB Image Reader/Writer
{
features : readObject readImage writeObject writeImage
extensions : .jp2 Jpeg2000 image format
extensions : .jpc Jpeg2000 image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_md2.so
{
ReaderWriter : Quake MD2 Reader
{
features : readNode
extensions : .md2 Quak2 MD format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_mdl.so
{
ReaderWriter : Valve/Source Engine MDL Reader
{
features : readNode
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_lwo.so
{
ReaderWriter : Lightwave Object Reader
{
features : readNode
extensions : .geo Lightwave geometry format
extensions : .lw Lightwave object format
extensions : .lwo Lightwave object format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_lws.so
{
ReaderWriter : ReaderWriterLWS
{
features : readNode
extensions : .lws Lightwave scene format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgshadow.so
{
ReaderWriter : osgShadow pseudo-loader
{
features : readNode
extensions : .osgshadow OpenSceneGraph osgShadow extension
to .osg ascii format
extensions : .shadow OpenSceneGraph osgShadow extension
pseudo loader
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_obj.so
{
ReaderWriter : Wavefront OBJ Reader
{
features : readNode writeObject writeNode
extensions : .obj Alias Wavefront OBJ format
options : AMBIENT=<unit> Set texture unit for
ambient texture
options : BUMP=<unit> Set texture unit for
bumpmap texture
options : DIFFUSE=<unit> Set texture unit for
diffuse texture
options : DISPLACEMENT=<unit> Set texture unit for
displacement texture
options : OPACITY=<unit> Set texture unit for
opacity/dissolve texture
options : REFLECTION=<unit> Set texture unit for
reflection texture
options : SPECULAR=<unit> Set texture unit for
specular texture
options : SPECULAR_EXPONENT=<unit> Set texture unit for
specular exponent texture
options : noRotation Do not do the default
rotate about X axis
options : noTesselateLargePolygons Do not do the default
tesselation of large polygons
options : noTriStripPolygons Do not do the default
tri stripping of polygons
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_ogr.so
{
ReaderWriter : OGR file reader
{
features : readNode
extensions : .ogr OGR file reader
options : addGroupPerFeature Places each feature in
a seperate group.
options : useRandomColorByFeature Assign a random color
to each feature.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_xine.so
{
ReaderWriter : Xine ImageStream Reader
{
features : readImage
extensions : .avi
extensions : .db
extensions : .flv
extensions : .mov
extensions : .mpg Mpeg movie format
extensions : .mpv Mpeg movie format
extensions : .ogv
extensions : .wmv
extensions : .xine Xine plugin Pseduo plugin
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_pdf.so
{
ReaderWriter : PDF plugin
{
features : readObject readImage readNode
extensions : .pdf PDF plugin
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osg.so
{
ReaderWriter : OSG Reader/Writer
{
features : readObject readNode writeObject writeNode
extensions : .osg OpenSceneGraph Ascii file format
extensions : .osgs Psuedo OpenSceneGraph file
loaded, with file encoded in filename string
options : OutputTextureFiles Write out the texture images to file
options : precision Set the floating point
precision when writing out files
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_pic.so
{
ReaderWriter : PIC Image Reader
{
features : readObject readImage
extensions : .pic PIC Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_png.so
{
ReaderWriter : PNG Image Reader/Writer
{
features : readObject readImage writeImage
extensions : .png PNG Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_pnm.so
{
ReaderWriter : PNM Image Reader/Writer
{
features : readImage writeImage
extensions : .pbm PNM Image format
extensions : .pgm PNM Image format
extensions : .pnm PNM Image format
extensions : .ppm PNM Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgparticle.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_ffmpeg.so
{
ReaderWriter : ReaderWriterFFmpeg
{
features : readImage
protocol : http Read video/audio from http using ffmpeg.
extensions : .avi
extensions : .flv
extensions : .mov
extensions : .mpg Mpeg movie format
extensions : .mpv Mpeg movie format
extensions : .ogg Theora movie format
extensions : .wmv
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_rgb.so
{
ReaderWriter : RGB Image Reader/Writer
{
features : readObject readImage writeImage
extensions : .bw bw image format
extensions : .int int image format
extensions : .inta inta image format
extensions : .rgb rgb image format
extensions : .rgba rgba image format
extensions : .sgi sgi image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_jpeg.so
{
ReaderWriter : JPEG Image Reader/Writer
{
features : readObject readImage writeImage
extensions : .jpeg JPEG image format
extensions : .jpg JPEG image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_x.so
{
ReaderWriter : DirectX Reader
{
features : readNode
extensions : .x DirectX scene format
options : flipTexture flip texture upside-down
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_rot.so
{
ReaderWriter : rotation pseudo-loader
{
features : readNode
extensions : .rot Rotation pseudo loader
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_shp.so
{
ReaderWriter : ReaderWriter
{
features : readObject readNode
extensions : .shp Geospatial Shape file format
options : double Read x,y,z data as double an stored as
geometry in osg::Vec3dArray's.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_tga.so
{
ReaderWriter : TGA Image Reader
{
features : readObject readImage
extensions : .tga Tga Image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_tgz.so
{
ReaderWriter : TGZ Database Reader/Writer
{
features : readNode
extensions : .tgz Tar gzip'd archive format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_stl.so
{
ReaderWriter : STL Reader
{
features : readNode writeNode
extensions : .sta STL ASCII format
extensions : .stl STL binary format
options : separateFiles Save every geode in a different
file. Can be a Huge amount of Files!!!
options : smooth run SmoothingVisitor
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_svg.so
{
ReaderWriter : SVG Image Reader
{
features : readObject readImage
extensions : .svg Scalar Vector Graphics format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_txf.so
{
ReaderWriter : TXF Font Reader/Writer
{
features : readObject
extensions : .txf TXF Font format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_txp.so
{
ReaderWriter : TXP Reader/Writer
{
features : readNode
extensions : .txp Terrapage txp format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_vnc.so
{
ReaderWriter : VNC plugin
{
features : readObject readImage readNode
extensions : .vnc VNC plugin
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_ac.so
{
ReaderWriter : AC3D Database Reader
{
features : readNode writeNode
extensions : .ac AC3D Database format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_vtf.so
{
ReaderWriter : VTF Image Reader/Writer
{
features : readObject readImage writeObject writeImage
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_curl.so
{
ReaderWriter : HTTP Protocol Model Reader
{
features : readObject readImage readHeightField readNode
protocol : http Read from http port using libcurl.
extensions : .* Passes all read files to
other plugins to handle actual model loading.
extensions : .curl Psuedo file extension, used
to select curl plugin.
options : OSG_CURL_PROXY Specify the http proxy.
options : OSG_CURL_PROXYPORT Specify the http proxy oirt.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dw.so
{
ReaderWriter : Design Workshop Database Reader
{
features : readNode
extensions : .dw Designer Workbench model format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgviewer.so
{
ReaderWriter : osgViewer configuration loader
{
features : readObject writeObject
extensions : .osgviewer OpenSceneGraph viewer
configuration format
extensions : .view OpenSceneGraph viewer
configuration format
options : OutputTextureFiles Output texture image to file
options : precision Set the floating point
precision of output
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_gz.so
{
ReaderWriter : HTTP Protocol Model Reader
{
features : readObject readImage readHeightField readNode
writeObject writeImage writeHeightField writeNode
extensions : .gz Compressed file extension.
extensions : .ivez Compressed .ive file extension.
extensions : .osgz Compressed .osg file extension.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_iv.so
{
ReaderWriter : Inventor reader/writer
{
features : readNode writeNode
extensions : .iv Inventor format
extensions : .wrl VRML world file
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_zip.so
{
ReaderWriter : ZIP Database Reader/Writer
{
features : readNode
extensions : .zip Zip archive format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgsim.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgterrain.so
{
ReaderWriter : Terrain ReaderWriter
{
features : readNode
extensions : .osgterrain OpenSceneGraph terrain extension to
.osg ascii format
extensions : .terrain OpenSceneGraph terrain ascii format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgtgz.so
{
ReaderWriter : OSGTGZ Database Reader/Writer
{
features : readNode
extensions : .osgtgz OpenSceneGraph tar gzid'd archive format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_3dc.so
{
ReaderWriter : 3DC point cloud reader
{
features : readNode
extensions : .3dc 3DC point cloud format
extensions : .asc 3DC point cloud format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_3ds.so
{
ReaderWriter : 3DS Auto Studio Reader
{
features : readNode
extensions : .3ds 3D Studio model format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgwidget.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_logo.so
{
ReaderWriter : Logo Database Reader/Writer
{
features : readNode
extensions : .logo Ascii logo placement format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_tiff.so
{
ReaderWriter : TIFF Image Reader
{
features : readObject readImage writeImage
extensions : .tif Tiff image format
extensions : .tiff Tiff image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_gdal.so
{
ReaderWriter : GDAL Image Reader
{
features : readObject readImage readHeightField
extensions : .gdal GDAL Image reader
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_openflight.so
{
ReaderWriter : FLT Reader/Writer
{
features : readObject readNode writeObject writeNode
extensions : .flt OpenFlight format
options : billboardCenter Import option
options : clampToEdge Import option
options : convertToFeet Import option
options : convertToInches Import option
options : convertToKilometers Import option
options : convertToMeters Import option
options : convertToNauticalMiles Import option
options : dofAnimation Import option
options : keepExternalReferences Import option
options : lighting=<ON|OFF> Export
option: Specifies a default enable/disable state for lighting, for
Nodes in the exported scene graph that don't set it explicitly. By
default, the exporter assumes lighting is enabled (GL_LIGHTING ON).
Set this to either ON or OFF. Example: "lighting=OFF".
options : noTextureAlphaForTransparancyBinning Import option
options : noUnitsConversion Import option
options : preserveFace Import option
options : preserveObject Import option
options : readObjectRecordData Import option
options : stripTextureFilePath Export
option: If present in the Options string, the exporter strips the path
from texture file names, and writes only the texture file name to the
FLT Texture Palette. By default, the exporter doesn't strip the path,
and the name written to the Texture Palette is taken directly from the
osg::Image object referenced by the osg::Texture2D StateAttribute.
options : tempDir=<dir> Export
option: Specifies the directory to use for creation of temporary
files. If not specified, the directory is taken from the file name. If
the file doesn't contain a path, the current working directory is
used. Applications should set this to the name of their app-specific
temp directory. If the path contains spaces, use double quotes to
ensure correct parsing. Examples: "tempDir=/tmp", "tempDir="C:\My Temp
Dir".
options : units=<units> Export
option: Specifies the contents of the Units field of the OpenFliht
header record. Valid values include INCHES, FEET, METERS, KILOMETERS,
and NATICAL_MILES. Default is METERS. Example: "units=METERS".
options : validate Export
option: If present in the Options string, the plugin does not write an
OpenFlight file. Instead, it returns an indication of the scene
graph's suitability for OpenFlight export.
options : version=<ver> Export
option: Specifies the version of the output OpenFlight file. Supported
values include 15.7, 15.8, and 16.1. Default is 16.1. Example:
"version=15.8".
}
ReaderWriter : ATTR Image Attribute Reader/Writer
{
features : readObject writeObject
extensions : .attr OpenFlight texture attribute format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_trans.so
{
ReaderWriter : translation pseudo-loader
{
features : readNode
extensions : .trans Translation Psuedo loader.
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_dicom.so
{
ReaderWriter : DICOM Image Reader/Writer
{
features : readObject readImage readNode
extensions : .dcm dicom image format
extensions : .dic dicom image format
extensions : .dicom dicom image format
extensions : .ima dicom image format
extensions : .mag dicom image format
extensions : .ph dicom image format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_glsl.so
{
ReaderWriter : GLSL Shader Reader
{
features : readShader writeShader
extensions : .frag OpenGL Shader Language format
extensions : .gl OpenGL Shader Language format
extensions : .glsl OpenGL Shader Language format
extensions : .vert OpenGL Shader Language format
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgfx.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osganimation.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_scale.so
{
ReaderWriter : scaling pseudo-loader
{
features : readNode
extensions : .scale Scale Pseudo loader
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgvolume.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_normals.so
{
ReaderWriter : ReaderWriter
{
features : readObject readNode
extensions : .normals Normals Pseudo loader
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_gecko.so
{
ReaderWriter : Browser Reader/Writer
{
features : readObject readImage readNode
extensions : .browser browser image
extensions : .gecko browser image
}
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osgtext.so
{
}
Plugin /home/robert/OpenSceneGraph/lib/osgPlugins-2.9.1/osgdb_osga.so
{
ReaderWriter : OpenSceneGraph Archive Reader/Writer
{
features : readImage readNode
extensions : .osga OpenSceneGraph Archive format
}
}
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org