Chapter 5 - The Scene Graph

Similar documents
Hierarchical Models Josef Pelikán & Alexander Wilkie CGG MFF UK Praha

Open Scene Graph Lecture Note #1

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Content. Building Geometry Appearance Lights Model Loaders

MODELING AND HIERARCHY

High Level Graphics Programming & VR System Architecture

Modeling Objects. Modeling. Symbol-Instance Table. Instance Transformation. Each appearance of the object in the model is an instance

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

Content. Building Geometry Appearance Lights Model Loaders

Hierarchical Modelling

Hierarchical Modeling and Scene Graphs

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

Hierarchical Modeling and Scene Graphs

Computer Graphics (CS 543) Lecture 6a: Hierarchical 3D Models. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Java2D/Java3D Graphics

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

3D GRAPHICS. design. animate. render

Hierarchical Modeling I. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Transformation Hierarchies. CS 4620 Lecture 5

Culling. Computer Graphics CSE 167 Lecture 12

Rasterization Overview

CHAPTER 1 Graphics Systems and Models 3

Scene Graphs. COMP 575/770 Fall 2010

Hierarchical Modeling and scene graphs

Principles of Computer Game Design and Implementation. Lecture 5

CS451Real-time Rendering Pipeline

Lecture 08: Hierarchical Modeling with Scene Graphs

Advanced Computer Graphics

3D Rendering Pipeline

3D Representation and Solid Modeling

CS148: Maya Lecture. October 9th, 2017 David Hyde

Graphics and Interaction Rendering pipeline & object modelling

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

MMGD0206 Computer Graphics. Chapter 1 Development of Computer Graphics : History

From Art to Engine with Model I/O

A Generalized Scene Graph

CS354 Computer Graphics Character Animation and Skinning

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

Tutorial: Exporting characters (Max)

Modeling the Virtual World

Introduction to X3D. Roberto Ranon HCI Lab University of Udine, Italy

An Introduction to Geometric Modeling using Polygonal Meshes

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Viewport 2.0 API Porting Guide for Locators

Overview. Java and OpenSceneGraph. Introduction. OpenSceneGraph. Introduction Scene graph structure

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Tutorial: Exporting characters (Maya)

CSE 167: Introduction to Computer Graphics Lecture #9: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016

Level of Details in Computer Rendering


Universiteit Leiden Computer Science

CS 465 Program 4: Modeller

CS 354R: Computer Game Technology

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Models and Architectures

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Lecturer Athanasios Nikolaidis

HIERARCHICAL TRANSFORMATIONS A Practical Introduction

Tutorial 19: VFX Workflows with Alembic

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

This beta version is limited to export static model without animation. It also will omit every 10th polygon from the

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scenegraph. Vienna University of Technology 2

Qt 3D Basics. Paul Lemire

Graphical Objects and Scene Graphs

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

4: Polygons and pixels

INTRODUCTION. Computer Graphics

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

CS 591B Lecture 9: The OpenGL Rendering Pipeline

Scene Graphs. CS4620/5620: Lecture 7. Announcements. HW 1 out. PA 1 will be out on Wed

You can also export a video of what one of the cameras in the scene was seeing while you were recording your animations.[2]

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02

CIS 581 Interactive Computer Graphics

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Parametric description

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

COMP250: Computer Graphics

HIERARCHICAL TRANSFORMATIONS A Practical Introduction

The Rendering Pipeline

Content Loader Introduction

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Grouping Nodes. X3D Graphics for Web Authors. Chapter 3

What is OpenGL Performer?

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Some Resources. What won t I learn? What will I learn? Topics

Computer Graphics Introduction. Taku Komura

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1

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

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Hierarchical Modeling: Tree of Transformations, Display Lists and Functions, Matrix and Attribute Stacks,

The Application Stage. The Game Loop, Resource Management and Renderer Design

Speeding up your game

Transcription:

Chapter 5 - 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 5 - 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 Leafs are basic 3D objects Non-leaf nodes (groups) contain a transformation Welt 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 TChassis Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 not a tree, but a directed acyclic graph (DAG) Quader1 Quader2 TKabine 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 unspecified values are inherited Karosserie Räder 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! Lights can be in local coordinate systems of geometry groups Karosserie Räder Licht1 move with them Chassis Kabine grau Rad1 Rad2 Rad3 Rad4 example: lights 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 Kamer Auto Sonne 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 5 - 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 Viewer / Composer 12

Chapter 5 - 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