Up: SGI inventor Frequently Asked Questions (FAQ)
Next: -18- How hard is it to port from IRIS Inventor to Open Inventor?
Previous: -16- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
Subject:   -17- What new features are in Open Inventor that weren't in
                IRIS Inventor?
Date: 30 Apr 1994 15:45:00 CDT

  Some of the main features that are new with Open Inventor are: 

     Open Inventor Licensing
	Open Inventor 2.0 represents the first release of Inventor that
	is licensed to third parties to run on other platforms (e.g.,
	Sun, HP).
     The Inventor Mentor and The Inventor Toolmaker
	Since Open Inventor has been licensed to run on other
	platforms, the programming guides have been published and
	distributed by Addison-Wesley Publishing Company. The books are
	typically available through bookstores that offer a good
	technical book selection. The Inventor Mentor is volume I of
	the programming guide and describes the fundamentals of
	Inventor programming (ISBN 0-201-62495-8). The Inventor
	Toolmaker is volume II and provides advanced information for
	programmers who want to extend Inventor.
     Automatic caching
	Open Inventor supports intelligent, automatic caching on the
	parts of the database that are not changing. Previously,
	caching was either `on' or `off' (set at SoSeparator nodes).
	Inventor 2.0 supports a third setting, `auto'. This
	SIGNIFICANTLY improves performance and simplifies programming.
     Error handling
	Inventor now supports a formal error handling system. Note that
	the API was not affected by this change. All Inventor error
	messages are now posted to an SoError class. The application
	can supply its own error handlers, thus making it possible to
	route error messages to dialogs, as well as stderr or stdout.
	All handlers are called by the SoError::handleError() method.
	When debugging, you can set a breakpoint on this method to stop
	right before an error is handled.
     Geometry primitives and SoCallbackAction
	A new feature has been added to the generic Inventor traversal
	action, SoCallbackAction, that allows for shapes to return
	primitives (triangles, lines, points, normals, texture coords,
	etc.) describing the object.
     Naming
	Nodes, paths, and engines can have names (strings) associated
	with them. There are methods on SoBase::setName() and getName()
	to set/get names. To search for objects by name, see
	SoNode::getByName(), SoPath::getByName(), and
	SoEngine::getByName(). Also, the SoSearchAction can now search
	based on the name.
     OpenGL rendering
	Open Inventor 2.0 uses OpenGL for all rendering; there are no
	calls to Iris GL in Inventor 2.0. If you have written derived
	node classes in 1.0, the Iris GL code must be re-written to
	OpenGL.
     Printing
	Printing has been completely reimplemented using OpenGL
	rendering to an off-screen image. All rendering features can
	now be printed (e.g. textures and transparency).
     Render Culling
	Inventor now supports object level culling to the viewport.
	Culling, like caching, is controlled by SoSeparators.
     Unknown nodes
	Inventor 2.0 reads unrecognized node classes from file and
	attempts to use them. When an unknown class is read, Inventor
	will search for an accompanying DSO file and use it, (uses
	environment variable LD_LIBRARY_PATH to search for file
	classname.so) If none is found, an SoUnknownNode or
	SoUnknownEngine is created and used instead.

	Inventor 2.0 also supports a special option for nodes called
	alternateRep. It can store a scene graph composed of standard
	Inventor nodes which will be rendered as a stand-in for your
	unrecognized node. During writing, the node or engine is
	written back out. Note that this mechanism works only with
	Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
	will still generate a read error. This mechanism allows user
	subclassed nodes to be exportable, renderable, and re- usable.
     SoEngine
	A new class of objects used for animation and behavior.
	Engines are lightweight objects that are connected between
	nodes, the clock, and other engines to form interesting
	behaviorial objects (e.g. spinning windmill). Engines can be
	written to file along with the 3d scene.

Up: SGI inventor Frequently Asked Questions (FAQ)
Next: -18- How hard is it to port from IRIS Inventor to Open Inventor?
Previous: -16- Why isn't Open Inventor available on the VGX/PI/GTX or GT?