t6: position-based simulation methods in computer graphics · miles macklin • principal engineer...

72
T6: Position-Based Simulation Methods in Computer Graphics Jan Bender Miles Macklin Matthias Müller

Upload: others

Post on 22-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

T6: Position-Based Simulation Methods in Computer Graphics

Jan Bender Miles Macklin Matthias Müller

Page 2: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Jan Bender

• Organizer

• Professor at the Visual Computing Institute at Aachen University

• Research topics

– Rigid bodies, deformable solids, fluids

– Collision detection, fracture, real-time visualization

– Position based methods

• Maintains open source PBD code base

– github.com/InteractiveComputerGraphics/PositionBasedDynamics

Page 3: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Miles Macklin

• Principal engineer at NVIDIA

• Inventor and author of FLEX

– Unified, particle based, position based solver, GPU accelerated

– UE4 integration

– developer.nvidia.com/flex

• Research

– Position based fluids

– Inventor of XPBD, making PBD truly physical with a simple trick!

Page 4: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Matthias Müller

• Leader of physics research group at NVIDIA

• Co-initiator of PBD (with Thomas Jakobsen)

• Co-founder of NovodeX which became physics group at NVIDIA

• Research

– Co-rotational FEM, SPH

– Position based methods: cloth, soft bodies, shape matching, oriented particles, air meshes

• www.matthiasmueller.info

Page 5: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Tutorial Outline

• Matthias– Motivation, Basic Idea

– The solver

– Constraint examples for solids

– Solver accelerations

• Miles– Fluids

– XPBD

– Continuous materials

– Rigid bodies

Page 6: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Motivation

Page 7: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Physical Simulations

• Well studied problem in the computational sciences (since 1940s)

• Complement / replace real experiments

• Extreme conditions, spatial scale, time scale

• Accuracy most important factor

• Low accuracy – useless result

Page 8: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Computer Graphics

• Early 1980s

• Adopted methods: FEM, SPH, grid based fluids, ..

• Applications– Special effects in movies and commercials

– Computer games

– VR

• Requirements– Speed, stability, controllability

– Only visual plausibility

• New methods needed: e.g. PBD

Page 9: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Funhouse

Page 10: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Traditional Methods

• Typically force based

• Explicit integration – Simple and fast

– Only conditionally stable (bad for real time apps)

• Implicit integration– Expensive (multiple linearizations and solves per time step)

– Numerical damping

Page 11: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Basic Idea

Page 12: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Force Based Update

• Reaction lag

• Small spring stiffness → squashy system

• Large spring stiffness → stiff system, overshooting

penetration causes forces

velocities change positions

forces change velocities

Page 13: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Position Based Update

• Controlled position change

• Only as much as needed → no overshooting

• Velocity update needed to get 2nd order system!

penetration detection only

move objects so that they do not penetrate

update velocities!

Page 14: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Position Based Integration

init x0, v0 x𝑛, v𝑛, p, u ∈ ℝ3𝑁

loop

v𝑛 ← v𝑛 + ∆𝑡 ∙ f𝑒𝑥𝑡(x𝑛) velocity update

p ← x𝑛 + ∆𝑡 ∙ v𝑛 prediction

x𝑛+1 ← modify p position correction

u ← (x𝑛+1 − x𝑛)/∆𝑡 velocity update

v𝑛+1 ← modify u velocity correction

end loop

Page 15: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Position Correction

• Example: Particle on circle

prediction

correctionnew velocity

Page 16: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Velocity Correction

• External forces: v𝑛+1 = u + ∆𝑡g𝑚

• Internal damping

• Friction

• Restitution

collision correction

prediction

restitution

friction

corrected velocity

Page 17: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

∆x1 = −𝑤1𝑤1 +𝑤2

x1 − x2 − 𝑙0x1 − x2x1 − x2

Distance Constraint

• Conservation of momentum

• Stiffness: scale corrections by 𝑘 ∈ 0,1– Easy to tune

– Effect dependent on time step size and iteration count

– Fixed! See XPBD

