Chapter 6 - The Scene Graph



Similar documents
Chapter 6 - The Scene Graph

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Practical Data Visualization and Virtual Reality. Virtual Reality VR Software and Programming. Karljohan Lundin Palmerius

INTRODUCTION TO RENDERING TECHNIQUES

Introduction to Computer Graphics

Virtuelle Realität. Overview. Termin 9: Scene Graphs. Virtuelle Realität. Prof. Bernhard Jung

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Surface and Volumetric Data Rendering and Visualization

Programming 3D Applications with HTML5 and WebGL

How To Teach Computer Graphics

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Using WPF for Computer Graphics

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Teaching Introductory Computer Graphics Via Ray Tracing

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

CPIT-285 Computer Graphics

A Short Introduction to Computer Graphics

Web-Based Enterprise Data Visualization a 3D Approach. Oleg Kachirski, Black and Veatch

HIGH AND LOW RESOLUTION TEXTURED MODELS OF COMPLEX ARCHITECTURAL SURFACES

3D VIRTUAL DESKTOP APPLICATION Of UNSW. Introduction. What we propose to do 2/4. What we propose to do 1/4. What we propose to do 4/4

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

JavaFX 3D Animation: Bringing Duke to Life

Java game programming. Game engines. Fayolle Pierre-Alain

SceneBeans: A Component-Based Animation Framework for Java

Multiresolution 3D Rendering on Mobile Devices

MeshLab and Arc3D: Photo-Reconstruction and Processing of 3D meshes

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

3D Modeling and Simulation using Image Stitching

Geant4 Visualization. Andrea Dotti April 19th, 2015 Geant4 M&C+SNA+MC 2015

Lab7 : Putting Everything Together

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

Medical and Volume Visualization with X3D

New York City College of Technology The City University of New York. Department of Communication Design. COMD D Animation & Modeling II

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

User Guide Installing the 3D Studio plug-ins

Water Flow in. Alex Vlachos, Valve July 28, 2010

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

AVS/Express - an object-oriented visual development tool

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

Certificate Courses in Animation

Visualizing Data: Scalable Interactivity

Last lecture... Computer Graphics:

4VATARS PROJECT. Standard avatar specification for content creation in RealXtend

Introduction to Computer Graphics

A Pipeline From COLLADA to WebGL for Skeletal Animation

Beginning Android 4. Games Development. Mario Zechner. Robert Green

Lecture Notes, CEng 477

Plug-in Software Developer Kit (SDK)

Experiences with 2-D and 3-D Mathematical Plots on the Java Platform

Computer Graphics. Introduction. Aleksandra Pizurica. Ghent University

How To Learn To Program In Csc 406 Computer Graphics

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

Blender addons ESRI Shapefile import/export and georeferenced raster import

Comparison of Open Source Virtual Globes

Low power GPUs a view from the industry. Edvard Sørgård

Computer Graphics. Anders Hast

CS 325 Computer Graphics

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Using HDR Panoramas. Dr Ryan Southall - School of Architecture & Design, University of Brighton.

GLAST Geant4 Simulation

3D Modeling, Animation, Compositing, and Special Effects ITP 215x (2 Units)

Students will be notified by the instructor of any changes in course requirements or policies.

Proposal for a Virtual 3D World Map

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Tutorial. Making Augmented Reality Accessible for Everyone. Copyright (c) 2010 Human Interface Technology Laboratory New Zealand

Immersed 3D Visualization of the University of Chicago Campus. Scott Stocking, GISP Facilities Services Department

Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines

DIPLOMA IN 3D DESIGN AND DIGITAL ANIMATION COURSE INFO PACK

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

GR Framework / MODBUS on Raspberry Pi

Maya 2014 Basic Animation & The Graph Editor

OpenGL & Delphi. Max Kleiner. 1/22

COMPUTER GRAPHICS Computer Graphics

The Car Tutorial Part 1 Creating a Racing Game for Unity

Certified Game Developer

