Refactor ray and shape cast (#78)
Shape casts are more naturally expressed as an origin transform with
translation. Ray casts now use this convention as well.
cast (start,end) -> (origin,translation)
Add support for multiple cast hits with a callback. Added test for this.
Improved test bed with:
- first person camera on right-click
- tree view for tests
- all tests in cpp files for faster iteration
- tests are now categorized
- save/load of settings
shape cast penetration (#79)
Simple penetration computation for sphere and capsule casts that
initially overlap.
Must be within radius. Deep overlap not supported.
For sphere or capsule versus mesh, returns the deepest triangle.
Added buffering and flushing for text rendering.
Report penetration for all cases (#80)
Report final penetration in all cases, this lets a character mover sweep
and resolve.
This is needed because shapes with a radius may have a small overlap at
the end of the shape cast.
fixes:
- sleeping assert
- sleeping tolerance use length units
- fix shape filtering in broad-phase
Cast bug fix (#81)
missing case in recent refactor
Fix some more cast callback conditions (#82)
more testing, more bugs
fixed sample
IK Solver (#83)
Izabu:
- Initial commit of full-body IK solver and test
Body Definitions (#84)
overlap tests
remove bvh alignment
eliminate duplicate swing/twist functions
eliminate redundant limit macros
simplify unaligned SIMD load
beginning of C API
Fix Unreal build (#85)
Closest point on body (#86)
Also fixed sleep
Re-arranged GJK proxy to remove hole in struct
Tested closest point in Explosion sample
Events (#87)
Event arrays are available at the end of the time step instead of using
callbacks.
Added a faster array for simple data types.
Shape definitions for more efficient shape creation.
Event fixes (#88)
Added hit events and a world level threshold. Captures the manifold
point with the largest approach velocity.
Added stack array (but not used yet).
Added test for hit events.
Added initial relative normal velocity the the manifold. We can use this
later for speculative restitution.
No longer copying manifold data to begin events.
All events are configured on shapes and all are off by default.
Axis lock
Joint active
Joint breaking
Joint break callback
IZ_LINEAR_SLOP
ShouldCollide callback
Ignore izShouldCollide(Body, Body) if one of the shapes is a sensor
Sphere query broadphase
Heightfield shape
Mesh contact checks IzConcaveShape
Dont calculate mass for heightfield