Particle Animation and Rendering Using Data Parallel Computation Karl Sims Optomystic Thinking Machines Corporation Presentation ©2001 Brenden Schubert.

Slides:



Advertisements
Similar presentations
Using 2D sprite with OpenGL 2003 team Koguyue. Overview Motivation and basic concepts Advantages with using OpenGL Basic requirements of implementation.
Advertisements

Computer Graphics- SCC 342
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
1Notes  Text:  Motion Blur A.3  Particle systems 4.5 (and 4.4.1, 6.6.2…)  Implicit Surfaces  Classic particle system papers  W. Reeves, “Particle.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Particle Systems GPU Graphics. Sample Particle System Fire and SmokeWater.
1cs426-winter-2008 Notes  If you’re interested, read Bridson, Hourihan, Nordenstam, “Curl noise for procedural fluid flow”, SIGGRAPH ‘07.
Oct 26, Fall 2006IAT 4101 Collision Detection. Oct 26, Fall 2006IAT 4102 Collision Detection  Essential for many games –Shooting –Kicking, punching,
Texture mapping. Adds realism to computer graphics Texture mapping applies a pattern of color Bump mapping alters the surface Mapping is cheaper than.
Physics 106: Mechanics Lecture 06 Wenda Cao NJIT Physics Department.
Oct 3, Fall 2005Game Design1 Collision Detection.
1cs426-winter-2008 Notes. 2 Velocity fields  Velocity field could be a combination of pre-designed velocity elements E.g. explosions, vortices, …  Or.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
Vectors 1D kinematics 2D kinematics Newton’s laws of motion
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
Physically Based Animation and Modeling
Cloth Simulation By Chris Szendrovits o based on Jim Adams “Soft Body Mesh” demo.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Give the expression for the velocity of an object rolling down an incline without slipping in terms of h (height), M(mass), g, I (Moment of inertia) and.
Texture Mapping. Scope Buffers Buffers Various of graphics image Various of graphics image Texture mapping Texture mapping.
Particle Systems – Technique for Modeling a Class of Fuzzy Objects Craig Schroeder Computer Graphics I April 22, 2004.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Graphics Systems and OpenGL. Business of Generating Images Images are made up of pixels.
T071 Q17. A uniform ball, of mass M = kg and radius R = 0
AP Physics C: Mechanics Chapter 11
Projectiles Horizontal Projection Horizontally: Vertically: Vertical acceleration g  9.8 To investigate the motion of a projectile, its horizontal and.
CSE Real Time Rendering Week 2. Graphics Processing 2.
Chapter 10 Chapter 10 Rotational motion Rotational motion Part 2 Part 2.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Pixmotor: A Pixel Motion Integrator Ivan Neulander Rhythm & Hues.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Syed ardi syed yahya kamal 2011 chapter five.  Creating in-between positions is still a hallmark of animation.  Using techniques called interpolation.
Quadratics Review y = x 2. Quadratics Review This graph opens upwards y = x 2.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Graphic pipeline  Scan-conversion algorithm (high level)  Pixels.
Graphics Lecture 17: Slide 1 Interactive Computer Graphics Lecture 17: Fire.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
Basic Ray Tracing CMSC 435/634.
- Introduction - Graphics Pipeline
Week 7 - Monday CS361.
Projectile Review.
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
CS451Real-time Rendering Pipeline
Understanding Theory and application of 3D
Models and Architectures
© University of Wisconsin, CS559 Fall 2004
Models and Architectures
Introduction to Computer Graphics with WebGL
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
ATCM 6317Procedural Animation
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Procedural Animation Lecture 8: Particle systems
Devil Physics Baddest Class on Campus AP Physics
Models and Architectures
ICG 2018 Fall Homework1 Guidance
Models and Architectures
Computer Animation Algorithms and Techniques
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
Projectile Motion Chapter
Presentation transcript:

Particle Animation and Rendering Using Data Parallel Computation Karl Sims Optomystic Thinking Machines Corporation Presentation ©2001 Brenden Schubert

How many processors? The Thinking Machines Corporation Connection Machine CM-2 4,000-64,000 processors 512 MB memory Nodes arranged in hypercube TMC filed chapter 11 in 1994

Particles Head Position Tail Position (motion blur) Velocity Optional Characteristics: Type Mass Age Color Opacity Size Age to die at Whatever the simulation needs

Initialization of Position –Randomly distributed within a solid or sphere –Randomly distributed on surface of a solid or sphere –One particle on each vertex of a polygonal model –Randomly on surface of a polygonal model –3D Transformation from given coordinates Velocity –Constant Direction (including 0) –Randomly distributed within a solid or sphere –Randomly distributed on surface of a sphere

Applying Velocity Changes position parameter of particle, doesn’t change velocity parameter Examples: –Constant translation/rotation/scaling –Random translation/rotation/scaling –The Vortex Rotation proportional to distance from vortex axis

Applying Acceleration Changes velocity parameter of particle Examples: –Constant acceleration (gravity) –Random acceleration –Orbit around a point or axis –Spiral around a point or axis –Damping/Undamping –Bounce off of a plane/sphere/other object

Bouncing Crude method –Particles can penetrate surface of object –Particles reappear as if they travelled within object The better method –Interpolate to find intersection with object surface –Update velocity after hit to reflect friction and resilience parameters –Update positions to account for bounce –Bring tail position up to surface of object (if needed)

Particle Rendering What is a particle? –Particles occupy an area in which the opacity falls off from 1 at center to 0 at edges –Function determines rate of opacity falloff (e.g. Linear or Gaussian) Motion Blur –Render particle as streak, linearly interpolating all parameters between the head and tail positions

Slicing and Dicing What is a fragment? –Contribution of a particle to a pixel –Attributes: color, opacity, depth Fragment Generation –Slice each particle horizontally into spans –Dice each span vertically into fragments For each pixel –Sort fragments by depth –Calculate final pixel color

Patches Data parallel programming paradigm says that each object occupies a processor But the total number of fragments is often more than the number of processors Solution: –Split image into patches such that all objects for each patch can fit onto the processors –Render patches in sequence

Pseudocode Create Particles Initialize Particles –Set tails to previous heads –For each simulation time increment Select subset of particles –Perform operations Update positions using velocities Select subset of particles –Perform bounce operations –Adjust tails for motion blur shutter speed –Transform to screen coordinates –For each horizontal patch Determine effective patch height Dice particles into spans For each vertical patch –Determine effective patch width –Dice spans into fragments –Sort fragments by pixel and depth –Perform hidden surface calculation –Send colors to pixels –Add background color –Swap buffers For each frame:

Results: Snow and Wind

Results: Falling Water

Results: Waterfall

Results: Fire

Results: other

In Conclusion Future (at least in 1990) work –Allow particle-particle interaction Collisions Gravity –Interaction with polygonal objects Comparison to large-scale particle simulation on a serial computer Applicable to distributed computing