Faculty of Computer Science Computer Graphics Group. Final Diploma Examination

The 3D rendering pipeline (our version for this class)

Course Developer: Charles Shami, Professor, Savannah College of Art and Design

Haptics Don t Lose Touch with Virtual Reality. Petr Kmoch Computer Graphics Group MFF UK

Transcription:

Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1

The 3D Rendering Pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization Animation, Interaction Lights 2

Why a Scene Graph? Naive approach: for each object in the scene, set its transformation by a single matrix (i.e., a tree 1 level deep and N nodes wide) advantage: very fast for rendering disadvantage: if several objects move, all of their transforms change Observation: Things in the world are made from parts Approach: define an object hierarchy along the part-of relation transform all parts only relative to the whole group transform group as a whole with another transform parts can be groups again http://www.bosy-online.de/veritherm/explosionszeichnung.jpg 3

Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 4

Geometry in the Scene Graph Leaves are basic 3D objects (polygon meshes, primitives,...) Welt Non-leaf nodes (groups) contain a transformation can have one or several children transformation is given by a homogeneous Matrix Auto TAuto Root is the entire world TKarosserie Karosserie Räder TRäder Nodes can be the child of several groups not a tree, but a directed acyclic graph (DAG) TChassis Chassis Quader1 Kabine grau Quader2 TKabine Rad1 Rad2 Rad3 Rad4 Rad effective reuse of geometry Felge Reifen Zylinder1 weiß Zylinder2 schwarz 5

Appearance in the Scene Graph Scene graph also contains appearances Appearance: E.g. Color, reflection, transparency, texture Details see next lecture can be reused similarly to geometry Auto Appearance can be only partially specified Karosserie Räder unspecified values are inherited Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 Quader1 Quader2 Rad Felge Reifen Zylinder1 weiß Zylinder2 schwarz 6

Lights in the Scene Graph Light sources also need a position and/or direction Welt Just include them into the scene graph Can be animated just like geometry Auto Sonne Licht1 Lights can be in local coordinate systems of geometry groups Karosserie Räder move with them Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 example: headlamps on a car Quader1 Quader2 Rad Felge Reifen Zylinder1 weiß Zylinder2 schwarz 7

The Camera in the Scene Graph Camera also needs a position and direction Just include it into the scene graph Welt Can be animated just like geometry Kamera Sonne Auto Camera can be in local coordinate systems of geometry groups Kamera1 Karosserie Räder Licht1 move with them example: driver s view from a car Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 Quader1 Quader2 Rad Felge Reifen Zylinder1 weiß Zylinder2 schwarz 8

Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 9

Scene graph traversal for rendering set Tact to TAuto push state Auto set Tact to Tact x TKarosserie push state Karosserie Räder set Tact to Tact x TChassis render Quader1 Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 pop state set Tact to Tact x TKabine render Quader2 Quader1 Quader2 Rad pop state pop state Felge Reifen set Tact to Tact x TRäder... Zylinder1 weiß Zylinder2 schwarz 10

Scene Graph Libraries Scene graphs exist on a more abstract layer than OpenGL! VRML/X3D descriptive text format, ISO standard OpenInventor based on C++ and OpenGL originally Silicon Graphics, 1988 now supported by VSG3d.com Java3D provides 3D data structures in Java not supported anymore Open Scene Graph (OSG) http://www.shlomifish.org/open-source/bits-and-bobs/open-inventor-bsd-daemon/ Various Game Engines e.g. JMonkey 3 (scene graph based game engine for Java) 11

Scene Graphs in Practice Creation of scene graphs and objects Specific authoring software (e.g. Blender, Maya, 3DS Max) Assets (models, objects) exported to exchange formats E.g. (X3D,) Wavefront OBJ (.obj), 3ds Max (.3ds), Ogre XML (.mesh) Objects typically are tesselated Polygon meshes No primitive geometric objects visible/readable anymore Example: JME Scene 12

Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 13

Example of a scene graph Graph to be drawn together in the lecture VRML world linked from the class page 14