∆x2 = +𝑤2𝑤1 + 𝑤2

x1 − x2 − 𝑙0x1 − x2x1 − x2

𝑤𝑖 =1

𝑚𝑖

𝑚1

𝑚2∆x1

∆x2

𝑙0

Page 18: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

General Internal Constraint• Define constraint via scalar function:

𝐶𝑠𝑡𝑟𝑒𝑡𝑐ℎ x1, x2 = x1 − x2 − 𝑙0

𝐶𝑣𝑜𝑙𝑢𝑚𝑒 x1, x2, x3, x4 = x2 − x1 × x3 − x1 ∙ x4 − x1 − 6𝑣0

• Find configuration for which 𝐶 = 0

• Search along 𝛻𝐶𝐶 = 0

rigid body modes

𝛻𝐶

Page 19: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Constraint Projection

• Linearization (equal for distance constraint)

𝐶 x + ∆x ≈ 𝐶 x + 𝛻𝐶 x 𝑇∆x = 0

∆x = 𝜆 𝛻𝐶 x

λ = −𝐶 x

𝛻𝐶 x 𝑇𝛻𝐶 xλ = −

𝐶 x

𝛻𝐶 x 𝑇M−1 𝛻𝐶 x

∆x = 𝜆 M−1𝛻𝐶 x

M = 𝑑𝑖𝑎𝑔 𝑚1, 𝑚2, . . , 𝑚𝑛

• Correction vectors

𝐶 x + ∆x = 0

Page 20: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

The Solver

Page 21: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Constraint Solver• Gauss-Seidel

– Iterate through all constraints and apply projection

– Perform multiple iterations

– Simple to implement

• Modified Jacobi– Process all constraints in parallel

– Accumulate corrections

– After each iteration, average corrections [Bridson et al., 2002]

• Both known for slow convergence

Page 22: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Global Solver

• Constraint vector

λ = −𝐶 x

𝛻𝐶 x 𝑇M−1 𝛻𝐶 x∆x = M−1𝛻𝐶 x 𝜆

C x =𝐶1 x⋯𝐶𝑀 x

𝛻C x =𝛻𝐶1 x

𝑇

⋯𝛻𝐶𝑀 x

𝑇

𝛻𝐶 x M−1𝛻C x 𝑇 λ = −C x∆x = M−1𝛻C x 𝑇λ

λ =𝜆1⋯𝜆𝑀

[Goldenthal et al., 2007]

Page 23: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Global vs. Gauss-Seidel• Gradients fixed

• Linear solution ≠ true solution

• Multiple Newton steps necessary

• Current gradients at each constraint projection

• Solver converges to the true solution

𝛻𝐶2𝛻𝐶1

𝑙2𝑙1

𝑙2𝑙1

Page 24: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Other Speedup Tricks

• Use as smoother in a multi-grid method

• Long range distance constraints (LRA)

• Hierarchy of meshes

• Shape matching

→ more details later

Page 25: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Powerful Gauss-Seidel

• Can handle inequality constraints trivially (LCPs, QPs)!– Fluids: separating boundary conditions [Chentanez at al., 2012]

– Rigid bodies: LCP solver [Tonge et al., 2012]

– Deformable objects: Long range attachments [Kim et al., 2012]

• Works on non-linear problem directly

• Handles under and over-constrained problems

• GS + PBD: garbage in, simulation out (almost )

• Fine grained interleaved solver trivial

• Easy to implement and parallelize

Page 26: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Constraint Examples

Page 27: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Bending

𝐶𝑏𝑒𝑛𝑑𝑖𝑛𝑔(𝐱1, 𝐱2, 𝐱𝟑, 𝐱𝟒) = 𝑎𝑐𝑜𝑠𝐱2 − 𝐱1 × 𝐱3 − 𝐱1𝐱2 − 𝐱1 × 𝐱3 − 𝐱1

∙𝐱2 − 𝐱1 × 𝐱4 − 𝐱1𝐱2 − 𝐱1 × 𝐱4 − 𝐱1

− 𝜑0

