Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 1 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Web3D (710.090) VRVU.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

Presented by Konstantinos Georgiadis. Abstract This method extends the Hierarchical Radiosity approach for environments whose geometry and surface attributes.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 1 – Introduction to VRML.
Slide 1 Visualization of scientific data under Linux - Techniques and data wrangling Mike Walterman, Manager of Graphics Programming, Scientific Computing.
Scenegraph. Scenegraph Nodes - all implement a run function Leaf/Geo Nodes - typedefs of sgNode superclass –Poly Mesh A geo node that stores a list of.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (4) File Management & Input/Out Systems 10/14/2008 Yang Song (Prepared.
© De Montfort University, D Graphics and VRML Howell Istance and Chris Hand* De Montfort University * now at
Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.
Java 3D Pablo Figueroa University of Alberta April 2000.
CSC 890 Advanced Computer Graphics (Web3D System Design and Development) Ilmi Yoon Monday 4:10 - 6:45.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
3D on-line representations Jan Valcik → introduction, main idea → VRML 97 → building of virtual worlds → VRML 97 at work → X3D → MUDVR → animations, navigation.
Sep 30, I3I3DG&VR CE00539-m Interactive 3D Graphics and Virtual Reality Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
CMPE 466 COMPUTER GRAPHICS
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Graphical Objects and Scene Graphs CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
1 of 12 Scene Graphs: the 50,000 ft View. 2 of 12 Traditional Definition Historical roots: Sketchpad  linear display lists  hierarchical display lists.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Hierarchical Transformations Hierarchical Models Scene Graphs
Basic 3D Graphics Chapter 5. Bird’s Eye View  Basic 3D Graphics –Basic concepts of 3D graphics, rendering pipeline, Java 3D programming, scene graph,
Lesson 1: Intro to Animation
Antigone Engine Kevin Kassing – Period
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
Objectives Review some advanced topics, including Review some advanced topics, including Chapter 8: Implementation Chapter 8: Implementation Chapter 9:
VRML - 1 Virtual Reality Modeling Language (VRML) Peter O’Grady.
Graphical Objects and Scene Graphs 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
Easy Studierstube Applications with a little help from OpenInventor Gerhard Reitmayr Gerhard Reitmayr Vienna University of Technology Vienna University.
Week 2 - Wednesday CS361.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
1 Virtual Reality Modeling Language (VRML97) ©Anthony Steed
Object Orientated Data Topic 5: Multimedia Technology.
Open Inventor A short introduction. Capabilities of Open Inventor Easy construction of 3D scenes User interaction Animation.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
H3D API Training Part 2.1: X3D. Outline  Scene graphs  X3D – XML syntax  X3D components overview.
2008/9/24 Kim, HyungSeok. HyungSeok Kim, Konkuk University Part I: Framework – 1. Windows creation – 2. Renderer – 3. Lights and Objects/Model loading.
MIRALab Where Research means Creativity SVG Open 2005 University of Geneva 1 Converting 3D Facial Animation with Gouraud shaded SVG A method.
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada INESC-ID.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
VRML Anthony Steed Department of Computer Science University College London ©Anthony Steed
Mark Nelson 3d projections Fall 2013
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
In the name of God Computer Graphics.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Graphical Objects and Scene Graphs Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Lecture 7 Midterm Review. OpenGL Libraries gl: Basic OpenGL library, e.g. primitives. glu: OpenGL Utility library, a set of functions to create texture.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Interactive Animation
X3DOM : Integrating 3D content seamlessly into webpage
- Introduction - Graphics Pipeline
3D Modeling & Animation Software
In the name of God Computer Graphics.
MPEG-4 Binary Information for Scenes (BIFS)
Computer Graphics.
Antigone Engine.
SOFTWARE DESIGN AND ARCHITECTURE
Ogre Overview Lecture 3.
Graphical Objects and Scene Graphs
Graphical Objects and Scene Graphs
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Hierarchical Transformations Hierarchical Models Scene Graphs
Hierarchical and Object-Oriented Graphics
Hierarchical and Object-Oriented Graphics
Hierarchical Modeling & Constructive Solid Geometry
Model, View, Controller design pattern
Lecture 3. Virtual Worlds : Representation,Creation and Simulation
Presentation transcript:

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 1 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Web3D ( ) VRVU ( ) SGP ( ) Scenegraph APIs Markus Grabner Graz University of Technology

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 2 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Agenda ● Introduction ● PHIGS ● Open Inventor ● Performer

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 3 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 4 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Introduction ● Rapid prototyping and application development ● Technical realization of hierarchical designs ● Supports re-use of objects ● Further abstraction of graphics hardware ● Access to underlying graphics library possible

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 5 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP PHIGS ● Programmer's Hierarchical Interactive Graphics System ● Interface for 2D/3D graphics (ANSI/ISO 1988) ● Device independent ● Interaction ● Library for different programming languages

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 6 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP PHIGS - example

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 7 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Open Inventor ● Overview ● Inventor Toolkit ● Component library (GUI) ● Extending Open Inventor ● Implementation of scene graph

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 8 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Overview (1) ● C++-library for interactive 3D graphics ● Easy use of graphics hardware ● Scene graph database based on OpenGL ● Flexible library of objects ● File format for 3D Szenen (cut & paste) ● GUI component library (Unix, Windows)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 9 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Overview (2)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 10 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Versions ● SGI Inventor (1992) ● TGS Inventor ● Coin3D (Systems in Motion)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 11 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Inventor Toolkit ● Scene database ● Node Kits ● Manipulators

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 12 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Scene database (1) ● Node is smallest unit ● Information about ● Shape, material ● Geometric transformations ● Light sources, camera ● Many nodes equivalent to OpenGL command

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 13 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Scene database (2) ● Groups: scene graph by partial ordering ● Scene database contains scene graph(s) ● Traversing by applying of actions: ● Rendering ● Selection (by user) ● Output (to file) ● Database elements: ● Nodes (Shape, Properties, Groups) ● Engines, Sensors (e.g., for animations)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 14 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Scene database (3)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 15 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Node Kits ● Collection of nodes ● Predefined subgraph ● Structured, consistent scene database ● Applications: ● Shape objects with all desired properties ● Complex objects (e.g., car, plane) ● Similar to “PROTO” in VRML

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 16 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Manipulators (1) ● Special node type ● Reacts to user input ● Visible representation for interaction ● “3D icon”

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 17 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Manipulators (2) ● “Handle box”: Variation of ● Size ● Position ● Orientation

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 18 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Component library (1) ● Originally for X Windows ● Drawing window or object ● Main loop (input, redraw) ● Event handling ● X event  Inventor event ● Apply SoHandleEventAction to scenegraph ● Nodes can respond selectively ● Editors (e.g., material, light, transformations) ● Viewers (examiner, walk, fly, plane)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 19 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Component library (2)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 20 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Extending Open Inventor ● Very important for program development ● Possibilities: ● Callback-functions (C and C++): ● Reaction to user input in components ● Dedicated nodes in scene graph ● Subclassing (C++) ● Virtual methods (e.g., for rendering)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 21 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Scene graph ● Nodes ● Group nodes ● Fields ● Re-using nodes (references)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 22 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Nodes ● Fundamental element of scene graph ● On creation: root of new graph ● Typically hierarchical structure ● Information stored in fields

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 23 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Node types ● Shape (OpenGL rendering): ● Sphere ● Polygon mesh ● 3D text ● Properties (OpenGL state changes): ● Transformations (translation, scaling, rotation) ● Appearance (color, draw style, lighting) ● Metric (point and texture coordinates, normal vectors) ● Groups

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 24 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Groups (1) ● Children inserted one by one ● Actions applied in sequence of node insertion ● Setting object properties ● Properties remain valid

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 25 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Groups (2)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 26 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Groups (3)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 27 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Groups (4) #Inventor V2.1 ascii Group { Material { diffuseColor specularColor shininess 0.5 } Sphere { radius 1 } } Group { Transform { translation } Material { diffuseColor specularColor shininess 0.5 } Sphere { radius 0.66 } } Group { Transform { translation } Sphere { radius 0.66 } }

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 28 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Group types ● Separator: ● Isolates effects of children nodes ● “Lazy stack”: efficient structuring ● Root should be separator ● Switch (only one child traversed) ● Level Of Detail (Clark 1976): ● Projection of 3D bounding box ● Memory consumption ● Popping

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 29 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Fields ● Extension of C/C++ standard types ● Consistent method for set/get ● React to modifications of scene graph ● Routing (e.g., timer with rotation angle) ● Reading from/writing to file

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 30 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Dependencies ● Enforcing constraints ● Field connections (compatible types) ● Unidirectional ● Explicit bidirectional (no infinite loops) ● Engines for complex dependencies

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 31 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Summary: different graph structures in OpenInventor ● Scene graph: geometric and/or semantic grouping of the scene ● Field dependency graph: consistent update of node properties ● C++ class inheritance graph: makeing common behaviour explicit

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 32 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Re-using nodes (1) ● Same node at different places in scene graph ● Instances distinguished by path ● Current path stored during traversal

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 33 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Re-using nodes (2)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 34 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Re-using nodes (3) Separator { Material { diffuseColor specularColor shininess 0.5 } Sphere { radius 1 } } Separator { Transform { translation } DEF H_Atom Separator { Material { diffuseColor specularColor shininess 0.5 } Sphere { radius 0.66 } } Separator { Transform { translation } USE H_Atom }

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 35 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP References ● Deleting a group deletes all children ● Reference count incremented/decremented ● Groups and paths ● Problems: ● Dereferencing a node that is still in use ● Deleting the root (reference count always 0) ● Applying actions to nodes with reference count 0 ● Solution: explicit referencing/dereferencing

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 36 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Advanced topics ● Actions ● Engines ● Sensors

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 37 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Actions ● Different types: ● Rendering ● User input ● Bounding box ● Responsible for graph traversal (update path) ● OpenInventor extensions in C++: ● Easy: new nodes with same methods ● Hard: new methods for same nodes

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 38 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Engines ● Complex dependencies ● Lazy evaluation ● Types: ● Calculator ● Counter ● Interpolator ● Animation

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 39 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Sensors ● React on changes in database or external events ● Redraw scene graph ● Queues: ● Timer queue ● processed at scheduled time ● alarm and timer sensors ● Delay queue ● processed when application idle ● data sensors ● Example: key animation in VRML introduction

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 40 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP IRIS Performer - overview (1) ● Primary goal: maximum performance ● Problems with previous 3D libraries: ● Performance not platform independent ● Little support for optimization ● Not taking advantage of multiprocessor systems ● Hard to „upgrade“ for multi-threading

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 41 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP IRIS Performer - overview (2) ● Maximum performance by: ● Graphics optimizations: culling, LOD, profiling ● Multiprocessing ● Two libraries: ● libpr (optimized graphics primitives, shared memory) ● libpf (scene hierarchy, multiprocessing, real-time)

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 42 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP IRIS Performer - block diagram

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 43 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Efficient rendering ● Optimization of immediate mode ● Geometry: ● Rendering functions with optimized loops ● Utility library converts objects into triangle meshes ● State management: ● Only top-down inheritance (multiprocessing) ● Global states (e.g., lighting, fog) ● Local states (e.g., material, texture), lazy stack ● Attributes always defined with geometry

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 44 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Hierarchical scenes (1) ● No inner nodes for state changes ● Exception: geometric transformations ● Sorting by graphics mode (up to 50% faster) ● Hierarchy of bounding volumes

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 45 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Hierarchical scenes (2) ● Scene graph traversal for: ● Application ● View-volume culling ● Rendering ● Parallelisation in pipe-line

Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 46 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Thank you for your attention!