Notations:

Name: name corresponding to the osgdb_NAME plugin

Type: pseudo, image, multimedia (video), font, 3d, network, compression (archive), device.

Dependencies: light grey=standard plugin with dependencies, C++ EXCP=C++ Exceptions required, opt=optional dependencies

Platforms: W= Windows, M= Mac OS X, L= Linux, A= Android, i= iOS

Ext: corresponding to the extension defined with the plugins (and used by osgDB::Registry).

| Name | Type | Dependencies | W | M | L | A | i | Ext. | Description | Notes | | ——————– | ————— | ——————————– | - | - | - | - | - | ——————————————————————————————————————————————————————————————————————————————————————————————— | ———————————- | ———————————————————————————————————– | | osga | pseudo | - | Y | Y | Y | Y | Y | .osga | OSG Archive format | | | rot | pseudo | - | Y | Y | Y | Y | Y | .rot | Rotates to the loaded model | | | scale | pseudo | - | Y | Y | Y | Y | Y | .scale | Scales the loaded model | | | trans | pseudo | - | Y | Y | Y | Y | Y | .trans | Translates the loaded model | | | normals | pseudo | - | Y | Y | Y | Y | Y | .normals | Shows normals of the loaded model | | | revisions | pseudo | - | Y | Y | Y | Y | Y | .revisions,.added,.removed,.modified | Revisions Font | | | view (osgviewer) | pseudo | - | Y | Y | Y | Y | Y | .osgviewer, .view | osgViewer Configuration | | | shadow (osgshadow) | pseudo | - | Y | Y | Y | Y | Y | .osgShadow,.shadow | osgShadow Configuration | | | terrain (osgterrain) | pseudo | - | Y | Y | Y | Y | Y | .osgTerrain, .terrain | osgTerrain Configuration | | | osg | native | - | Y | Y | Y | Y | Y | .osg | Native OSG binary format | Write | | ive | native | - | Y | Y | Y | Y | Y | .ive | Native OSG ascii format | Write | | cfg | viewer | - | Y | Y | Y | Y | Y | .cfg | Camera configuration info | | | glsl | shader | - | Y | Y | Y | Y | Y | .gl, .frag, .vert, .geom, .glsl, .tctrl, .teval, .compute | GL Shader file formats | | | rgb | image | - | Y | Y | Y | Y | Y | .rgb, .rgba,.sgi, .int, .inta, .bw | RGB Image | Write | | bmp | image | - | Y | Y | Y | Y | Y | .bmp | Windows Bitmap | Write | | pnm | image | - | Y | Y | Y | Y | Y | .pnm, .ppm, .pgm, .pbm | | Write | | dds | image | - | Y | Y | Y | Y | Y | .dds | DirectX image format | Write, Read Options: dds_dxt1_rgb,dds_dxt1_rgba , dds_dxt1_detect_rgba, dds_flip | | tga | image | - | Y | Y | Y | Y | Y | .tga | Targa image | | | hdr | image | - | Y | Y | Y | Y | Y | .hdr | High Dynamic Range image | Write, Read Options: RGBMUL, RGB8, RAW, YFLIP, NO_YFLIP | | dot | image | - | Y | Y | Y | Y | Y | .dot | | | | vtf | image | - | Y | Y | Y | Y | Y | .vtf | Valve Texture Format | | | ktx | image | - | Y | Y | Y | Y | Y | .ktx | KTX Image format | | | jpeg | image | jpeg | ? | ? | ? | ? | ? | .jpeg .jpg | JPeg Image | Write | | jp2 | image | jasper | ? | ? | ? | ? | ? | .jps .jpc | JPEG 2000 | Write | | exr | image | openexr (opt:zlib), C++ EXCP | ? | ? | ? | ? | ? | .exr | | | | gif | image | giflib | ? | ? | ? | ? | ? | .gif | GIF Image | | | png | image | libpng (opt:zlib), C++ EXCP | ? | ? | ? | ? | ? | .png | Portable Network Graphics | Write | | tiff | image | libtiff (opt:zlib), C++ EXCP | ? | ? | ? | ? | ? | .tiff .tif | Tiff image | Write | | gdal | image | gdal | ? | ? | ? | ? | ? | .gdal | GDAL image loader | | | ogr | image | gdal | ? | ? | ? | ? | ? | .ogr | | Read Options: useRandomColorByFeature, addGroupPerFeature | | gta | image | libgta, C++ EXCP | ? | ? | ? | ? | ? | gta | Generic Tagged Arrays | | | dicom | image (medical) | dcmtk, zlib (or itk) | ? | ? | ? | ? | ? | .mag, .ph, .ima, .dic, .dcm, .dicom | | | | attr | image | - | Y | Y | Y | Y | Y | .attr | OpenFlight texture attributes | Build with OpenFlight plugin | | 3dc | 3d | - | Y | Y | Y | Y | Y | .3dc, .asc | 3DC point cloud format | | | p3d | 3d | - | Y | Y | Y | Y | Y | .p3d, .xml | Present3D XML | | | curl | network | curl (opt:zlib,openssl, openssh) | ? | ? | ? | ? | ? | .curl (pseudo file), * (P: http, https, ftp, ftps) | HTTP Protocol Model | Read Options: OSG_CURL_PROXY,OSG_CURL_PROXYPORT,OSG_CURL_CONNECTTIMEOUT,OSG_CURL_TIMEOUT | | gz | compression | zlib | ? | ? | ? | ? | ? | .osgz,ivez, .gz | | | | Inventor | 3d | Inventor (non GLES) | ? | ? | ? | N | N | .iv, .wrl | Open Inventor format | Write, .wrl Only VRML1.0 | | pfb | 3d | OpenGL Performer | ? | N | ? | N | N | SEE BELOW | Performer loader | no GLES | | vrml | 3d | openvrml, C++ EXCP | ? | ? | ? | ? | ? | .wrl | VRML2 | Read Options: directoryTeture, convertTextures=0,-1,-2,-3 , textureUnit= |-, | | fbx | 3d | FBX SDK, c++ EXCP | ? | ? | ? | N | N | .fbx | Autodesk FBX | Write | | dw | 3d | - | Y | Y | Y | Y | Y | .dw | Design Workshop Database | | | bvh | 3d | - | Y | Y | Y | Y | Y | .bvh | Biovision motion hierarchical file | Read Options: contours, solid | | x | 3d | - | Y | Y | Y | Y | Y | .x | DirectX 3D model | Read Options: flipTexture, rightHanded, leftHanded | | dxf | 3d | - | Y | Y | Y | Y | Y | .dxf | Autodesk DXF Reader | | | OpenFlight | 3d | - | Y | Y | Y | Y | Y | .flt | Multigen Openflight | Write, Read Options: SEE BELOW | | obj | 3d | - | Y | Y | Y | Y | Y | .obj | Alias Wavefront | Write, also writes materials to .mtl , Read Options: SEE BELOW | | pic | 3d | - | Y | Y | Y | Y | Y | .pic | PIC image | | | stl | 3d | - | Y | Y | Y | Y | Y | .stl, .sta | Stereolithography file | Read Options: smooth | | 3ds | 3d | - | Y | Y | Y | Y | Y | .3ds | 3D Studio Format | Write | | ac | 3d | - | Y | Y | Y | Y | Y | .ac | AC3D Format Database | Write, http://www.inivis.com | | pov | 3d | - | Y | Y | Y | Y | Y | .pov | POV Ray- format | | | logo | 3d | - | Y | Y | Y | Y | Y | .logo | ASCII Logo placement format | | | lws | 3d | - | Y | Y | Y | Y | Y | .lws | Lightwave Scene | | | md2 | 3d | - | Y | Y | Y | Y | Y | .md2 | Quake MD2 | | | osgtgz | compression | tar program | Y | N | Y | N | N | .osgtgz | OSG Tar Gzipped | compile but won’t work on mobile platforms | | tgz | compression | tar program | Y | Y | Y | N | N | .tgz | tar gzip archive format | compile but won’t work on mobile platforms | | shp | 3d | - | Y | Y | Y | Y | Y | .shp | ESRI Geospatial Shape Shapefile | Read Options: double | | txf | font | - | Y | Y | Y | Y | Y | .txf | GLU texture font | | | bsp | 3d | - | Y | Y | Y | Y | Y | .bsp (or empty) | Quake3 BSP | | | mdl | 3d | - | Y | Y | Y | Y | Y | .mdl (or empty) | Valve/Source Engine MDL | | | lwo | 3d | C++ EXCP | ? | ? | ? | ? | ? | .lwo, .lw, .geo | Lightwave Object | | | ply | 3d | C++ EXCP | ? | ? | ? | ? | ? | .ply | Stanford Triangle Format | | | txp | 3d | C++ EXCP | ? | ? | ? | ? | ? | .txp | Terrapage file | | | xine | multimedia | xine | ? | ? | ? | ? | ? | .avi, .db, .ogv, .flv, .mov, .m4v, .mpg, .mpv, .wmv, .xine | Xine image stream | | | ffpmpeg | multimedia | ffmpeg, C++ EXCP | ? | ? | ? | ? | ? | .ffmpeg, .avi, .flv, .mov, .ogg, .mpg, .mpv, .wmv, .mkv, .mjpeg, .mp4, .m4v, .sav, .3gp, .sdp, .m2ts (P: http, rtsp, rtp, tcp) | FFPMEG | Read Options: format, pixel_format, frame_size (e.g. 320x240), frame_rate, audio_sample_rate, context, | | directshow | multimedia | Microsoft DirectShow | ? | N | N | N | N | .directshow, .avi, .wmv, .mpg, .mpeg | Microsoft DirectShow | | | imageio | multimedia | Apple Image I/O | N | ? | N | N | ? | .jpg, .jpeg, .jpe, .jp2, .tiff, .tif, .gif, .png, .pict, .pct, .pic, .bmp, .BMPf, .ico, .icns, .tga, .targa, .psd, .pdf, .eps, .epi, .epsf, .epsi, .ps, .dng, .cr2, .crw, . fpx, .fpxi, .raf, .dcr, .ptng, .pnt, .mac, .mrw, .nef, .irf, .exr, .qti, .qtif, hdr, .sgi, .srf, .cur, .xvm, .raw | Apple Image IO | | | avfoundation | multimedia | Apple AV Foundation | N | ? | N | N | ? | .mov, .mpg, .mp4, .m4v, .mpeg, .avfoundation, (P: http, rtsp) | Apple AV Foundation | Mac OS X 10.8+ only, Read Options: disableMultiThreadedFrameDispatching, disableCoreVideo | | quicktime | multimedia | Apple Quicktime | ? | ? | N | N | N | movie loader: .mov, .mpg, .mpv, .mp4, .m4v, .dv, .avi, .sdp, .flv, .swf, .3gp, .live image loader: .jpg, .jpeg, .tif, .tiff, .gif, .png, .pict, .pct, .tga, .psd, (P: http, rtsp) | Apple Quicktime (movie, image) | Mac OS X < 10.7 only, Write | | QTKit | multimedia | Apple QTKit | N | ? | N | N | N | .mov, .mpg, .mp4, .m4v, .flv, .dv, .avi, .sdp, .swf, .3gp (P: http, rtsp) | Apple QTKit | Read Options: disableMultiThreadedFrameDispatching, disableCoreVideo | | nvtt | conversion | NVIDIA Texture Tools | ? | ? | ? | N | N | | S3TC DX conversions | Processor plugin, no extension | | freetype | font | freetype | ? | ? | ? | ? | ? | .ttf, .ttc, .pfb, .pfa, .cid, .cff, .cef, .fon, .fnt, .text3d | Freetype font loader | Read Options: monochrome | | qfont | font | Qt | ? | ? | ? | ? | ? | .qfont | Qt Font Meta loader | | | zip | compression | zlib | ? | ? | ? | ? | ? | .zip | ZIP | | | | svg | multimedia | librsvg | ? | ? | ? | ? | ? | .svg | Scalar Vector Graphics Format | | | pdf | multimedia | poppler | ? | ? | ? | ? | ? | .pdf | | | | vnc | multimedia | libvncclient | ? | ? | ? | ? | ? | .vnc | VNC | Read Options: swap,swop, RGB, RGBA, BGR, BGRA | | pvr | image | - | Y | Y | Y | Y | Y | .pvr | PVR Image | | | osc | network/data | - | Y | Y | Y | Y | Y | .osc | OSC Virtual Device | Read Options: documentRegisteredHandlers, numMessagesPerEvent, delayBetweenSendsInMillisecs | | trk | image (medical) | - | Y | Y | Y | Y | Y | .trk | Track File Format | | | sdl | multimedia | SDL | ? | ? | ? | ? | ? | .sdl | SDL Device Integration | | | RestHttpDevice | device | boost/asio | ? | ? | ? | ? | ? | .resthttp | Rest/HTTP Virtual Device | Read Options: documentRoot,serverAddress,serverPort,documentRegisteredHandlers | | ZeroConfDevice | device | ZeroConf | ? | ? | N | ? | N | .zeroconf | ZeroConf Virtual Device | |

