2D physics engine for games
The 1.1.0 release of LiquidFun adds support for new platforms, speeds-up
the simulation, and documents the particle simulation algorithm with a fun,
visual presentation. Some highlights:
The API Modifications are minimal in this release,
but please review them carefully before upgrading your project.
LiquidFun now supports Mac, Windows, Linux, Android, iOS, and browsers. Note
that LiquidFun code is portable C++98, so you should be able to compile it for
other platforms too.
Your program can use LiquidFun if it is written in C++, Java, or JavaScript.
LiquidFun 1.1.0 is based on Box2D revision 280, the 2.3.0 release of
Box2D.
Published by stewartmiles over 10 years ago
The 1.0.0 release of LiquidFun introduces a number of new features to the
API described below. Some of the highlights
are:
Users of 0.9.0 should carefully read through the
API Modifications section to understand what they
need to change to get their existing applications to work with the latest
release of LiquidFun.
b2World
.b2Draw::e_particleBit
flag now enables/disablesb2World::DrawDebugData()
drawing the particle system.To render the particle system using b2World::DrawDebugData()
, the
b2Draw::e_particleBit
flag must be set on the b2Draw
object passed
to b2World::SetDebugDraw()
. It is possible to set flags on b2Draw
objects using b2Draw::SetFlags()
.
Release 0.9.0 unconditionally called b2Draw::DrawParticles()
from
b2World::DrawDebugData()
.
cmake -G"Unix Makefiles"
, now placesFor example, the output executable of the Testbed example is now
written to Box2D/Testbed/Release/Testbed when building using the Release
configuration.
```
GetParticleMaxCount ==> GetMaxParticleCount
SetParticleMaxCount ==> SetMaxParticleCount
GetParticleDensity ==> GetDensity
SetParticleDensity ==> SetDensity
SetParticleGravityScale ==> SetGravityScale
GetParticleGravityScale ==> GetGravityScale
SetParticleDamping ==> SetDamping
GetParticleDamping ==> GetDamping
GetParticleStaticPressureIterations ==> GetStaticPressureIterations
SetParticleStaticPressureIterations ==> SetStaticPressureIterations
SetParticleRadius ==> SetRadius
GetParticleRadius ==> GetRadius
GetParticlePositionBuffer ==> GetPositionBuffer
GetParticlePositionBuffer ==> GetPositionBuffer
GetParticleVelocityBuffer ==> GetVelocityBuffer
GetParticleVelocityBuffer ==> GetVelocityBuffer
GetParticleColorBuffer ==> GetColorBuffer
GetParticleColorBuffer ==> GetColorBuffer
GetParticleGroupBuffer ==> GetGroupBuffer
GetParticleGroupBuffer ==> GetGroupBuffer
GetParticleUserDataBuffer ==> GetUserDataBuffer
GetParticleUserDataBuffer ==> GetUserDataBuffer
GetParticleFlagsBuffer ==> GetFlagsBuffer
SetParticleFlagsBuffer ==> SetFlagsBuffer
SetParticlePositionBuffer ==> SetPositionBuffer
SetParticleVelocityBuffer ==> SetVelocityBuffer
SetParticleColorBuffer ==> SetColorBuffer
SetParticleUserDataBuffer ==> SetUserDataBuffer
GetParticleContacts ==> GetContacts
GetParticleContactCount ==> GetContactCount
GetParticleBodyContacts ==> GetBodyContacts
GetParticleBodyContactCount ==> GetBodyContactCount
DestroyParticlesInGroup ==> DestroyParticles (moved to b2ParticleGroup)
```
b2ParticleFlag
b2DestructionListener
tob2DestructionListenerParticle
to be consistent with other particle flagb2Timer
bug that occurs when the usec component wraps.b2Stat
to calculate min/max/mean of a set of samples, andb2ParticleColor
.b2World::QueryShapeAABB()
convenience function to query the worldThe initial release of LiquidFun is available for download from the
0.9.0 release release page.