wiki:OSGComparison

Comparing OpenSG and OpenSceneGraph

This page tries to give an exhaustive point-by-point comparison of OpenSG's and OpenSceneGraph's (including OpenThreads and OpenProducer) features. It is split into logical pieces to keep it more manageable, and to have a natural spot for explanations, as not everything can really be described by a check mark.

The comparison is given for OpenSG version 1.8 (i.e. the current CVS head)

  1. Fundamentals
  2. OpenGL Support
  3. Multi-Threading
  4. Clustering
  5. Node Types
  6. I/O
  7. Windows/Viewports?
  8. Advanced Techniques
  9. Extensions
  10. 3rd Party tools

Fundamentals

1.8 2.0 OSG
Vector library (./) (./) (./)1
Reflective Core (./) (./) (./)
1
Support provided through an OSG introspection plugin.

OpenGL Support

1.8 2.0 OSG
Single Textures (./) (./) (./)
Multi Textures (./) (./) (./)
ARB Shaders (./) (./) (./)
GLSL Shaders (./) (./) (./)

Multi-Threading

Clustering

1.8 2.0 OSG
Cluster possible (./) (./) {X}1
"Simple" clustering (./)2 (./)2 {X}
Sort-First Rendering (./) (./) {X}
Sort-Last Rendering (./) (./) {X}
1
The distribution contains an example on how to do clustering, but the system itself doesn't give any support for it.
2
Because of OpenSG's use of changelists, clustering is supported nearly automatically and is very simple to setup. See the cluster examples in the documentation.

Node Types

I/O

External formats supported in the released packages, not counting externally provided loaders).

  • Split into image/scene/archive?
  • Many of these format names where pasted from OpenSceneGraph's plugin directoy. I'm not sure all names/extensions are correct. /ML

Those types listed supported by OpenSG 1.8 and not 2.0 will be be ported into the 2.0 release.

1.8 2.0 OSG Comment
Model Formats
3dc {X} {X} (./) Point cloud data
3ds (./) (./) (./) 3D Studio 3.x/4.x (Writable and readable by 3D Studio Max)
ac {X} {X} (./) AC3D scene
arcinfo (./)3 {X} {X} ARCInfo scene
bsp {X} {X} (./) Quake Data ??
bpoly (./)3 {X} {X} Side Effects Software PRISMS binary
collada {X} (./) (./) Collada scene
csb (./)3 {X} {X} SGI Optimizer binary format
dae {X} {X} (./) Collada digital asset exchange
dat (./) (./) {X}
directx (.x) {X} {X} (./) DirectX model file
dw {X} {X} (./) Designer Workshop scene
dxf (./) {X} (./) AutoCAD drawing (2D or 3D model)
exr (./) {X} {X} OpenEXR scene
flt (./)3 {X} (./) OpenFlight scene
gdal {X} {X} (./) http://gdal.org/
geo {X} {X} (./) Carbon Graphics GEO
iv (./)34 {X} (./) Inventor scene
ive {X} {X} (./) OpenSceneGraph native binary format
lwo {X} {X} (./) Lightwave object
lws {X} {X} (./) Lightwave scene
md2 {X} {X} (./) Quake 2 model
mtd (./) (./) (./)
nff (./)3 {X} {X} Eric Haines' ray tracing test data format
obj (./) (./) (./) Alias|Wavefront scene (predecessor to Maya)
off (./) {X} {X} Object File Format
osb (./) (./) {X} OpenSG native binary format
pfb (./)3 {X} (./) Performer scene
ply (./) {X} {X} Stanford PLY format
shp {X} {X} (./) ESRI Shapefile
slp (./) {X} {X}
stl (./) (./) (./) stereolithography CAD
txp {X} {X} (./) TerraPage terrain
vtk {X} (./) {X} Visualization Toolkit file
vrml (.wrl) (./) (./) (./) VRML scene
Image Formats
bmp (./) (./) (./) Windows Bitmap image
dds (./) (./) (./) DirectDraw? surface
exr (./) {X} {X} OpenEXR image
gif (./) (./) (./) GIF image
hdr (./) (./) (./) HDRI image (OpenEXR format)
jp2 (./) {X} (./) Jasper (JPEG 2000)
jpeg (./) (./) (./) JPEG image
mng (./) (./) (./) Multiple-image Network Graphics
nrrd (./) {X} {X}
pic {X} {X} (./) SGI picture image format
png (./) (./) (./) Portable Network Graphics
pnm (./) (./) (./) Portable AnyMap (variants PPM, PGM, PBM)
psd (./) {X} {X} PhotoShop image
qt {X} {X} (./) QuickTime image only (no movie)
raw (./) {X} {X} Raw image data
rgb {X} {X} (./) SGI rgb image format
sgi (./) {X} {X} SGI rgb image format
tga (./) (./) (./) TARGA image
tif (./) (./) (./) Tagged Image File Format image
xine {X} {X} (./)
Meta loaders
rot, scale, trans {X} {X} (./) OpenSceneGraph loaders for modifying base transformation.
net {X} {X} (./) OpenSceneGraph metaloader for reading data over network
normals {X} {X} (./) Adds normals to file on load
tgz {X} {X} (./)2 TAR-GZipped archive
zip {X} {X} (./)2 ZIP archive
2
OpenSceneGraph uses external programs (unzip and tar) to support these archive formats.
3
Can be loaded using the OpenGL Performer converter from Contrib, needs installed Performer libraries
4
Can be loaded using the Open Inventor converter from Contrib, needs installed Open Inventor libraries

Performer loader source is in $PFROOT/usr/share/Performer/src/lib/libpfdb if performer-devel is installed

OSG loader source can be found here: http://openscenegraph.org/viewcvs/src/osgPlugins/

OpenSG Loader source can be found here: http://www.opensg.org/browser/trunk/Source/System/FileIO

It would be nice to have a poll somewhere about what the most important formats are to add to OpenSG

Windows/Viewports?

Advanced Techniques

1.8 2.0 OSG
Occlusion Culling (./) (./) {X}
Small-feature culling (./) (./) (./)
Imposters {X} {X} (./)
CLOD Terrain {X} {X} (./)
ShadowMaps? (./) (./) {X}

Extensions

3rd Party tools

Last modified 7 years ago Last modified on 02/13/10 04:34:49