SGI inventor Frequently Asked Questions (FAQ)
From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
Newsgroups: comp.sys.sgi.misc
Subject: SGI inventor Frequently Asked Questions (FAQ)
Date: 6 Jul 2001 05:59:45 GMT
Message-ID: <inventor_994399215@viz.tamu.edu>
Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
Archive-name: sgi/faq/inventor
Last-modified: Wed Oct 6 1:00:04 CDT 1999
Posting-Frequency: Twice monthly
URL: http://www-viz.tamu.edu/~sgi-faq/
SGI inventor Frequently Asked Questions (FAQ)
This is one of the Silicon Graphics FAQ series, which consists of:
SGI admin FAQ - IRIX system administration
SGI apps FAQ - Applications and miscellaneous programming
SGI audio FAQ - Audio applications and programming
SGI diffs FAQ - Changes to the other FAQs since the last posting
SGI graphics FAQ - Graphics and user environment customization
SGI hardware FAQ - Hardware
SGI impressario FAQ - IRIS Impressario
SGI inventor FAQ - IRIS Inventor
SGI misc FAQ - Introduction & miscellaneous information
SGI movie FAQ - Movies
SGI performer FAQ - IRIS Performer
SGI pointer FAQ - Pointer to the other FAQs
SGI security FAQ - IRIX security
Read the misc FAQ for information about the FAQs themselves. Each FAQ is
posted to comp.sys.sgi.misc and to the news.answers and comp.answers
newsgroups (whose purpose is to store FAQs) twice per month. If you
can't find one of the FAQs with your news program, you can get it from
ftp://viz.tamu.edu/pub/sgi/faq/
ftp://rtfm.mit.edu/pub/usenet/news.answers/sgi/faq/
(rtfm.mit.edu is home to many other FAQs and informational documents,
and is a good place to look if you can't find an answer here.) The FAQs
are on the World Wide Web at
http://www-viz.tamu.edu/~sgi-faq/
If you can't use FTP or WWW, send mail to mail-server@rtfm.mit.edu with
the word 'help' on a line by itself in the text, and it will send you a
document describing how to get files from rtfm.mit.edu by mail. Send the
command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
and similarly for the other FAQs. Send the command 'send
usenet/news.answers/internet-services/access-via-email' to get the
"Accessing the Internet by E-Mail FAQ".
You may distribute the SGI FAQs freely and we encourage you to do so.
However, you must keep them intact, including headers and this notice,
and you must not charge for or profit from them. Contact us for other
arrangements. We can't be responsible for copies of the SGI FAQs at
sites which we do not control, and copies published on paper or CD-ROM
are certain to be out of date. The contents are accurate as far as we
know, but the usual disclaimers apply. Send additions and changes to
sgi-faq@viz.tamu.edu.
Topics covered in this FAQ:
---------------------------
-1- GENERAL QUESTIONS
-2- What is Open Inventor?
-3- What is IRIS Inventor?
-4- Is Inventor a format for 3D data?
-5- Can I use Inventor to create 3D objects?
-6- Is Inventor a user interface toolkit?
-7- Is there a performance cost using a software layer on top of GL?
-8- Does Inventor require C++?
-9- Does Inventor work with the GNU C++ compiler?
-10- Does Inventor have a Fortran or Ada API?
-11- Where can I get detailed, technical information on Inventor?
-12- How can I order Inventor software and/or documentation?
-13- How can I learn Inventor Programming?
-14- QUESTIONS ABOUT OPEN INVENTOR
-15- What version of Open Inventor runs on which version of IRIX?
-16- What Silicon Graphics platforms support Open Inventor?
-17- What are the new features in Open Inventor 2.1?
-18- How hard is it to port from IRIS Inventor to Open Inventor?
-19- How hard is it to port from Open Inventor 2.0.1 to Open Inventor
2.1?
-20- How can I make my Open Inventor application faster?
-21- When I compile my Inventor program, I get an error in
SoDebugError.h.
-22- QUESTIONS ABOUT IRIS INVENTOR
-23- What version of IRIS Inventor runs on which version of IRIX?
-24- Will I be automatically upgraded to Open Inventor if I have IRIS
Inventor?
-25- Will my IRIS Inventor programs stop working if I install Open
Inventor?
-26- Can I develop Open and IRIS Inventor programs on the same system?
-27- Prerequisite error installing Inventor 1.1.2
-28- Why do I get errors compiling the Inventor sample programs?
Subject: -1- GENERAL QUESTIONS
Date: 06 May 1995 00:00:01 EST
General questions.
Subject: -2- What is Open Inventor?
Date: 30 Apr 1994 15:45:00 CDT
Open Inventor is an object-oriented 3D toolkit offering a
comprehensive solution to interactive graphics programming problems.
It presents a programming model based on a 3D scene database that
dramatically simplifies graphics programming. It includes a rich set
of objects such as cubes, polygons, text, materials, cameras, lights,
trackballs, handle boxes, 3D viewers, and editors that speed up your
programming time and extend your 3D programming capabilities.
Open Inventor:
o is built on top of OpenGL
o defines a standard file format for 3D data interchange
o introduces a simple event model for 3D interaction
o provides animation objects called Engines
o provides high performance object picking
o is window system and platform independent
o supports PostScript printing
o encourages programmers to create new customized objects
o is fun to use
Subject: -3- What is IRIS Inventor?
Date: 30 Apr 1994 15:45:00 CDT
IRIS Inventor was the first release of Inventor; it is also known as
Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of
IRIS GL rather than OpenGL, and has fewer features.
Subject: -4- Is Inventor a format for 3D data?
Date: 30 Apr 1994 15:45:00 CDT
Inventor defines a powerful, extensible format for 3D objects and
scenes. The Inventor format is the standard for 3D objects on
Silicon Graphics machines, and may become the standard for all
machines.
However, Inventor is more than a 3D object file format; it is a
complete toolkit for writing interactive, 3D applications.
Subject: -5- Can I use Inventor to create 3D objects?
Date: 30 Apr 1994 15:45:00 CDT
Inventor is for programmers writing 3D applications, and does not
directly provide any way for users to create 3D objects. Several
Inventor applications have been written that create 3D objects.
Showcase 3.0, which is bundled with IRIX, is a fairly simple
example. A much more sophisticated modeller called Ez3d built on
top of Inventor is available from Radiance Software International.
Subject: -6- Is Inventor a user interface toolkit?
Date: 30 Apr 1994 15:45:00 CDT
Yes and no. Inventor contains mostly 3D objects. There is little in
the way of conventional user interface objects such as buttons,
dialogs, and menus. However, Inventor includes a full-fledged event
model, a framework designed for 2D or 3D user interaction, and some
manipulator objects for 3D user interface building. Note that the
Inventor Xt Component and Utility Library includes some traditional
2D user interface widgets.
Subject: -7- Is there a performance cost using a software layer on
top of GL?
Date: 30 Apr 1994 15:45:00 CDT
Sometimes. Note that few GL programs achieve peak graphics
performance. This is because most applications have natural
application overhead, and also because many programmers lack a
thorough understanding of the details and eccentricities of GL. If
you are writing a simple display-only, immediate-mode GL program,
then it will run faster using straight GL, but not much. However, if
your program has scene traversal, interactivity, picking, bounding
box calculations, and other object space tasks, then Inventor will
perform better for you. This is because Inventor is specially tuned
to make optimal use of GL on each SGI machine. Furthermore, Inventor
supports render caching which results in peak GL performance in most
cases.
We have found that in many cases, Inventor programs run FASTER than
the original GL program, and that the programmer productivity
increases easily outweigh the overhead of the toolkit.
Subject: -8- Does Inventor require C++?
Date: 30 Apr 1994 15:45:00 CDT
No. You can use the C API and never see or use C++. However,
subclassing to extend the toolkit does require C++.
Subject: -9- Does Inventor work with the GNU C++ compiler?
Date: 30 Apr 1994 15:45:00 CDT
No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and
SGI's C++ compiler produce incompatible code, and Silicon Graphics
does not ship an Inventor library compatible with GNU C++.
Subject: -10- Does Inventor have a Fortran or Ada API?
Date: 09 Jan 1996 00:00:01 PST
No. Silicon Graphics is, however, in the process of creating an Ada95
binding for Open Inventor.
Subject: -11- Where can I get detailed, technical information on
Inventor?
Date: 30 Apr 1994 15:45:00 CDT
The Inventor Mentor, written by Josie Wernecke, is published by
Addison-Wesley and is available in technical bookstores (ISBN
0-201-62495-8).
Subject: -12- How can I order Inventor software and/or documentation?
Date: 09 Jan 1996 00:00:01 PST
On SGI machines, call your local SGI sales representative or, if you
are in the United States, call 1-800-800-7441 to order.
NeTpower provides Open Inventor for Windows NT for both Intel and
MIPS Windows NT platforms. For more information pricing and
availability of Open nventor for NT, call NeTpower Sales and Customer
Service at: 800-801-0900, or send email to info@netpower.com.
Portable Graphics provides (or will soon provide) Open Inventor for
the following platforms:
* HP Series 700 workstations with Freedom Series
* IBM RS/6000 workstations (AIX v3.2.5 and 4.x)
* Sun SPARCstations (Solaris 2.3 & 2.4)
* Windows NT (Intel platform)
* Windows NT (PowerPC platform)
* DEC AlphaStation/Digital UNIX
* DEC AlphaStation/Windows NT
* Linux
* Sun SPARCstations with Freedom Series
* OS/2 Warp (PowerPC and Intel platforms)
* Windows 95 (PowerPC and Intel platforms)
* MESA
* PowerMac
Portable Graphics also supplies:
* IRIS Inventor for HP workstations
* IRIS Inventor for Sun workstations
For product availability and pricing, please contact Portable
Graphics at:
Portable Graphics
"An Evans & Sutherland Company"
3006 Longhorn Blvd., Suite 105
Austin, TX 78758
(512) 719-8000
(512) 832-0752 (fax)
Template Graphics Software provides (or will soon provide) Open
Inventor on the following platforms:
* Sun Solaris (SPARC and X86)
* IBM AIX
* Windows NT 3.5 (Intel, Alpha, MIPS, PowerPC)
* Windows 95
* HP-UX
* Apple PowerMac
* OS/2
* Digital UNIX
For additional information on TGS graphics software visit their web
page or send email to info@tgs.com. Template Graphics Software may
also be reached at:
Template Graphics Software
9920 Pacific Heights Blvd. #200
San Diego, CA 92121
Robert J. Weideman, V.P. Marketing
(619)457-5359 x229
(619)452-2547 (fax)
robert@tgs.com
Subject: -13- How can I learn Inventor Programming?
Date: 09 Jan 1996 00:00:01 PST
SGI Technical Education offers a week-long course in Inventor
Programming. Call 1-800-800-4SGI to sign up or visit the SGI
Technical Education Web Page for a schedule of upcoming classes.
Portable Graphics also offers an introductory programming course for
Open Inventor. "Introduction to Open Inventor Programming" is a
two-day course that covers the material presented in "The Inventor
Mentor" using demonstrations, examples and lecture. It includes a
copy of "The Inventor Mentor", code examples and course notes.
For a course outline and registration information, contact:
Phone: (800) 580-1166
Fax: (800) 580-0616
E-mail: inventor@portable.com
Template Graphics Software provides developer training in North
America, Japan and Europe. For course scheduleplease contact:
Template Graphics Software
(619)457-5359 x251
E-mail info@tgs.com
Web Page http://www.sd.tgs.com/
Subject: -14- QUESTIONS ABOUT OPEN INVENTOR
Date: 06 May 1995 00:00:01 EST
Questions about Open Inventor.
Subject: -15- What version of Open Inventor runs on which version of
IRIX?
Date: 09 Jan 1996 00:00:01 PST
Inventor 2.0 runs on IRIX 5.2
Inventor 2.0.1 runs on IRIX 5.3
Inventor 2.1.x runs on IRIX 5.3, Irix 6.1 and higher
Subject: -16- What Silicon Graphics platforms support Open Inventor?
Date: 09 Jan 1996 00:00:01 PST
Open Inventor supports the following SGI graphics platforms:
Reality Engine
IMPACT
Express Graphics (Extreme, Elan, XZ)
Indy Graphics
VGX, VGXT
PI Graphics
Subject: -17- What are the new features in Open Inventor 2.1?
Date: 09 Jan 1996 00:00:01 PST
New Features for Open Inventor 2.1 are:
New and Updated_Documentation
Inventor 2.1 includes a new book, the Open Inventor 2.1 Porting
and Performance Tips.
New File Version
The file version has been updated to 2.1
DSO Directories and Versions
To avoid problems with incompatible code, the places Inventor
searches for Dynamic Shared Objects (DSO) implementing new
nodes has been changed. For details please read the release
notes of Inventor 2.1.
VRML File Supported
The SoDB read methods now also read files with the VRML 1.0
header.
User-Defined File Headers
The SoDB class now includes methods for registering your own
file headers.
SoOutput::setFloatPrecision()
You can now specify a precision to use when writing out
floating point numbers.
SoDB::readAll() Supports Paths
The SoDB::readAll() method now supports reading objects of type
SoNode or SoPath.
New Nodes
Inventor 2.1 now supports the following new nodes. For deatils,
please read the release notes of Inventor 2.1.
SoVertexProperty
SoLOD
SoLocateHighlight
SoWWWAnchor
SoWWWInline
SoAsciiText
SoFontStyle
New Fields
Inventor 2.1 now supports the following new fields. For
details, please read the release notes of Inventor 2.1
specifically regarding: fields and isA.
SoGLRenderAction Render Abort Callback Changes
The render abort callback of the SoGLRenderAction no longer
returns a simple Boolean value. Instead, it returns an abort
code that is one of: CONTINUE, ABORT, PRUNE, or DELAY.
CONTINUE is the same as returning FALSE in previous releases,
and ABORT is the same as TRUE.
New Manipulator for 3D Transformations
A new manipulator, SoTransformerManip, has been added to the
set of Inventor manipulators.
OpenGL Texture Object Extension
Open Inventor 2.1 makes use of the OpenGL extension for texture
objects. Consequently, on systems where this OpenGL extension
is available, you will see improved texture mapping
performance.
Additional Texture File Formats
The Inventor 2.1 SoTexture2 node now supports GIF and JPEG
image files. The JPEG files are read using the fifth public
release of the Independent JPEG's group free JPEG software.
Picking vs. Viewing
When in picking mode in any of the viewers, you can now
temporarily switch to viewing mode by pressing the key. Note
also that the manipulators now use the key as the modifier key,
instead of the key.
Disabling the Viewer Cursor
The application can now set the cursor in the viewer windows
directly, if it first disables the viewer cursor using
SoXtViewer::setCursorEnabled().
Targets for Copy and Paste
The SoXtClipboard supports the following new data targets for
copy and paste:
INVENTOR_2_1
INVENTOR_2_1_FILE
VRML_1_0
VRML_1_0_FILE
INVENTOR_2_0
INVENTOR_2_0_FILE
The targets INVENTOR and INVENTOR_FILE are supported for
backwards compatibility. They are equivalent to INVENTOR_2_0
and INVENTOR_2_0_FILE.
File Downgrade Utility
A new utility program, /usr/sbin/ivdowngrade, takes an Inventor
file and converts it to Inventor version 2.0 or 1.0.
Program for Converting Files to Use SoVertexProperty
This release includes sample source code for a utility program,
ivAddVP, to help convert Inventor files into 2.1 files that use
the vertexProperty field for the vertex- based shapes.
Program for Optimizing Scene Graphs
This release includes a new utility program, /usr/sbin/ivfix
that restructures Inventor scene graphs for improved rendering
performance. (The ivquicken utility program is no longer
supported.) Note that ivfix makes significant changes to the
structure of your scene graph.
Program for Analyzing Rendering Performance
This release includes sample source code for a utility program,
ivperf, for analyzing rendering performance. See Open Inventor
2.1 Porting and Peformance Tips for more information on using
ivperf
Subject: -18- How hard is it to port from IRIS Inventor to Open
Inventor?
Date: 30 Apr 1994 15:45:00 CDT
Most Inventor programs will be fairly easy to port. The Inventor 2.0
release notes contain detailed information on converting your
application. Most of your porting job will be fixing minor syntax
changes (e.g. some length() methods were renamed getLength() for
consistency with the rest of the toolkit) and fixing #include lines
for files under /usr/include/Inventor that were moved around (e.g.
all of the Xt components are now under /usr/include/Inventor/Xt).
Inventor programs that contain a lot of IRIS GL code or that made
extensive use of Inventor subclassing will be more difficult to port,
since they will have to be ported to OpenGL and since the internal
structure of Inventor underwent some major changes.
Subject: -19- How hard is it to port from Open Inventor 2.0.1 to Open
Inventor 2.1?
Date: 09 Jan 1996 00:00:01 PST
Open Inventor 2.1 contains significant performance improvements.
However, Inventor 2.1 is not binary compatible with previous
releases, and programs will have to be recompiled. Some programs may
have to be re-coded to take full advantage of the performance
improvements. Programs that extend the toolkit, as described in The
Inventor Toolmaker, are more likely to need re-coding because parts
of the extender API have changed. For details, please read Open
Inventor 2.1 Porting and Performance Tips insight book.
Subject: -20- How can I make my Open Inventor application faster?
Date: 09 Jan 1996 00:00:01 PST
Read chapter 6 of "Open Inventor 2.1 Porting and Performance Tips"
insight book. It describes a step by step method to find out your
performance bottleneck and gives you some tips to optimize them.
Subject: -21- When I compile my Inventor program, I get an error in
SoDebugError.h.
Date: 30 Apr 1994 15:45:00 CDT
You, or something you #include, are #include'ing the IRIS GL header
file (gl/gl.h). It does: "#define WARNING 2", which conflicts with
the enum value called "WARNING" in SoDebugError. You cannot mix Open
Inventor with IRIS GL anyway (because you cannot mix OpenGL with IRIS
GL), so you should fix your program so it doesn't try to #include
<gl/gl.h> it should use <GL/gl.h> the OpenGL include file.
Subject: -22- QUESTIONS ABOUT IRIS INVENTOR
Date: 06 May 1995 00:00:01 EST
Questions about Iris Inventor.
Subject: -23- What version of IRIS Inventor runs on which version of
IRIX?
Date: 30 Apr 1994 15:45:00 CDT
IRIX IRIS Inventor Version
--------------------------------
3.3.* | (Inventor is not available for IRIX 3.*)
4.0.* | 1.0.1
5.0.1 | (bad release... do not use)
5.1.* | 1.1.2
5.2.* | Open Inventor 2.0 (1.1.2 on VGX(T)/GT(X)/PI)
Subject: -24- Will I be automatically upgraded to Open Inventor if I
have IRIS Inventor?
Date: 30 Apr 1994 15:45:00 CDT
Customers with software maintenance contracts that have purchased the
Inventor 1.0 developer's option will receive the Inventor 2.0
developer's option when they receive IRIX 5.2.
Subject: -25- Will my IRIS Inventor programs stop working if I install
Open Inventor?
Date: 06 May 1995 00:00:01 EST
No. The Inventor 2.0 run-time system (inventor_eoe) contains a
complete set of compatibility libraries that will allow existing
IRIS Inventor applications to continue to work.
Subject: -26- Can I develop Open and IRIS Inventor programs on the
same system?
Date: 06 May 1995 00:00:01 EST
Yes, as long as your system supports OpenGL (Indy, Indigo, Indigo2,
Crimson, and RealityEngine support OpenGL at this time). First,
install the 2.0 version of both inventor_dev and inventor_eoe.
REALLY IMPORTANT: When installing Inventor 2.0, previous Inventor
versions will AUTOMATICALLY be removed.
To re-install 1.1.2, you will need to use the 1.1.2 CD* to install
1.1.2 into a different location (so as not to ruin 2.0). Please note
that you will have to change the Makefiles of programs that will
compile and link with 1.1.2 (-I and -l need to point to your safe
locations of Inventor 1.1.2). To install Inventor 1.1.2 under a
different root directory than /, so that Inventor 2.0 may be
installed under /:
# Install 1.1.2 compatibility library from Inventor 2.0 images
inst -f inventor_eoe (get inventor_eoe.sw.1_1)
# Create a directory to hold Inventor 1.1.2
mkdir /usr/myroot
# Fool inst into thinking you have prerequisites installed
mkdir -p /usr/myroot/var/inst
cp /var/inst/{c,dev,c_dev,gl_dev,motif_eoe,inventor_eoe} /usr/myroot/var/inst
# Install Inventor 1.1.2 under your root directory
inst -r /usr/myroot -f inventor_dev
To make Inventor 1.1.2 sample programs in this new directory:
ln -s /usr/lib/libInventor.so.1 /usr/myroot/usr/lib/libInventor.so
cd /usr/myroot/usr/share/src/Inventor/examples/PG1
# Add to the Makefile, after the line: include /usr/include/make/commondefs
LC++INCS = -I/usr/myroot/usr/include
LCINCS = -I/usr/myroot/usr/include
LLDOPTS = -L/usr/myroot/usr/lib
To re-install Inventor 1.0.1, install the subsystem
"irix4_inventor_dev", found on the Inventor 2.0 or Inventor 1.1.2
CDs. This will install the 1.0.1 headers and libraries under
/usr/irix4. You must change your makefiles to use include and link
to this new location.
Subject: -27- Prerequisite error installing Inventor 1.1.2
Date: 06 May 1995 00:00:01 EST
Many customers are running into an inst installation prerequisite
error when they try to load inventor_dev 1.1.2 onto their IRIX 5.2
system. This error is due to a name change in c and dev subsystems
between IRIX 5.1 and 5.2. The new name is c_dev. The fix is to load
the *new* inventor_dev 1.1.2 (part # 812-0136-005) made for IRIX 5.2
that came with the Open Inventor 2.0 Development Package. This
version is smart enough to do the right thing. Unfortunately, both
the *old* and *new* inventor_dev 1.1.2 are barely distinguishable
only by their part number and content. The new inventor_dev 1.1.2 has
a Copyright of 1992-94 and does not contain inventor_eoe 1.1.2.
Subject: -28- Why do I get errors compiling the Inventor sample
programs?
Date: 06 May 1995 00:00:01 EST
Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.*
installed on your system, you must specify the -v2 flag to compile
Inventor programs. If you are using the Makefiles distributed with
Inventor, you should change the line that looks like:
LC++OPTS = +p -Wf,-XNp10000
to:
LC++OPTS = -v2 +p -Wf,-XNp10000
Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*; you must remove
the -v2 flag from your Makefiles when you upgrade to those versions
of Inventor.
If you receive this error when compiling:
"/usr/include/X11/X.h", line 44: error:
Cursor declared as unsigned short [16] and XID
You should rearrange the order in which you #include your files so
that the Xt files are included before any file that references the
IRIS GL include file. For example, be sure to #include
<Inventor/SoXt.h> before <Inventor/nodes/SoTexture2.h>.
------------------------------
End of sgi/faq/inventor Digest
******************************
--
The SGI FAQ group <sgi-faq@viz.tamu.edu> http://www-viz.tamu.edu/~sgi-faq/
Finger us for info on the SGI FAQs, or look in ftp://viz.tamu.edu/pub/sgi/.