𝐱1

𝐱2

𝐱3

𝐱4

𝐧1𝐧2

• More expensive than constraint 𝐶𝑠𝑡𝑟𝑒𝑡𝑐ℎ(𝐱3, 𝐱4)

• But: Orthogonal to stretching

Page 28: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Stretching – Bending Independence

stretching resistance

ben

din

gre

sist

ence

Page 29: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Triangle Collision

𝐶𝑐𝑜𝑙𝑙(𝐱1, 𝐱2, 𝐱𝟑, 𝐱𝟒) = 𝐪 − 𝐱1 ∙𝐱2 − 𝐱1 × 𝐱3 − 𝐱1𝐱2 − 𝐱1 × 𝐱3 − 𝐱1

− ℎ

𝐱1

𝐱2

𝐱3

𝐧

𝐪𝐱1𝐱2

𝐱3

𝐧

𝐪

Page 30: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Cloth Example

King of Wushu

Page 31: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Tetra Volume

𝐱1

𝐱2𝐱3

𝐱4

𝐶𝑎𝑖𝑟 x1, x2, x3, x4 = 𝑑𝑒𝑡 x2 − x1, x3 − x1, x4 − x1 − 6𝑉0

Page 32: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Soft Body Example

Page 33: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Global Volume - Balloons

𝐱1

𝐱2 𝐱3

𝐱4

𝐱5𝐱6

𝐱7

origin𝐶𝑏𝑎𝑙𝑙𝑜𝑜𝑛(𝐱1, … , 𝐱𝑵) =

1

6

𝑖=1

𝑛𝑡𝑟𝑖𝑎𝑛𝑔𝑙𝑒𝑠

𝐱𝑡1𝑖× 𝐱𝑡2𝑖

∙ 𝐱𝑡3𝑖− 𝑘𝑝𝑟𝑒𝑠𝑠𝑢𝑟𝑒𝑉0

Page 34: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Air Meshes

• Triangulate air

• Prevent volume from inverting

𝐶𝑎𝑖𝑟 x1, x2, x3 = x2 − x1 × x3 − x1 ≥ 0

• Add one unilateral constraint per cell:

Page 35: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Locking

• Solution: Mesh optimization (edge flips)

• Elements can invert without collisions

Page 36: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

2D Boxes

Page 37: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Boxes Recovery

Page 38: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

3D Air Meshes

𝐶𝑎𝑖𝑟 x1, x2, x3 = 𝑑𝑒𝑡 x2 − x1, x3 − x1, x4 − x1 ≥ 0

• Mesh optimization more expensive!

• Per tetra unilateral constraint:

Page 39: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

3D Air Meshes• Two cases that work well without optimization

• Tissue collision

• No large relative translations / rotations

• Multi-layered clothing

Page 40: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Multi-Layered Clothing

Page 41: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Untangling

Page 42: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

High Resolution Air Mesh

Page 43: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Tissue Collision Handling

Page 44: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Position Based Fluids

• Move particles in local neighborhoodsuch that density = rest density

𝐶 x1, . . , x𝑛 = 𝜌𝑆𝑃𝐻 x1, . . , x𝑛 − 𝜌0

• Density constraint

• Particle based

• Pair-wise lower distance constraints granular behavior

[Macklin et al. 2013]

Page 45: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Position Based Fluids

Page 46: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Shape Matching

• Global correction, no propagation needed

• Optimally match rest with deformed shape

• Only allow translation and rotation

p𝑖

∆x𝑖

• No mesh needed!

Page 47: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

2d Demo

Page 48: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Optimal Translation

• Given rest positions 𝐱𝑖, current positions 𝐱𝑖 and masses𝑚𝑖

𝐜 =1

𝑀

𝑖

𝑚𝑖 𝐱𝑖

• Compute

𝐜 =1

𝑀

𝑖

𝑚𝑖𝐱𝑖

𝑀 =

𝑖

𝑚𝑖

𝐭 = 𝐜 − 𝐜

𝐜

𝐜

𝐭 = 𝐜 − 𝐜