OSG Plugins (platforms and dependencies)

Remarks, Additional information:

3ds: to be compiled on Android, you need to modify default CMake configuration.

zlib: to be compiled on Android, you need to modify default CMake configuration (existing zlib with Android NDK used by default).

MultiGen Read Options: clampToEdge, keepExternalReferences,preserveFace,preserveObject,replaceDoubleSidedPolys,dofAnimation,billboardCenter,noTextureAlphaForTransparencyBinning,readObjectRecordData,preserveNonOsgAttrsAsUserData,noUnitsConversion,convertToFeet,convertToInches,convertToMeters,convertToKilometres,convertToNauticalMiles

obj Read Options: noRotation, noTesselateLargePolygons, noTripStripPolygons, generateFacetNormals, DIFFUSE=,AMBIENT=,SPECULAR=,SEPCULAR_EXPONENT=,OPACITY=,BUMP=,DISPLACEMENT=,REFLECTION=

Performer supported format: 3ds, arcinfo, bin, bpoly, bw, byu,closest,csb,ct,dem,doublerot,doublescale,doubletrans,dted,dwb,dxf,evt, flt, gds,gfo, im, irtp, iv20, iv, lodfix,lsa, lsb,medit, m,nff, obj,pegg,pfb, pfs, phd,poly,post,proc, projtex, pts, rot, scale, sgf, sgo, so, spf, spherepatch3, spherepatch, sphere, sponge, star, stla, stlb, substclip,sv,trans,tri,unc,vct.

