[ODE] release time
Bram Stolk
bram at sara.nl
Sat Feb 10 03:52:27 MST 2007
dHello(),
I've investigated that heightfield thing again, and I agree with the
author of the optimization patch: as long as there is no good testcase
that demonstrates the bug, there is not much to do. I contemplated
reverting, but it's probably best to keep it as is, and see if a
reproducible test case will emerge. BTW: Diff'ing the heightfield
implementations is a nightmare due to the 'indent changes', just like we
discussed in another thread.
Jason, I think it is time to release.
Your call: you can do an rc2, but if you go directly to 0.8, that would
be fine. I've tested linux on ia32, ia64, ppc and on irix mips. They are
all fine. If your win32 build is OK, just put out 0.8, and if needed,
a 0.8.1 fix is always possible.
I've created a poor man's Changelog from the svn logs, as the most
frequent question from the community is always 'where are the release
notes with changes?'.
Judging from this list, 0.8 should be a lot better than 0.7 :-)
Bram
CHANGELOG for ODE 0.8 wrt ODE 0.7
=================================
Make building tests optional. SF patch 1650563
lib64 fixes, SF patch 1646598
added test_jointPR (sf patch 1654464)
Warn against using double precision with gimpact
Updated versions in configure.in, added step to release script
Fixed CR/LF issue in release script
Make it score on linux+opcode
Fixed illegal goto: crossed data init, and removed ctrl M's
Added patch [ 1626242 ] Small optimization for quickstep. The patch goes
into details of the two optimisations, as usual this is a pending patch
in case there are problems.
Added patch [ 1626292 ] Update PR joint functions. A number of updates
and fixes for Joint PR.
Added patch from #1589443 to add Joint PR output to export-dif.cpp
Applied patch [ 1589439 ] Remove an unused function
Added changes from patch #1583115 by Tuan Kuranes. Performance in
test_heightfield, especially for meshes is a superb improvement!
Fix for build error when using a manually generated project (i.e.
dumping in all of the files) and premake to generate config.h with the
--no-trimesh option. This was due to "#define dTRIMESH_OPCODE 1" still
being present in 'collision_trimesh_internal.h'. Also it now ignores
'--with-gimpact' if --no-trimesh is used as they are mutually exclusive.
Enhanced the platform identification to detect Xbox 360, PS3 and PSP
correctly. This is simply to provide a slightly nicer 'out-of-the-box'
experience for console developers. NOTE: These platforms still remain
unsupported and may not build correctly, however this shouldn't now be
because of a '#error' directive.
Bump up version nr properly. We forgot to do this for 0.7
Applied patch #1615274 - New dBodyGetWorld function which returns the
world id for a body, or zero if the body is not in any world.
Applied SF patch 1610170 by Christoph
Added matrix.h to .net bindings
Completing joint feedback patch - more optimized version
Added an assert (from patch 1557801) for a very common composite mass
problem encountered by new users - centre of mass must be at the body
origin. (Use dMassTranslate( mass, -mass->c ) to correct it). Note that
at some point in the future, ODE will support offset masses, until that
time it'll save a lot of people time if it asserts about it (and
hopefully may spur on development of offset masses!)
Raised the maximum contact points from 8 to 64 to allow the complex
bunny model to be repelled from the plane correctly.
Patch #1590910, fix for ray-triangle collision.
Changed dSINGLE / dDOUBLE to be safer. You will now get an error with
both #defined and the one case where dSINGLE needed to be defined as !=
0 to work has been changed to match all the other #ifdef dSINGLE.
Fix for memory leak of static memory allocated in the OPCODE collider.
Applications must ensure to call dCloseODE before running memory leak
checking functions.
Fixed a memory leak in heightfield.cpp
Updated project files for gimpact support
Applied Tuan Kuranes' performance patch #1583115.
Removed 'space' accelerator for pause - this was used by some of the
tests. CTRL+P still works
Unified instantaneous and averaging velocity systems for auto-disabling
bodies, to reduce overheads in the default case to near that of the
classic auto-disabling system. With the added scope of allowing a larger
sample set if required.
Fixed a little bug in the averaging auto-disable system where the z
component wasn't being scaled properly and the y component was being
scaled twice. Also optimised slightly for single sample case with a view
to unifying with the classic auto-disable system.
Integrated Christoph Beyer's average based sampling system for body
disabling. The current tests are not great examples for this new
feature, but I have added it to the two I know about the most.
Removed unused local vector 'p' from PRGetInfo2. Silences warning in VS2003.
drawstuff: The single-step option now auto-pauses if required, also
added a new keyboard accelerator so that <space> toggles pause.
Removed all of the signed / unsigned warnings presented by the VS2003
compiler. Also applied patch #1589452 by Remi Ricard.
Integration of patch [ 1566410 ] Rename JointRP to JointPR.
Another big chunk of the Ode.NET binding
Added a good portion of the API to Ode.NET
Applied patch 1586738: don't freeze objects mid-air
Added missing premake files (whoops)
Cleaned up .NET bindings; getting ready for another round
Use dMassSetTrimesh for 'm' option. Use dWorldStepFast1 to make
collision bug with GIMPACT (see bug report #1587911) easier to reproduce.
Applied patch 1587462 from SourceForge to implement
dGeomTriMeshGetTriangleCount, dGeomTriMeshGetTriangle and
dGeomTriMeshGetPoint. Fixes test_moving_trimesh
Replacement cyl/sph collider by Christoph Beyer
improved cyl/sphere test
Added GIMPACT support to autotools
Don't put guard over trimesh func
Added cylinder support now that it's almost fully implemented.
Renamed Joint RP to Joint PR - as per patch 1566410. Note that the
supplied patch files did not merge properly due to the extend of the
subsequent patches, so these changes we made by hand. Apologies if
anything was missed.
Patch to fix zero length normal which occurs at certain contact angles.
By Francisco Leon.
Added dMassSetTrimesh implemented by Gero Mueller, based on a paper by
Brian Mirtich. Used in test_moving_trimesh for reference.
Fix unix build
Replacement cyl/plane collider by Christoph Beyer
Initial merge of GIMPACT trimesh collision system
Improved contact pts for cyl lying with cap on plane
handle cases where discs are completely behind plane
Fixed cyl/plane bug that occured when plane is not at origin
Added fix by Jon Watte for denormals
Add assert to check if bug report 1192390 makes sense.
Fix include path. Fixes Bug 1572419
fix double precision build, remove ctrl-M noise
Flags dUSE_MALLOC_FOR_ALLOCA as experimental in premake scripts
Fixed silly CYGWIN macro
Convex-Convex somewhat works, sometimes returns less than optimal
contact points
Added support for dUSE_MALLOC_FOR_ALLOCA to premake build
Some work on Convex objects code, Added convex collision detection test.
Added more functions to Ode.Net binding
Fixed a typo in INSTALL.txt
Deprecated Visual Studio 6
cyl/plane fix
Fixed two bugs in plane/cyl collision test
Updated visual studio build scripts to create drawstuff.dll for .net binding
Merged .NET binding to trunk
Option to rotate cylinder with geom-offset
Fix for bug #1554391 found by chris88. UseFlags member variable would be
deleted as garbage pointer if dxTriMeshData was deleted immediately
after creation.
Fixed code to compile without OPCODE if dTRIMESH_ENABLED is off. It is
now possible to completely remove OPCODE / TriMesh support by removing
the OPCODE folder from the project, and from the disk.
Removed all of the single/double precision warnings in test_plane2d.cpp
Fix for dTRIMESH_ENABLED support to allow "#define dTRIMESH_ENABLED 0"
to disable trimesh operation correctly. NOTE: "#define dTRIMESH_ENABLED"
is no longer supported, you must use "#define dTRIMESH_ENABLED 1" to use
trimeshes, as per the default config file.
Relaxed testing tol for dSINGLE
Feature Request [ 1526353 ] - Make 'last transform' a member of the
trimesh geom, not trimesh data - to support instancing. New functions:
dGeomTriMeshSetLastTransform and dGeomTriMeshGetLastTransform work very
similar to before and require minimal user code changes.
Added update for recent big changes.
[ 1553605 ] New Rotoide - Prismatic Joint
[ 1553613 ] Patch to enable the selection of the test in test_joint
[ 1553537 ] Optimize when dGYROSCOPIC is not used, by Remi Ricard
Patch #[ 1477849 ] Add fct getUniversalAngles by Remi Ricard
Applied patch #1553508 "Remove unused variables" by Remi Ricard
Fixed a couple of trivial warnings.
The composite-body has been overhauled by Geoff Carlton:
Support for geom offsets added.
The geom transform code has been fixed (centre of mass was off)
More information about the ODE
mailing list