Page 49: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Optimal Transformation

• The optimal linear transformation is:

𝐀 =

𝑖

𝑚𝑖𝐫𝑖 𝐫𝑖𝑇

𝑖

𝑚𝑖 𝐫𝑖 𝐫𝑖𝑇

−1

= 𝐀𝑟𝐀𝑠

𝐜

𝐜

𝐫𝑖

r𝑖

𝐫𝑖 = 𝐱𝑖 − 𝐜

𝐫𝑖 = 𝐱𝑖 − 𝐜

Page 50: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Optimal Rotation

• 𝐀𝑠is symmetric →contains no rotation

𝐜

𝐜

• Extract rotational part of 𝐀𝑟• Polar decomposition

𝐀 =

𝑖

𝑚𝑖𝐫𝑖 𝐫𝑖𝑇

𝑖

𝑚𝑖 𝐫𝑖 𝐫𝑖𝑇

−1

= 𝐀𝑟𝐀𝑠

Page 51: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Region Based Shape Matching

• Shape matching allows only small deviations from the rest shape.

• Performing shape matching on several overlapping regions.

• Each particle is part of multiple regions.

Page 52: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Fast Summation

• Compute prefix sum

Page 53: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

On Irregular Mesh

Page 54: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Oriented Particles

• For co-linear, co-planar or isolated particlesoptimal transformation is not unique Numerical instabilities

• Add orientation information to particles!

Page 55: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Oriented Particles

• Orientation information can be used– to stabilize simulation

– to position anisotropic collision shapes

– for robust skinning of visual mesh

Page 56: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Generalized Shape Matching

𝐀𝑟 =

𝑖

𝑚𝑖𝐫𝑖 𝐫𝑖𝑇 + 𝐀𝑖

• Optimal translation is still 𝐭 = 𝐜 − 𝐜

• Small modification in the calculation of 𝐀𝑟

where 𝐀𝑖sphere

=1

5𝑚𝑟2𝐑 and 𝐑 the particle’s rotation matrix

Page 57: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Oriented Particles Demo

Page 58: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Large Elasto-Plastic Deformation

• Handle splits, merges, large deformations

• Use explicit surface mesh to define object– Explicit surface tracking for merges and splits

– Move with particles using linear blend skinning

• Dynamically add and remove particles– Remove particles outside surface, resample under-sampled regions

• Dynamically update clusters– Control cluster sizes

Page 59: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Doug Simulation

Page 60: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Solver Accelerations

Page 61: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Hierarchical PBD

• Next coarser mesh:– Subset of vertices

– Each fine vertex is connected to at least k coarse vertices

• Create hierarchical mesh

Page 62: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Hierarchical Constraints

• Constraints on coarse meshes

pk

pi pj

pk

pj

• Unilateral, upper bounds!

Page 63: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Hierarchical Solver

• Solve coarse → fine

• Interpolate displacements from next coarser level

Page 64: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Hierarchical PBD

Page 65: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Wrinkle Meshes

l0

n

rmax

• 4 constraint types, geometric projection

base meshwrinkle mesh

attachmentpoints

Page 66: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Wrinkle Meshes

Page 67: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Long Range Attachments (LRA)

• Very often cloth is attached (curtain, flags, clothing)

• Upper distance constraint to closest attachment point

• Only radial stretch resistance

Page 68: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Long Range Attachments (LRA)

[Kim et al., 2012], 90k particles

Page 69: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Follow The Leader (FTL)

attached

𝑙0

𝑙0

𝑙0

• From top to bottom

• Only move lower particle

• All constraints satisfied!

Page 70: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Follow The Leader (FTL)

• Momentum not conserved!

attached

𝑙0

𝑙0

𝑙0

Page 71: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Dynamic Follow The Leader (DFTL)

• Update positions one-sided

• Update velocities symmetrically

Page 72: T6: Position-Based Simulation Methods in Computer Graphics · Miles Macklin • Principal engineer at NVIDIA • Inventor and author of FLEX –Unified, particle based, position based

Fur Demo