1 / 13

Open Inventor

Open Inventor. A short introduction. Capabilities of Open Inventor. Easy construction of 3D scenes User i nteraction Animation. Overview. Open Inventor is a “ s cenegraph“ graphics API: All visible objects are stored in a scenegraph Built on top of OpenGL. Scenegraph Anatomy.

caesar
Download Presentation

Open Inventor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Inventor A short introduction

  2. Capabilities of Open Inventor • Easy construction of 3D scenes • User interaction • Animation

  3. Overview • Open Inventor is a “scenegraph“ graphics API: All visible objects are stored in a scenegraph • Built on top of OpenGL

  4. Scenegraph Anatomy There are three kinds of nodes: • Group nodes: allow construction of trees • Property nodes: change the color / location / ... of the next object • Shapes: visible objects

  5. Common node types • Group nodes • SoGroup SoSeparator, SoSwitch, ... • Property nodes • Transform: SoTransform, SoRotation, ... • Appearance: SoMaterial, SoDrawStyle, ... • Shape nodes • SoShape SoCone, SoCube, SoText2, ...

  6. Scene objects class name prefix: So (scene object) • derived from SoNode • can be inserted directly into the scenegraph Example: root->addChild(new SoSphere)

  7. Fields class name prefix: SoSF/SoMF (Single Field/Multiple Field) • public attributes of Scene objects • specify the appearance of scene objects (like radius, height, color ...)

  8. ... Fields • Newly created scene Objects have fields with default values • Fields can be “connected“ to other fields • Fields can be changed using setValue(s): Example: SoSphere *sphere = new SoSphere; ... sphere->radius.setValue(3);

  9. Typical Open Inventor code ... SoSeparator *root = new SoSeparator; SoTranslation *t = new SoTranslation; t->translation.setValue(2, 0, 0); root->addChild(t); root->addChild(new SoCube); ...

  10. Loading Scenes Loading scenes is very easy: SoInput scene; scene.openFile("chessboard.iv"); root = SoDB::readAll(&scene);

  11. Advanced Topics • Manipulators allow the user to modify the scene • Actions compute bounding boxes, picks objects ... • Sensors can detect changes in the scene and invoke callback functions • Engines can animate the scene

  12. A few tips... • Follow the setup tutorial for Coin3D! • You need a new So... class? You need a new #include statement! • Don‘t forget to insert your nodes into the scene graph!

  13. Resources • Coin3D: A free implementation of Open Inventor www.coin3d.org • Inventor Mentor: A good online reference book • Another presentation: http://vrlab.postech.ac.kr/vr/gallery/edu/vr/openinventor.ppt • dev-gallery: Some simple tutorials www.dev-gallery.com/programming/openInventor/main.html

More Related