Apply Gravity
(in batches)
Apply Gravity...
Setup Velocity Constraints
Setup Velocity C...
Pre Integrate
Pre Integrate
Finalize Islands
Finalize Islands
Solve Position Constraints,
Update Bodies Broadphase
(per island)
Solve Position C...
Set Body Island Idx
Set Body Island Idx
P
P
V
V
P
P
V
V
Read position
Read position
Read/write position
Read/write position
Read velocity
Read velocity
Read/write velocity
Read/write velocity
Broad Phase Update Prepare
Broad Phase Upda...
P
P
P
P
Solve Velocity Constraints
(per island)
Solve Velocity C...
V
V
P
P
V
V
P
P
V
V
P
P
P
P
Broad Phase Update Finalize
Broad Phase Upda...
Start Next Step
Start Next Step
Repeat CollisionStep Times
Repeat CollisionStep Times
A
A
A
A
Reads active bodies
Reads active bodies
Deactivates bodies
Deactivates bodies
Build Islands from Constraints
Build Islands fr...
P
P
A
A
A
A
Find Collisions
(per batch of active bodies and per pair)
Find Collisions...
P
P
V
V
A
A
Multiple concurrent jobs
Multiple concurrent jobs
Determine Active Constraints
(in batches)
Determine Active...
A
A
Activates bodies
Activates bodies
A
A
Can spawn
more jobs
Can spawn...
Find CCD Contacts
(per body)
Find CCD Contact...
Resolve CCD Contacts
Resolve CCD Cont...
V
V
P
P
A
A
P
P
Finalize Contact Cache,
Contact Removed Callbacks
Finalize Contact Cache,...
V
V
Not
Last
Step
Not...
Last Step
Last Step
Step Listeners
(in batches)
Step Listeners...
P
P
V
V
A
A
Integrate & Clamp Velocities (in batches)
Integrate & Clam...
Post Integrate
Post Integrate
If no CCD bodies
If no CCD bodies
Starts the final job
Starts the...
Soft Body Prepare
Soft Body Prepare
Soft Body Collide
Soft Body Collide
Soft Body Simulate
Soft Body Simula...
Soft Body Finalize
Soft Body Finali...
P
P
P
P
V
V
P
P
V
V
V
V
A
A
A
A
Text is not SVG - cannot display