Skip to content

0.4.0

Compare
Choose a tag to compare
@kadir014 kadir014 released this 02 Mar 17:12
· 450 commits to main since this release

What's new? 🎉

  • New Vector2 API.
    • Utility macros like NV_VEC2(), NV_VEC2_NEW, NV_TO_VEC2, NV_TO_VEC2P
  • Nova Physics now uses an iterative sequential impulse solver with accumulated impulses.
    • This greaaatly increases the collision resolution stability and helps performance with reduced substeps.
    • Erin Catto has great presentations about the topic: GDC 2005 & GDC 2006.
  • A custom build system for Nova Physics that simplifies everything.
    • Learn how to use it here.

Updatelog

  • Nova Physics now uses a custom floating point type nv_float which can be configured while building by the developer.
  • Solver can be configured to use different functions for coefficient mixing.
  • nv_Body_apply_impulse (and nv_Body_apply_pseudo_impulse) methods are used in the solver.
  • nv_Space_clear method to clear all the Space content.
  • nv_Space -> warmstarting field to toggle warm-starting accumulated impulses.
  • Improved example base and new examples demos.
  • Improved sleeping.
    • nv_Space -> sleep_energy_threshold field to determine sleeping energy threshold
    • nv_Space -> sleep_timer_threshold field to determine sleeping time threshold
    • nv_Space -> wake_energy_threshold field to determine waking energy threshold