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
Repeat IntegrationSubSteps Times
Repeat IntegrationSubSteps Times
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
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
A
A
Multiple concurrent jobs
Multiple concurrent jobs
Determine Active Constraints
(in batches)
Determine Active...
A
A
Activates bodies
Activates bodies
A
A
Build Islands from Constraints
Build Islands fr...
P
P
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
Triggered during last integration sub step
Triggered during last int...
Find Collisions
(per batch of active bodies and per pair)
Find Collisions...
P
P
V
V
A
A
Apply Gravity, Setup/Solve Velocity Constraints
(per island)
Apply Gravity, S...
V
V
P
P
Last Sub Step
Last Sub Step
Not
Last
Sub Step
Not...
Not
Last
Step
Not...
Last Step
Last Step
Start Next Sub Step
Start Next Sub Step
Solve Velocity Constraints
(per island)
Solve Velocity C...
V
V
P
P
Broad Phase Update Prepare
Broad Phase Upda...
P
P
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...
Text is not SVG - cannot display