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.

Slides:



Advertisements
Similar presentations
2.6. B OUNDING V OLUME H IERARCHIES Overview of different forms of bounding volume hierarchy.
Advertisements

Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Intro to Java Monkey Engine Download JME loads/ loads/
Presented by Konstantinos Georgiadis. Abstract This method extends the Hierarchical Radiosity approach for environments whose geometry and surface attributes.
CSE 381 – Advanced Game Programming Scene Management
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
Quad Trees By JJ Shepherd. Introduction So far we’ve only used binary trees to solve problems – Sort data – Search data – Confuse students Trees are not.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Collision Detection CSE 191A: Seminar on Video Game Programming Lecture 3: Collision Detection UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Lecture21 Other Java Gamming technologies – Java3D (This lecture will not be assessed)
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
I/O-Algorithms Lars Arge Spring 2009 March 3, 2009.
Kinetic Data Structures and their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007.
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.
Collision Detection CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Collision Detection David Johnson Cs6360 – Virtual Reality.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Computer graphics & visualization Collision Detection – Narrow Phase.
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
BSP Trees, Quadtrees & Octrees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, January 28, 2004.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Composite Design Pattern. Motivation – Dynamic Structure.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Eriq Muhammad Adams J. | Informatics University of Brawijaya.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Graphical Objects and Scene Graphs 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
Dynamic Meshing Using Adaptively Sampled Distance Fields
Created on 29/10/2008yahaya.wordpress.com1 Trees Another common nonlinear data structure is the tree. We have already seen an example of a tree when we.
Implementing Scene Graphs, CSG Trees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, January 26, 2004.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Concepts for Programming a Rigid Body Physics Engine Part 1 Presented by Scott Hawkins.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
CS324e - Elements of Graphics and Visualization Java 3D Intro.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Spring Rigid Body Simulation. Spring Contents Unconstrained Collision Contact Resting Contact.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
BSP Tree Supplement Jyun-Ming Chen. Fall Kd-Tree and BSP tree kd-tree is a special kind of bsp tree.
Graphics, Modeling, and Textures Computer Game Design and Development.
Computer Graphics Lecture 17 Fasih ur Rehman. Last Class 3D Transforms Inverse Rotation.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Final Presentation CS491B ALAIN VINIOT DE LARA Spring 2007, CSULA.
Object Animation CMT3317. Do you need to do animation? We consider ways of animating composite objects – that have a number of different parts e.g. a.
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.
2D Simulation of Rigid Bodies
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.
Week 2 - Monday CS361.
EECE 478 Game Physics.
Modeliranje kompleksnih modelov
Parts of these slides are based on
CMPS 3130/6130 Computational Geometry Spring 2017
Graceful Degradation Of Collision Handling in Physically Based Animation John Dingliana , Carol O’ Sullivan.
Graphics, Modeling, and Textures
Quadtrees 1.
CS679 - Fall Copyright Univ. of Wisconsin
Computer Animation Algorithms and Techniques
Collision Detection.
Advanced Games Development Game Physics
David Johnson Cs6360 – Virtual Reality
Modeliranje kompleksnih modelov
Computer Graphics Matrix Hierarchies / Animation
Presentation transcript:

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 vertices, and a list of the polygons that these verts create Draws the polymesh when RUN –Primitive A geo node that draws basic primitive geometry. Only Cube implemented so far. –Collision Object A leaf node that stores a BVH of collision geometry, and also a geo node Updates the collision geometries global position when RUN, and also runs the geo node

Group Nodes - child class of sgNode –Transform (static) Base transform node class. Stores a list of child sgNodes (seperated into Leaf/Geo and Group children, so that leaves children are run first) Applies its transformations and then runs all the children when RUN –Animated Transform Linearly interpolates through a preset list of value/timestamp pairs based on the game clock. Updates the node’s transformation values before applying them in the normal run function, as above. –Dynamic Transform Transform node subclass that uses physical responses to change its transformation values Stores a list of impulse forces that were generated in the previous frame from collisions between its sgCollisionObj children and other collidable leaf nodes. When RUN it updates the transformation values using the impulse forces, a preset global force, and its other dynamics values, such as momentum and velocity.

Collision Detection & Physical Response

Collision Detection Collision Tree –Stores a hierarchy of collision nodes –Used by sgCollisionObj as the link into the collision system Collision Node –Stores pointers to all its children nodes –Leaf nodes simply have no children - these are the collNodes whose collision counts as physical contact –Store a position relative to the root of the tree, so that their global position can be found easily –Contains the collision primitive that represents this node in space Collision Primitive –Defines how the collision check is handled - can be overloaded to be any kind of bounding volume in the future –So far Sphere and Plane have been implemented Collision Manager –Stores all of the BVH collision trees in the scene –After scenegraph updates the collision trees’ global positions, they are all checked against one another (static collision check) –Stores list of collision events generated from these collision checks

Physical Response Collision Event –Stores information about a collision, such as the objects involved and the global position of the event –Could be extended in the future to handle collisions between different objects differently Impulse Force –Generated by Collision Events using information about the objects involved –Forces are added to the list of forces in the dyamic transform nodes of the objects that collided. These forces are used next frame to calculate the new position, rotation, velocity and momentum. –If one or both of the objects is not dynamic, it is assumed to be massively heavy, and the impulse force is not applied to it

Future Improvements More user friendly methods for runtime creation, editing, and destruction of the scenegraph and collision tree nodes. Collision Detection handled dynamically rather than statically Different collision primitive types (OOBBs) More accurate physics calculations (lack of inertia tensor) Better graphics and openGL wrapper Optimization (with display lists and overall structuring) Many more features…