particle systems - college of engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf ·...
TRANSCRIPT
![Page 1: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/1.jpg)
mjb –August 26, 2019
1
Computer Graphics
Particle Systems
particlesystems.pptx
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
Mike [email protected]
![Page 2: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/2.jpg)
mjb –August 26, 2019
2
Computer Graphics
Particle Systems
• Are used to simulate the appearance of particulate, hairy, or fuzzy phenomena.
• Involve the animation of large collections of (perhaps tiny) particles which have various graphics characteristics.
• Were originally developed by Pixar’s Bill Reeves for the “Genesis Sequence” in the movie Star Trek II: The Wrath of Khan
• Have been used to create effects of fire, smoke, rain, snow, fireworks, disintegration, dust, sand, explosions, flow, waterfalls, stars, comets, plants, hair, fuzz. Surely many more.
![Page 3: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/3.jpg)
mjb –August 26, 2019
3
Computer Graphics
Particle Systems Examples
![Page 4: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/4.jpg)
mjb –August 26, 2019
4
Computer Graphics
Particle Systems Examples
Chuck Evans
![Page 5: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/5.jpg)
mjb –August 26, 2019
5
Computer Graphics
Particle Systems Examples
The Lion King (2019) -- Disney
![Page 6: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/6.jpg)
mjb –August 26, 2019
6
Computer Graphics
“Particles” Don’t Actually Have to Be Particles
![Page 7: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/7.jpg)
mjb –August 26, 2019
7
Computer Graphics
Display
Display
Update
The Process
The basic process is this:
EmitRandom Number
Generator
![Page 8: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/8.jpg)
mjb –August 26, 2019
8
Computer Graphics
The Emitter
• Birth time
• Death time
• Start location
• Start velocity
• Start color
• Start size
• Start alpha (blending factor)
The Emitter gives each particle a:
0 1(1 ) Color Color Color
Plus, any information about how these quantities change over time
![Page 9: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/9.jpg)
mjb –August 26, 2019
9
Computer Graphics
Creating Random Values for the Emitter
#include <stdlib.h>
floatRanf( float low, float high ){
float r = (float) rand( ); // 0 - RAND_MAXfloat t = r / (float) RAND_MAX; // 0. – 1.
return low + t * ( high - low );}
intRanf( int ilow, int ihigh ){
float low = (float) ilow;float high = ceil( (float) ihigh );
return (int) Ranf(low,high);}
![Page 10: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/10.jpg)
mjb –August 26, 2019
10
Computer Graphics
The Displayer
• Dots
• Small line segments
• Polygons with billboarding
• Quads with textures and billboarding
• Sprites
• Spheres, Cubes
• “Rockets”
• Lighting
• Blending
• Smearing
And the displayer draws the scene using different graphics techniques such as:
glBegin( GL_POINTS );glColor3f( r0, g0, b0 );glVertex3f( x0, y0, z0 );. . .
glEnd( );
Easiest way:
Most efficient way: Vertex Buffer Objects
![Page 11: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/11.jpg)
mjb –August 26, 2019
11
Computer Graphics
OpenDX Scalar GlyphsDiamondCircleSquare
Cube Sphere
![Page 12: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/12.jpg)
mjb –August 26, 2019
12
Computer Graphics
Rocket
Arrow
Needle
OpenDX Vector Glyphs
![Page 13: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/13.jpg)
mjb –August 26, 2019
13
Computer Graphics
Billboarding
Apply the proper rotation about the proper axis such that the plane’s surface normal is always pointed towards the eye. The eye always sees the surface head-on. Besides particle systems, this is often used to create the appearance of 3D trees from 2D tree images.
Θ
1 ˆˆcos n E
E
n
A
ˆˆA n E
![Page 14: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/14.jpg)
mjb –August 26, 2019
14
Computer Graphics
Sprites
A “sprite” is a 3D object pre-rendered to a flat 2D texture and “slipped” into a certain depth in the scene.
http://sdb.drshnaps.com
![Page 15: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/15.jpg)
mjb –August 26, 2019
15
Computer Graphics
The Updater
• Position
• Color
• Size
• Alpha
• Interaction with other particles and other objects
And the simulation updates the:
Note that these can change as a function of time, position, or anything else
![Page 16: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/16.jpg)
mjb –August 26, 2019
16
Computer Graphics
Circles only
Circles with traces
Particle Systems
![Page 17: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/17.jpg)
mjb –August 26, 2019
17
Computer Graphics
Particle Systems
Points onlyPoints with traces
![Page 18: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/18.jpg)
mjb –August 26, 2019
18
Computer Graphics
Particle Systems using OpenGL Compute Shaders
1,000,000 particles
1.3 Gparticles / sec
![Page 19: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/19.jpg)
mjb –August 26, 2019
19
Computer Graphics
Particle Systems in the OSU Shaders Course
Ben Weiss
1,000,000 particles
![Page 20: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/20.jpg)
mjb –August 26, 2019
20
Computer Graphics
Particle Systems using Scratch
http://scratch.mit.edu
![Page 21: Particle Systems - College of Engineeringweb.engr.oregonstate.edu/.../particlesystems.1pp.pdf · Particle Systems •Are used to simulate the appearance of particulate, hairy, or](https://reader034.vdocuments.mx/reader034/viewer/2022051905/5ff8141c860e8671c734cf4f/html5/thumbnails/21.jpg)
mjb –August 26, 2019
21
Computer Graphics
Particle Systems using Game Maker
http://www.yoyogames.com