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)
-
Fundamentals
-
OpenGL Support
-
Multi-Threading
-
Clustering
-
Node Types
-
I/O
-
Windows/Viewports?
-
Advanced Techniques
-
Extensions
-
3rd Party tools
Fundamentals
| Vector library | (./) | (./) | (./)1
|
| Reflective Core | (./) | (./) | (./)
|
- 1
- Support provided through an OSG introspection plugin.
OpenGL Support
| Single Textures | (./) | (./) | (./)
|
| Multi Textures | (./) | (./) | (./)
|
| ARB Shaders | (./) | (./) | (./)
|
| GLSL Shaders | (./) | (./) | (./)
|
Multi-Threading
Clustering
| 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.
| 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
|
| csb | (./)3 | {X} | {X} | SGI Optimizer binary format
|
| dae | {X} | {X} | (./) | Collada digital asset exchange
|
| directx (.x) | {X} | {X} | (./) | DirectX model file
|
| dw | {X} | {X} | (./) | Designer Workshop scene
|
| dxf | (./) | {X} | (./) | AutoCAD drawing (2D or 3D model)
|
| 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
|
| vrml (.wrl) | (./) | (./) | (./) | VRML scene
|
| bmp | (./) | (./) | (./) | Windows Bitmap image
|
| gif | (./) | (./) | (./) | GIF image
|
| hdr | (./) | (./) | (./) | HDRI image (OpenEXR format)
|
| jp2 | (./) | {X} | (./) | Jasper (JPEG 2000)
|
| jpeg | (./) | (./) | (./) | JPEG image
|
| pic | {X} | {X} | (./) | SGI picture image format
|
| 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
|
| 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
Advanced Techniques
| Occlusion Culling | (./) | (./) | {X}
|
| Small-feature culling | (./) | (./) | (./)
|
| CLOD Terrain | {X} | {X} | (./)
|
Extensions