Quicktime remark: Please note that http://libquicktime.sourceforge.net/ is a totally different library from Apple Quicktime (so no compatibility with Linux).

FBX Remark: Requires Autodesk’s FBX SDK. If using OpenSceneGraph 2.8.x you’ll need version 2010.2 of the SDK. Otherwise check ReaderWriterFBX.h to see which version of the SDK is required (currently 2012.1). If you have problems loading an FBX model please check that it works in Autodesk’s FBX QuickTime Viewer first to see if the model was correctly exported.

OSC Notes: the osc-plugin can return an osgGA::Device which handles various osc-messages and puts them into the event-queue of the app you can set arbitrary values via /osg/set_user_value, these values are set on the attached UserDataConntainer (see below) To open the osc-device for receiving do something like this:

*  std::string filename = ".receiver.osc"; *  osgGA::Device* device = dynamic_cast<osgGA::Device*>(osgDB::readObjectFile(filename));

and add that device to your viewer The plugin supports the following option: documentRegisteredHandlers, which will dump all registered handlers to the console. The device registers some convenient handlers to remote control a p3d-presentation.

you can feed a osgPresentation::PropertyManager into the plugin and set values on it via “/p3d/set_value key value” or “/p3d/set_value/key value” Additionally the plugin listens for “/osg/set_user_value key value” or “/osg/set_user_value/key value” and set the transmitted value on the UserDataContainer of the device.

The plugin supports forwarding most of the events per osc to another host. It uses a special event-handler, which forwards the events. To get this event-handler, do something like this:

*  std::string filename = ":.sender.osc"; *  osgGA::GUIEventHandler* event_handler = dynamic_cast<osgGA::GUIEventHandler*>(osgDB::readObjectFile(filename));

and add that event handler as the first event handler to your viewer/app