Top Banner
T6: Position-Based Simulation Methods in Computer Graphics Jan Bender Miles Macklin Matthias Müller
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

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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