home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / sgi / faq / inventor < prev    next >
Encoding:
Internet Message Format  |  1994-10-06  |  17.8 KB

  1. Path: bloom-beacon.mit.edu!grapevine.lcs.mit.edu!olivea!charnel.ecst.csuchico.edu!yeshua.marcam.com!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!cs.utexas.edu!news.tamu.edu!sgi-faq
  2. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  3. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  4. Subject: SGI inventor Frequently Asked Questions (FAQ)
  5. Supersedes: <inventor_780040807@viz.tamu.edu>
  6. Followup-To: comp.sys.sgi.misc
  7. Date: 6 Oct 1994 06:02:11 GMT
  8. Organization: Visualization Lab, Texas A&M University
  9. Lines: 415
  10. Approved: news-answers-request@mit.edu
  11. Expires: 3 Nov 1994 06:00:07 GMT
  12. Message-ID: <inventor_781423207@viz.tamu.edu>
  13. Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  14. NNTP-Posting-Host: viz.tamu.edu
  15. Originator: sgi-faq@viz
  16. Xref: bloom-beacon.mit.edu comp.sys.sgi.misc:13801 comp.answers:7662 news.answers:26913
  17.  
  18. Archive-name: sgi/faq/inventor
  19. Last-modified: Wed Aug 24 15:34:32 CDT 1994
  20.  
  21.     SGI inventor Frequently Asked Questions (FAQ)
  22.  
  23. This is one of the Silicon Graphics FAQ series, which consists of:
  24.  
  25.     SGI admin FAQ - IRIX system administration
  26.     SGI apps FAQ - Applications and miscellaneous programming
  27.     SGI audio FAQ - Audio applications and programming
  28.     SGI graphics FAQ - Graphics and user environment customization
  29.     SGI hardware FAQ - Hardware
  30.     SGI Impressario FAQ - IRIS Impressario
  31.     SGI Inventor FAQ - IRIS Inventor
  32.     SGI misc FAQ - Introduction & miscellaneous information
  33.     SGI movie FAQ - Movies
  34.     SGI Performer FAQ - IRIS Performer
  35.     SGI pointer FAQ - Pointer to the other FAQs
  36.  
  37. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  38. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  39. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  40. can't find one of the FAQs with your news program, you can get it by
  41. anonymous FTP from one of these sites:
  42.  
  43.     rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
  44.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  45.     rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
  46.     viz.tamu.edu:/pub/sgi/faq/
  47.  
  48. Note that rtfm.mit.edu is home to many other FAQs and informational
  49. documents, and is a good place to look if you can't find an answer
  50. here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
  51. the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
  52. in the text, and it will send you a document describing how to FTP by
  53. mail. You can also read a hypertext version of the FAQs at
  54.  
  55.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  56.  
  57. The SGI FAQs are freely distributable and we encourage wide circulation.
  58. The contents are accurate as far as we know, but the usual disclaimers
  59. apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
  60.  
  61. Topics covered in this FAQ:
  62. ---------------------------
  63.    -1- What is Open Inventor?
  64.    -2- What is IRIS Inventor?
  65.    -3- Is Inventor a format for 3D data?
  66.    -4- Can I use Inventor to create 3D objects?
  67.    -5- Is Inventor a user interface toolkit?
  68.    -6- Is there a performance cost using a software layer on top of GL?
  69.    -7- Does Inventor require C++?
  70.    -8- Does Inventor work with the GNU C++ compiler?
  71.    -9- Does Inventor have a Fortran or Ada API?
  72.   -10- Where can I get detailed, technical information on Inventor?
  73.   -11- How much does Inventor cost?
  74.   -12- How can I order Inventor software and/or documentation?
  75.   -13- How can I learn Inventor Programming?
  76.   -14- What version of Open Inventor runs on which version of IRIX?
  77.   -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
  78.   -16- What new features are in Open Inventor that weren't in IRIS
  79.        Inventor?
  80.   -17- Will my IRIS Inventor programs stop working if I install Open
  81.        Inventor?
  82.   -18- How hard is it to port from IRIS Inventor to Open Inventor?
  83.   -19- When I compile my Inventor program, I get an error in
  84.        SoDebugError.h.
  85.   -20- What version of IRIS Inventor runs on which version of IRIX?
  86.   -21- Will I be automatically upgraded to Open Inventor if I have IRIS
  87.        Inventor?
  88.   -22- Why do I get errors compiling the Inventor sample programs?
  89.  
  90. ----------------------------------------------------------------------
  91.  
  92. Subject:    -1- What is Open Inventor?
  93. Date: 30 Apr 94 15:45:00 CDT
  94.  
  95. Open Inventor is an object-oriented 3D toolkit offering a comprehensive
  96. solution to interactive graphics programming problems. It presents a
  97. programming model based on a 3D scene database that dramatically simplifies
  98. graphics programming. It includes a rich set of objects such as cubes,
  99. polygons, text, materials, cameras, lights, trackballs, handle boxes, 3D
  100. viewers, and editors that speed up your programming time and extend your
  101. 3D programming capabilities. 
  102.  
  103. Open Inventor: 
  104.     o is built on top of OpenGL 
  105.     o defines a standard file format for 3D data interchange 
  106.     o introduces a simple event model for 3D interaction 
  107.     o provides animation objects called Engines 
  108.     o provides high performance object picking 
  109.     o is window system and platform independent 
  110.     o supports PostScript printing 
  111.     o encourages programmers to create new customized objects 
  112.     o is fun to use 
  113.  
  114. ------------------------------
  115.  
  116. Subject:    -2- What is IRIS Inventor?
  117. Date: 30 Apr 94 15:45:00 CDT
  118.  
  119. IRIS Inventor was the first release of Inventor; it is also known as
  120. Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of IRIS
  121. GL rather than OpenGL, and has fewer features. 
  122.  
  123. ------------------------------
  124.  
  125. Subject:    -3- Is Inventor a format for 3D data?
  126. Date: 30 Apr 94 15:45:00 CDT
  127.  
  128. Inventor defines a powerful, extensible format for 3D objects and scenes.
  129. The Inventor format is the standard for 3D objects on Silicon Graphics
  130. machines, and may become the standard for all machines. 
  131.  
  132. However, Inventor is more than a 3D object file format; it is a complete
  133. toolkit for writing interactive, 3D applications. 
  134.  
  135. ------------------------------
  136.  
  137. Subject:    -4- Can I use Inventor to create 3D objects?
  138. Date: 30 Apr 94 15:45:00 CDT
  139.  
  140. Inventor is for programmers writing 3D applications, and does not directly
  141. provide any way for users to create 3D objects. Several Inventor applications
  142. have been written that create 3D objects.
  143.  
  144. Showcase 3.0, which is bundled with IRIX, is a fairly simple example.  A much
  145. more sophisticated modeller called Movieola built on top of Inventor is
  146. available from Radiance Software International. 
  147.  
  148. ------------------------------
  149.  
  150. Subject:    -5- Is Inventor a user interface toolkit?
  151. Date: 30 Apr 94 15:45:00 CDT
  152.  
  153. Yes and no. Inventor contains mostly 3D objects. There is little in the way
  154. of conventional user interface objects such as buttons, dialogs, and menus.
  155. However, Inventor includes a full-fledged event model, a framework designed
  156. for 2D or 3D user interaction, and some manipulator objects for 3D user
  157. interface building. Note that the Inventor Xt Component and Utility Library
  158. includes some traditional 2D user interface widgets. 
  159.  
  160. ------------------------------
  161.  
  162. Subject:    -6- Is there a performance cost using a software layer on
  163.                 top of GL?
  164. Date: 30 Apr 94 15:45:00 CDT
  165.  
  166. Sometimes. Note that few GL programs achieve peak graphics performance. This
  167. is because most applications have natural application overhead, and also
  168. because many programmers lack a thorough understanding of the details and
  169. eccentricities of GL. If you are writing a simple display-only, immediate-mode
  170. GL program, then it will run faster using straight GL, but not much. However,
  171. if your program has scene traversal, interactivity, picking, bounding box
  172. calculations, and other object space tasks, then Inventor will perform better
  173. for you. This is because Inventor is specially tuned to make optimal use of
  174. GL on each SGI machine. Furthermore, Inventor supports render caching which
  175. results in peak GL performance in most cases. 
  176.  
  177. We have found that in many cases, Inventor programs run FASTER than the
  178. original GL program, and that the programmer productivity increases easily
  179. outweigh the overhead of the toolkit. 
  180.  
  181. ------------------------------
  182.  
  183. Subject:    -7- Does Inventor require C++?
  184. Date: 30 Apr 94 15:45:00 CDT
  185.  
  186. No. You can use the C API and never see or use C++. However, subclassing to
  187. extend the toolkit does require C++. 
  188.  
  189. ------------------------------
  190.  
  191. Subject:    -8- Does Inventor work with the GNU C++ compiler?
  192. Date: 30 Apr 94 15:45:00 CDT
  193.  
  194. No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and SGI's C++
  195. compiler produce incompatible code, and Silicon Graphics does not ship an
  196. Inventor library compatible with GNU C++. 
  197.  
  198. ------------------------------
  199.  
  200. Subject:    -9- Does Inventor have a Fortran or Ada API?
  201. Date: 30 Apr 94 15:45:00 CDT
  202.  
  203. No. 
  204.  
  205. ------------------------------
  206.  
  207. Subject:   -10- Where can I get detailed, technical information on
  208.                 Inventor?
  209. Date: 30 Apr 94 15:45:00 CDT
  210.  
  211. The Inventor Mentor, written by Josie Wernecke, is published by Addison-Wesley
  212. and is available in technical bookstores (ISBN 0-201-62495-8). 
  213.  
  214. ------------------------------
  215.  
  216. Subject:   -11- How much does Inventor cost?
  217. Date: 30 Apr 94 15:45:00 CDT
  218.  
  219. If you want to write Inventor applications on SGI machines, you need the
  220. Inventor developer's option. This option costs $995 for the Open Inventor
  221. release and $495 for the IRIS Inventor releases. There are no royalties for
  222. distributing applications based on Inventor. 
  223.  
  224. Every SGI machine is shipped with the libraries needed to run Inventor
  225. applications (they are part of the inventor_eoe installation subsystem);
  226. users that want to run Inventor applications on SGI machines do not need
  227. to pay anything extra. 
  228.  
  229. ------------------------------
  230.  
  231. Subject:   -12- How can I order Inventor software and/or documentation?
  232. Date: 30 Apr 94 15:45:00 CDT
  233.  
  234. Call your local SGI sales representative or 1-800-800-7441 to order. 
  235.  
  236. ------------------------------
  237.  
  238. Subject:   -13- How can I learn Inventor Programming?
  239. Date: 30 Apr 94 15:45:00 CDT
  240.  
  241. SGI Technical Education offers a week-long course in Inventor Programming.
  242. Call 1-800-800-4SGI to sign up. 
  243.  
  244. ------------------------------
  245.  
  246. Subject:   -14- What version of Open Inventor runs on which version of
  247.                 IRIX?
  248. Date: 30 Apr 94 15:45:00 CDT
  249.  
  250. Inventor 2.0 runs on IRIX 5.2 and higher only. 
  251.  
  252. ------------------------------
  253.  
  254. Subject:   -15- Why isn't Open Inventor available on the VGX/PI/GTX or
  255.                 GT?
  256. Date: 30 Apr 94 15:45:00 CDT
  257.  
  258. Open Inventor requires OpenGL, which is not currently available on older
  259. SGI machines. 
  260.  
  261. ------------------------------
  262.  
  263. Subject:   -16- What new features are in Open Inventor that weren't in
  264.                 IRIS Inventor?
  265. Date: 30 Apr 94 15:45:00 CDT
  266.  
  267. Some of the main features that are new with Open Inventor are: 
  268.  
  269.    Open Inventor Licensing 
  270.       Open Inventor 2.0 represents the first release of Inventor that
  271.       is licensed to third parties to run on other platforms (e.g., Sun,
  272.       HP). 
  273.    The Inventor Mentor and The Inventor Toolmaker 
  274.       Since Open Inventor has been licensed to run on other
  275.       platforms, the programming guides have been published and
  276.       distributed by Addison-Wesley Publishing Company. The
  277.       books are typically available through bookstores that offer a
  278.       good technical book selection. The Inventor Mentor is volume
  279.       I of the programming guide and describes the fundamentals
  280.       of Inventor programming (ISBN 0-201-62495-8). The
  281.       Inventor Toolmaker is volume II and provides advanced
  282.       information for programmers who want to extend Inventor. 
  283.    Automatic caching 
  284.       Open Inventor supports intelligent, automatic caching on the
  285.       parts of the database that are not changing. Previously,
  286.       caching was either `on' or `off' (set at SoSeparator nodes).
  287.       Inventor 2.0 supports a third setting, `auto'. This
  288.       SIGNIFICANTLY improves performance and simplifies
  289.       programming. 
  290.    Error handling 
  291.       Inventor now supports a formal error handling system. Note
  292.       that the API was not affected by this change. All Inventor
  293.       error messages are now posted to an SoError class. The
  294.       application can supply its own error handlers, thus making it
  295.       possible to route error messages to dialogs, as well as stderr or
  296.       stdout. All handlers are called by the SoError::handleError()
  297.       method. When debugging, you can set a breakpoint on this
  298.       method to stop right before an error is handled. 
  299.    Geometry primitives and SoCallbackAction 
  300.       A new feature has been added to the generic Inventor
  301.       traversal action, SoCallbackAction, that allows for shapes to
  302.       return primitives (triangles, lines, points, normals, texture
  303.       coords, etc.) describing the object. 
  304.    Naming 
  305.       Nodes, paths, and engines can have names (strings)
  306.       associated with them. There are methods on
  307.       SoBase::setName() and getName() to set/get names. To search
  308.       for objects by name, see SoNode::getByName(),
  309.       SoPath::getByName(), and SoEngine::getByName(). Also, the
  310.       SoSearchAction can now search based on the name. 
  311.    OpenGL rendering 
  312.       Open Inventor 2.0 uses OpenGL for all rendering; there are no
  313.       calls to Iris GL in Inventor 2.0. If you have written derived
  314.       node classes in 1.0, the Iris GL code must be re-written to
  315.       OpenGL. 
  316.    Printing 
  317.       Printing has been completely reimplemented using OpenGL
  318.       rendering to an off-screen image. All rendering features can
  319.       now be printed (e.g. textures and transparency). 
  320.    Render Culling 
  321.       Inventor now supports object level culling to the viewport.
  322.       Culling, like caching, is controlled by SoSeparators. 
  323.    Unknown nodes 
  324.       Inventor 2.0 reads unrecognized node classes from file and
  325.       attempts to use them. When an unknown class is read,
  326.       Inventor will search for an accompanying DSO file and use it,
  327.       (uses environment variable LD_LIBRARY_PATH to search
  328.       for file classname.so) If none is found, an SoUnknownNode or
  329.       SoUnknownEngine is created and used instead. 
  330.  
  331.       Inventor 2.0 also supports a special option for nodes called
  332.       alternateRep. It can store a scene graph composed of standard
  333.       Inventor nodes which will be rendered as a stand-in for your
  334.       unrecognized node. During writing, the node or engine is
  335.       written back out. Note that this mechanism works only with
  336.       Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
  337.       will still generate a read error. This mechanism allows user
  338.       subclassed nodes to be exportable, renderable, and re- usable.
  339.  
  340.    SoEngine 
  341.       A new class of objects used for animation and behavior.
  342.       Engines are lightweight objects that are connected between
  343.       nodes, the clock, and other engines to form interesting
  344.       behaviorial objects (e.g. spinning windmill). Engines can be
  345.       written to file along with the 3d scene. 
  346.  
  347. ------------------------------
  348.  
  349. Subject:   -17- Will my IRIS Inventor programs stop working if I install
  350.                 Open Inventor?
  351. Date: 30 Apr 94 15:45:00 CDT
  352.  
  353. No. The Inventor 2.0 run-time system (inventor_eoe) contains a complete set
  354. of compatibility libraries that will allow existing IRIS Inventor applications
  355. to continue to work. If necessary, it is possible to install both the Inventor
  356. 2.0 and Inventor 1.1.2 development environments on the same machine; see the
  357. Inventor 2.0 release notes for details. 
  358.  
  359. ------------------------------
  360.  
  361. Subject:   -18- How hard is it to port from IRIS Inventor to Open
  362.                 Inventor?
  363. Date: 30 Apr 94 15:45:00 CDT
  364.  
  365. Most Inventor programs will be fairly easy to port. The Inventor 2.0 release
  366. notes contain detailed information on converting your application. Most of your
  367. porting job will be fixing minor syntax changes (e.g. some length() methods
  368. were renamed getLength() for consistency with the rest of the toolkit) and
  369. fixing #include lines for files under /usr/include/Inventor that were moved
  370. around (e.g. all of the Xt components are now under /usr/include/Inventor/Xt). 
  371.  
  372. Inventor programs that contain a lot of IRIS GL code or that made extensive
  373. use of Inventor subclassing will be more difficult to port, since they will
  374. have to be ported to OpenGL and since the internal structure of Inventor
  375. underwent some major changes. 
  376.  
  377. ------------------------------
  378.  
  379. Subject:   -19- When I compile my Inventor program, I get an error in
  380.                 SoDebugError.h.
  381. Date: 30 Apr 94 15:45:00 CDT
  382.  
  383. You, or something you #include, are #include'ing the IRIS GL header file
  384. (gl/gl.h). It does: "#define WARNING 2", which conflicts with the enum value
  385. called "WARNING" in SoDebugError. You cannot mix Open Inventor with IRIS GL
  386. anyway (because you cannot mix OpenGL with IRIS GL), so you should fix your
  387. program so it doesn't try to #include <gl/gl.h> it should use <GL/gl.h> the
  388. OpenGL include file. 
  389.  
  390. ------------------------------
  391.  
  392. Subject:   -20- What version of IRIS Inventor runs on which version of
  393.                 IRIX?
  394. Date: 30 Apr 94 15:45:00 CDT
  395.  
  396.  
  397.        IRIX     IRIS Inventor Version
  398.      --------------------------------
  399.       3.3.*   | (Inventor is not available for IRIX 3.*)
  400.       4.0.*   | 1.0.1
  401.       5.0.1   | (bad release... do not use)
  402.       5.1.*   | 1.1.2
  403.       5.2.*   | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
  404.  
  405. ------------------------------
  406.  
  407. Subject:   -21- Will I be automatically upgraded to Open Inventor if I
  408.                 have IRIS Inventor?
  409. Date: 30 Apr 94 15:45:00 CDT
  410.  
  411. Customers with software maintenance contracts that have purchased the
  412. Inventor 1.0 developer's option will receive the Inventor 2.0 developer's
  413. option when they receive IRIX 5.2. 
  414.  
  415. ------------------------------
  416.  
  417. Subject:   -22- Why do I get errors compiling the Inventor sample
  418.                 programs?
  419. Date: 30 Apr 94 15:45:00 CDT
  420.  
  421. Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.* installed
  422. on your system, you must specify the -v2 flag to compile Inventor programs. 
  423.  
  424. Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*. 
  425.  
  426. ------------------------------
  427.  
  428. End of sgi/faq/inventor Digest
  429. ******************************
  430. -- 
  431. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  432. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  433.