1 of 12 Scene Graphs: the 50,000 ft View. 2 of 12 Traditional Definition Historical roots: Sketchpad  linear display lists  hierarchical display lists.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Computer Abstractions and Technology
Intro to Java Monkey Engine Download JME loads/ loads/
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 1 – Introduction to VRML.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Mobile Application Development
Java 3D Pablo Figueroa University of Alberta April 2000.
Figure 1.1 Interaction between applications and the operating system.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
CSC 890 Advanced Computer Graphics (Web3D System Design and Development) Ilmi Yoon Monday 4:10 - 6:45.
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.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
Programming the Cell Multiprocessor Işıl ÖZ. Outline Cell processor – Objectives – Design and architecture Programming the cell – Programming models CellSs.
Introducing Enterprise Technologies David Dischiave Syracuse University School of Information Studies “The original iSchool” June 3, 2013 Information School,
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Marcelo de Paiva Guimarães Bruno Barberi Gnecco Marcelo Knorich Zuffo
Codeplay CEO © Copyright 2012 Codeplay Software Ltd 45 York Place Edinburgh EH1 3HP United Kingdom Visit us at The unique challenges of.
Multicore In Real-Time Systems – Temporal Isolation Challenges Due To Shared Resources Ondřej Kotaba, Jan Nowotsch, Michael Paulitsch, Stefan.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
1 Chapter 1 Overview of Computer Graphics  To understand the basic objectives and scope of computer graphics  To identify computer graphics applications.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
So far we have covered … Basic visualization algorithms Parallel polygon rendering Occlusion culling They all indirectly or directly help understanding.
Chapter 2 Parallel Architecture. Moore’s Law The number of transistors on a chip doubles every years. – Has been valid for over 40 years – Can’t.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Frameworks CompSci 230 S Software Construction.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
An Architecture to Support Context-Aware Applications
Lecture 18: Object-Oriented Design
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Java 3D Web Apps and Services. Presentation Overview l Java3D Overview l Software l Java3D API l Scene Graph Programming Model l Java3D Terminology l.
In the name of God Computer Graphics.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Saarland University, Germany 2 DFKI Saarbrücken, Germany.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Computer Architecture Organization and Architecture
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Game Engines Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (Rules, AI, Scripting, etc.)
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Institute for Computer Graphics and Vision Computer Graphics and Interactive Systems 1 Grabner HS i4, 2006/03/08 Web3D, VRVU, SGP Web3D ( ) VRVU.
Computer Organization and Architecture Lecture 1 : Introduction
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
In the name of God Computer Graphics.
So far we have covered … Basic visualization algorithms
3D Object Representations
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to Computer Graphics with WebGL
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Chapter 4: Threads.
Virtual Machines (Introduction to Virtual Machines)
3D applications in Delphi
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Presentation transcript:

1 of 12 Scene Graphs: the 50,000 ft View

2 of 12 Traditional Definition Historical roots: Sketchpad  linear display lists  hierarchical display lists Retained (cached) data structure created by application, (stored and) processed by graphics subsystem Is a displayable subset of application data structure / database –need to keep two representations in sync Primary purpose: offload main system, improve performance Secondary purpose: provide portable library of common functionality

3 of 12 Traditional Definition (cont.) DAG with geometry at leaves and transformations and rendering attributes at interior nodes Optionally grouping operators Basic event handling mechanisms (interrupts and callbacks (e.g., for picking), polled device registers, logical devices) Can typically edit pieces of DAG to get dynamic behavior Secondary use as file format for API interchange Big traditional users: CAD, Sci/Info Viz,... Ex: Core, GKS, PHIGS+, HOOPS

4 of 12 For Which Apps is a Traditional SG Useful? When application database large and want to view largely structurally static subset Example: architectural walkthrough SG not useful if little frame-to-frame coherence Need to amortize cost of creating and retaining data over time Additionally, SG is a higher level of abstraction that can provide performance and functionality benefits not easily duplicated by application programmer

5 of 12 Modern SG Library Can Provide Optimized Runtime: Akin to high level optimizing compiler: platform independent API w/ hardware optimized driver implementation Written by professionals who know algorithms and hardware As hardware supports geometry and lighting (becomes more complex), more of the rendering pipeline will be handled by library/drivers, less by application More than a retained data structure and more part of application: OO, traversers, renders, etc. CB: “They compete for the computational center of attention”

6 of 12 Modern SG Library Can Provide Optimized Runtime (cont.): High level traversal/rendering: cell-based culling, view-frustum culling, level-of-detail selection, occlusion culling, … Parallelism: multi-threading and multi-processor support Resource management, e.g., database management: storing, fetching, scheduling of geometry, textures

7 of 12 Wheel of Reincarnation: Tradeoffs Keep Changing Sufficiently powerful SG becomes application database in limit Generality vs. efficiency, e.g., hardwiring functionality vs. providing extensible framework Degree to which you can access lower level layers CPU vs. graphics system Hardware vs. software Hard to benchmark low level, let alone SGs Development time vs. execution time

8 of 12 Some Axes for Contrasting Different Existing SGs Functionality both runtime and development time Performance / optimization Behavior specification Resource management Portability Completeness of specification + reference implementation

9 of 12 Modern Scene Graphs Inventor / OpenInventor - event handling via fields, routes (dataflow wiring), widgets e.g., manipulators, ExaminerViewer VRML(X3D)- web-based file format, based largely on Inventor, multiple browsers, no reference implementation IRIS Performer - strong parallel support, provides analysis tools, extensive LOD and performance tuning Java3D - geometry compression, VR support Fahrenheit(?) - FSG based on Performer, FLM based on OpenGL Optimizer and HP DirectModel, COM based Application-specialized, e.g., LM E, G E

10 of 12 Some Modern Features Open to Further Research Resource abstraction and management Newer rendering techniques (e.g., IBR) Event management, animation and behavior (e.g., proximity and collision detection) –Temporal optimization LOD and procedural nodes (geometry and behavior) Spatialized audio rendering, other sensory channels Distribution across processors and network

11 of 12 Individual Object Geometry Stored, e.g., as: Polygon soup General mesh with connectivity info Procedurally generated spline or subdivision patch LOD - implicit (e.g., subdivision surfaces, geometry compression) and explicit (switch nodes) Image-based depth fields Volumetric data

12 of 12 Collections of Geometric Objects Stored, e.g., as: Flat lists Hierarchical scene graphs BSP-trees, octrees Cell-portal graphs Regularly gridded terrain (area of interest in Vis- Sim) Large scale database

13 of 12 What About a Standard SG?!? To create a de facto "standard" need –open, extensible specification –interoperability with peer systems –reference, preferably multi-platform, implementation Should standards only be based on broadly accepted codes of practice, or should they innovate? Do current languages and object models suffice?