Setting some goals for the 0.9 release...

23 views
Skip to first unread message

mo

unread,
Jan 30, 2011, 8:30:45 AM1/30/11
to jinn...@googlegroups.com
Hi people. If you are up for it, please try out the geometry_rework branch, and give feedback. Also, if there is something you feel should be fixed/included in the coming 0.9 release please let me know. Im including the log from a recent svn commit, just so you can get an impression of whats going on right now: 

Revision: 289
Author: mor...@silcowitz.dk
Date: Fri Jan 28 11:16:42 2011
Log: Very large commit, that should evidently have been split into many smaller ones. However, that wasn't really possible at the time. Changes:

- redesigned and rewritten contact graph implementation, including a new data abstraction layer. Right now it still uses hash maps, but it will be easy to change to a object-based data layer.
- contact point generation improved, lots of allocations avoided.
- quaternion class trimmed down and rewritten
- forces replaced by constraints, which can now be marked as "external". Their contribution will be (cheaply) calculated outside the solver, and used as external force. This makes it possible to use for example joint constraints as external forces. Overall, this is done to keep things as transparent as possible. Since forces are now constraints, they are also stored in the contact graph, which makes a potential distributed execution more obvious. Before, forces had to be kept in some global list.
- the demo renderer now supports rendering spheres
- added support for adjusting correction velocity parameter on Material
- Solver structure rewritten and trimmed down, to reduce the overall memory usage. It now favors "calculation-over-memory".
- Added a primitive Warm starting mechanism, that seems to work quite well in practice.
- Deactivation system redesigned, so that now only monitored constraints are checked in each tick. This eliminates the previous check of all bodies in a deactivated component.
- In general, jinngine is moving closer to multi-threaded execution, because the contact/constraint graph makes it possible to distribute the data amongst separate processes.

Hope I didn't forget too much. Here goes....

http://code.google.com/p/jinngine/source/detail?r=289

rschwemm

unread,
Jan 31, 2011, 12:05:46 PM1/31/11
to jinngine
On Jan 30, 2:30 pm, mo <mor...@silcowitz.dk> wrote:
> Hi people. If you are up for it, please try out the geometry_rework branch,
> and give feedback. Also, if there is something you feel should be
> fixed/included in the coming 0.9 release please let me know.
> [...]

Hi Morten!

You'll already know all I write. But maybe it's a good idea to put
everything in a single place. I think the current state of
geometry_rework is already a huge advancement to trunk (and to 0.8 as
well...).

- Hide the attracting body for the new GravityForce.
- Have Scene::addGeometry(final Matrix3, final Vector3, final
Geometry) return the created body.


And for the further future, in case you get bored ;-)
- Provide a simple visual debugger. (I think it might quite easily be
derived from the example renderer. Especially when you/so. plans to
refactor it as mentioned in http://groups.google.com/group/jinngine/browse_thread/thread/a8451397afee1691)
- (If possible) Add some kind of (optional) continuous collision
detection.

Mostly minor issues. So far, the new code runs perfectly stable. No
crashes at all.

Best regards!
Reply all
Reply to author
Forward
0 new messages