Simple Physics Engine SPE Simplified Chinese

Home Download License Document FeedBack


       Simple Physics Engine (SPE) is a lightweight but still powerful physics engine for games and virtual reality programs.

Download Demo for Mac OS X (498 KB)
       Intel CPU, Mac OS X 10.5 required.

Download Demo for Windows (370 KB)

Download Demo for Linux (477 KB)



News
  • Aug 6, 2009. SPE 3.3 released.
  • Port the demo program from DirectX to OpenGL to provide equivalent quality demo on all mainstream platform, especially for Mac OS X, and a version for iPhone OS is coming soon.
  • Bugs fixed.
  • No API changes so no new SDK released.

  • Aug 8, 2008. SPE 3.20 released.
  • Accurate force computation for both dynamic and static rigid bodies. Improved CDS and new sleeping rigid bodies management can provide accurate support force and friction force report for users.
  • Parallel fluid simulation.

  • Feb 20, 2008. SPE 3.00 released.
  • Conservative Direct Solver(CDS). We had successfully implemented a high precision solver dedicate to rigid body dynamics called Conservative Direct Solver(CDS). CDS had the numerical stability as traditional iterative solver and of the similar precision as direct solver, it can handle contact between large mass ratio rigid bodies or very tall stacks very well, which are painful situations for traditional iterative solver. CDS also allowed you to tuning between precision and speed. The new CDS is about 30% slower than old solver by default precision setting, actually, it's hard to make a exact comparison since the speed of CDS depond not only on the number of constraints, but also the relationship of all constraints, anyway, CDS is far more stable and accurate.
  • Physics process filter, disable or enable collision detection and solving for groups or a single given rigid body.
  • Individual API for collision detection, easy to integrate with AI system.
  • New interfaces for custom joints. New APIs(ISPEContact and ISPEConstraint) would give you unlimited freedom to utilize the powerful CDS and build custom joints. Although it's impossible for you to fill data to a matrix like using other engines, we provide a particular form to access the solver which is easy to use and powerful, a tutorial in SDK had demostrated how to build point-on-line-segment joint and gear joint. This feature made SPE a very flexible platform for rigid body dynamics development.
  • Improved scene management.
  • Improved threads management.
  • Improved tri-mesh collision detection.
  • New tutorials in SDK: Physics and AI, CustomJoint.
  • Full featured Linux edition is ready.
  • License updated.

  • Jan 2, 2008. Forum is available now.
  • Dec 2, 2007. SPE 2.60 released.
  • Particle based fluid simulation. Supports both water and smoke, features interaction with rigid bodies, dynamic grouping for particles, fast discrete surface generation.
  • Optimized shape initializing especially for large meshes, much faster and less memory used.
  • Fast dynimic zone searching. No matter how many static meshes/objects you added to the scene, the performance of broad phase would never reduce.
  • New contact query interfaces.
  • More tutorials added to SDK, including Fluid, ContactQuery, Ragdoll, Vehicle, Terrain.

  • Sep 15, 2007. SPE 2.00 released.
  • Advanced spacial grid, ready to handle complex scenes or massive objects.
  • New Tri-Mesh collision detection algorithm, more robust, roughly 80% faster over previous release.
  • High Parallel Computation. Over 90% of workloads can be distributed to arbitrary number of threads averagely. Compared to single thread, two threads provide at least 60% performance improvements, and four threads provide about 150% performance improvements. In our new demo, you can config how many threads to use for each step of physics simulation and see the results, but the number of options available depend on the number of cores of your CPU.

    2 Threads (2 Cores@1.6G)

    4 Threads (4 Cores@3.0G)

  • Jun 10, 2007. SPE SDK 1.50 released, new demo released.
  • New uniform solver for collisions, cantacts and joints which not only compute friction and elasticity accurately, but also much stable than the old one.
  • New data structure of contact points cache for sleeping objects, and new sleep and wake algorithm making objects go to sleep and wake up more naturally.

  • Mar 10, 2007. SPE SDK 1.10 released, new demo released.
  • Get contact information of a rigid body.
  • Cast a ray to the physics world.
  • Open APIs for breakable rigid body.
  • More detailed document for reference.

  • Jan 3, 2007. SPE SDK 1.00 beta released.
  • Oct 8, 2006. First demo of SPE released.

  • Features
    SPE includes the following features:

  • Uniform Tri-Mesh collision detection algorithm. SPE treat almost all shapes as Tri-Mesh and use our fast and stable algorithm to detect collisions, You can create arbitrary shape from a mesh file or a vertex and a index buffer, need not worry about shape is convex or concave, SPE will do a good job for you, this feature brought great convenience to developers in practical application. Exact mass properties is computed automatically too to provide realistic physics behavior. In addition, two primitive shape (sphere and capsule) is supported. And a narrow/limited swept collision detection had been implemented so it can handle fast moving object in most cases.

  • Conservative Direct Solver(CDS). We had successfully implemented a high precision solver dedicate to rigid body dynamics called Conservative Direct Solver(CDS). CDS had the numerical stability as traditional iterative solver and the similar precision as direct solver, it can handle contact between large mass ratio rigid bodies or very tall stacks very well, which are painful situations for traditional iterative solver. CDS also allowed you to tuning between precision and speed.

  • Joint and Custom Joints. Build-in point-to-point joint with MaxDistance and BreakForce configurable. Relevant APIs opened now which give you unlimited freedom to utilize the powerful CDS and build custom joints. Although it's impossible for you to fill data to a matrix like using other engines, we provide a particular form to access the solver which is easy to use and powerful, a tutorial in SDK had demostrated how to build point-on-line-segment joint and gear joint. This feature made SPE a very flexible platform for rigid body dynamics development.

  • Breakable RigidBody. (Beta). SPE provides functionality of Shape Operation that any closed mesh can be carved into pieces by a collection of planes or another mesh. SPE exports new meshes with attributes representing original surface and sections with which you can render the new shapes accurately. APIs to implement breakable rigid body is open now, and a tutorial demo is included in the SDK.

    Carved by two planes

    Carved by a cask mesh

  • High Parallel Computation. SPE now had been greatly parallelized to benefit from multi-core CPU's. Over 90% of workloads can be distributed to arbitrary number of threads averagely. Compared to single thread, two threads provide at least 80% performance improvements for integration and collision detection, 30% performance for solving(we'll continue to parallelize the new CDS), You can use SPEWorld::SetNumThreads( ) to specify how many threads for physics computation on the fly. Multi-Threads is not avaible for free users now.

  • Particle based fluid simulation. Supports both water and smoke, features interaction with rigid bodies, dynamic grouping for particles, fast discrete surface generation.

  • Easy to use interface. You can create a physics world very easily. see Get Start.



  • © 2006-2008, spehome.com, All rights reserved.
    E-Mail: