Irlan bd09b243c2 use mvc for the testbed, update almost all tests, bugfixes, improvements, cleanup
Since I started altering the testbed for better maintainability, I prefered to drop this (tested) large change with a single commit. Some changes below:

Put some globals in their correct place,

Now Testbed uses the MVC pattern (Model-View Controller). This way it becomes better to maintain than using no pattern  in my opinion.

Fixed some bugs in the debug draw interface.

Of course, updated almost all tests because of the differences.

Update script.
2018-04-10 00:57:14 -03:00
2017-06-06 16:02:48 -03:00
2018-04-03 15:05:18 -03:00
2017-02-27 19:14:13 -03:00
2016-12-18 18:39:47 -02:00
2016-12-18 18:39:47 -02:00
2016-12-18 18:39:47 -02:00
2018-04-03 15:06:52 -03:00

About

Bounce is a 3D physics engine for games.

To get started with Bounce see readme.txt.

Here is how to control the Testbed. The Testbed is a collection of non-unit tests and examples that helps the author debug features and is not part of the library.

Camera (as in Maya):

  • Rotate the scene holding LSHIFT + LMB
  • Translate the scene holding LSHIFT + RMB
  • Zoom in/out the scene using LSHIFT + Mouse Wheel

Bounce is released under the zlib license.

Features

Common

  • Efficient data structures with no use of STL
  • Stack and small block allocators
  • Built-in math library
  • Tunable settings used across the entire library

Collision

  • Dynamic tree broadphase
  • Static tree "midphase"
  • SAT
  • GJK
  • Spheres, capsules, hulls, triangle meshes
  • Optimized pair management

Dynamics

  • Contact, friction, restitution
  • Mouse, spring, sphere, cone, revolute joint types
  • Joint motors, limits
  • Constraint graphs
  • Simulation islands and sleep management
  • Linear time solver
  • Stable shape stacking
  • One-shot contact manifolds
  • Contact clustering, reduction, and persistence
  • Contact callbacks: begin, pre-solve, post-solve
  • Ray-casting and volume queries

Testbed

  • OpenGL with GLFW and GLAD
  • UI by imgui
  • Mouse picking
  • premake build system

Documentation

  • Doxygen API documentation

Screenshots

screenshot 1

Description
Bounce is a 3D physics engine for games.
Readme 6.1 MiB
Languages
C 51.7%
C++ 47.4%
Lua 0.6%
Makefile 0.3%