Commit Graph

344 Commits

Author SHA1 Message Date
fd0072e77c Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
8ca128414d Cloth collisions: Reorganized collision system to be more flexible for other parts of blender, so it can be more easily reused. Also slowed down friction impulse. 2008-07-02 20:28:49 +00:00
c84c0201e1 Collisions: Commit of collision cleanup, put kdop-bvh structure into BLI_kdopbvh (just like kdtree interface now), huge speedup for selfcollisions, also better normal collisions (merge from cloth branch) 2008-06-03 18:48:54 +00:00
cb378cbceb -= Cloth =-
1. Fix selfcollisions (reported by nudelZ)
2008-05-26 09:39:32 +00:00
fcea4573dd -== Cloth / kdop ==-
1. Bugfix for crash on enabling cloth on object
2. Correcting kdop nth element sorting function (fix provided by André Pinto)
2008-05-25 13:15:54 +00:00
4bf01e8162 Commit of selfcollisions using new kdop design. Should result in nice speedup. 2008-05-23 20:20:14 +00:00
4d8b5587b8 Pre merge commit (includes commented moving stuff) 2008-05-14 16:09:56 +00:00
a68c03e409 Reason of all this work: Commiting my work-in-progress on reviewed collision system (better + general access to kdop, uses less memory, put it into BLI_* namespace and usage defined like existing BLI_kdtree_*). Deleted old kdop.c 2008-05-07 20:42:16 +00:00
57932e1752 svn merge -r 13452:14721 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-07 17:44:46 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
0e8a6448dd Little cloth code cleanup needed because of from new cache code merge 2008-04-10 18:00:59 +00:00
1fe5302cce Point Cache Refactoring
=======================

Caching and Baking:
- The point cache is now cleared on DAG_object_flush_update(), and not cleared for time dependency graph updates.
- There is now a Bake button instead of Protect. Also cache start and end frames were added to softbody and particles.
- The cloth autoprotect feature was removed.
- The Ctrl+B menu now also bakes cloth and particles next to softbody and fluids. Additionally there are now frree bake and free cache menu entries.
- The point cache api has been changed. There is now a PTCacheID struct for each point cache type that can be filled and then used to call the point cache functions.
- PointCache struct was added to DNA and is automatically allocated for each physics type.
- Soft body now supports Bake Editing just like cloth.
- Tried to make the systems deal consistently with time ipo's and offsets. Still not sure it all works correct, but too complicated to solve completely now.

Library Linking:
- Added some more warnings to prevent editing settings on library linked objects.
- Linked objects now read from the cache located next to the original library file, and never write to it. This restores old behavior for softbodies. For local simulation the mesh and not the object should be linked.
- Dupligroups and proxies can't create local point caches at the moment, how to implement that I'm not sure. We probably need a proxy point cache for that to work (ugh).

Physics UI:
- Renamed deflection panel to collision for consistency and reorganized the buttons. Also removed some softbody collision buttons from the softbody panel that were duplicated in this panel for cloth.
- Tweaked field panel buttons to not jump around when changing options.
- Tabbing e.g. Soft Body Collision into the Soft Body panel, it now only shows Collision to make the panel names readable.
- I tried to make enabled/disabling physics more consistent, since all three system did things different. Now the two modifier buttons to enable the modifier for the viewport and rendering are also duplicated in the physics panels. Toggling the Soft Body and Cloth buttons now both remove their modifiers.
- Fixed modifier error drawing glitch.

Particles:
- Particles are now recalculated more often than before. Previously it did partial updates based on the changes, but that doesn't work well with DAG_object_flush_update() ..
- Fixed memory leak loading keyed particle system. Now keys are not written to file anymore but always created after loading.
- Make particle threads work with autothreads.

Continue Physics:
- The timeline play now has a Continue Physics option in the playback menu, which keeps the simulations going without writing them to the cache.
- This doesn't always work that well, some changes are not immediately updated, but this can be improved later. Still it's fun to get a feel for the physics.

Todo:
- Point cache can get out of sync with and undo and changing a file without saving it.
- Change the point cache file format to store a version (so old point cache files can be either converted or at least ignored), and to do correct endian conversion.
- Menu item and/or buttons for Ctrl+B.
- A system("rm ..") was changed to remove() since the former is very slow for clearing point caches. These system() calls were already giving trouble in a bug in the tracker, but really most use of this system("") should be changed and tested.
- The Soft Body Collision and Clot Collision panel titles don't mention there's point cache settings there too, doing that makes them unreadable with the default panel setup.. but may need to make the names longer anyway.
2008-04-10 11:39:20 +00:00
906666a4d8 Cloth enhancement for upcomming cache changes: support different speed using clmd->sim_parms->timescale 2008-04-09 16:38:26 +00:00
fef157ac07 Cloth bugfix: used old dm instead of new created result derivedmesh; Code cleanup + deactivation of unsued selfcollision code in kdop.c + little speedup there 2008-04-08 12:55:35 +00:00
7c1a21c385 Collision Modifier/KDOP: Rearrange things to be more generic. Also fix possible crash if not enough memory there. 2008-03-17 21:45:40 +00:00
df27557b81 Cloth header cleanup, bugfix (again) in wind calculation, bugfix for not working fields mindist GUI option 2008-03-13 22:45:36 +00:00
51c58f3ca2 Bugfix for wrong initial cloth settings pretending to be cotton 2008-03-12 10:41:47 +00:00
33a6bf610e Cloth bugfix for 1. reset of cloth sim during render with vector blur when cache was not protected, 2. fix of bad vector blur for cloth, put fluidsim like function in to get real speed vectors 2008-03-12 01:42:39 +00:00
b4e13ae575 Another big purge of warnings. (Main culprits this time were Campbell and Geoffrey):
* no newline at end of file (2-3)
* uninitialised vars (1)
* unused vars (1-2)
* assigning/comparing pointers and ints (numerous)
* etc.
2008-03-07 03:24:23 +00:00
3ebcb39090 Cloth bugfix for jumpy cloth (users were complaining), so the mass can be changed on GUI now (reference: in old blendfiles, mass=1.0 was used) 2008-03-06 01:21:40 +00:00
8dbd6e2b03 Cloth bugfix - stupid typo resulted in missing diagonal springs (reported by nudelZ on #blendercoders) 2008-03-02 23:20:20 +00:00
373f142530 Cloth: Bugfix for IRIX compile (hopefully), bugfix for multiple springs (appeared on triangles), _test_ for inlining on msvc 2008-03-02 22:01:43 +00:00
6169b29b3a Cloth: Bugfix for wrong calculated bending springs, Bugfix for selfcollisions (faster + bugfix for explode), Changed: Collision response also put vertices back to surface now 2008-02-28 23:12:50 +00:00
905a2d374a Cloth: 1. Bugfix for possible memory leak reported by Kenneth Styrberg (via mailing list), 2. Bugfix for friction again, 3. Preset menu on GUI (thanks to help from nudelZ (#blendercoders), 4. Possibility to disable autoprotect cache, 5. Some cache bugs fixed, 6. Some speedup in generating cloth 2008-02-28 00:01:19 +00:00
7d310f4e5c Cloth: fixed completely useless/wrong friction force; changed some initial settings 2008-02-27 03:23:17 +00:00
f9fb9965aa Cloth: make cloth more crash resistant if memory allocation failed 2008-02-26 14:25:29 +00:00
e9ce2a9f3f Cloth: Little (bug)fix to let springs appear as an upper tridiagonal matrix 2008-02-26 09:55:07 +00:00
824a714b47 Purge of compiler warnings... (hopefully everything still compiles, there are still more to remove) 2008-02-24 11:16:37 +00:00
e3e268253d Cloth: Bugfix for wrong number of bending springs, could result in visual artifacts 2008-02-20 15:54:34 +00:00
3192263367 Cloth: changes in editmode will influence the velocity by 10% now, changed/add some update calls for the implicit function 2008-02-13 10:44:36 +00:00
e82484b0bb Cloth: New: *simple* (OpenMP enabled) Selfcollisions available 2008-02-12 11:04:58 +00:00
bb715a93b9 Cloth: 1. Speedup of collisions (up to 50%, see new dancing ballerina stats here: http://www.dldw.de/tmp/index.php?file=i_cloth-kdop-dancingb.jpg ; 2. changed vertex paint reset behaviour to only reset cloth if vertex group is really used 2008-02-11 20:40:22 +00:00
69e6a6cbc9 Pointcache: Fixed non-availability when blend file was loaded from command line and also another case where you startet from an unsaved blend and switched to a saved one; Cloth: Fixid mass init, little speedup for collisions; Collision Modifier: More generalized it 2008-02-11 13:30:52 +00:00
1efba5bdb1 Cloth: Hopefully fixed bug reported from bjornmose (2nd try) 2008-02-08 00:55:48 +00:00
eb281bff39 Cloth: 1. fix problem with pinning (reported by ZanQdo), 2. fix cache protected + 'not saved' gui message bug (reported by Tobias Regenbrecht) 2008-02-06 22:59:56 +00:00
a8c25e279d Cloth: Fix for crash with meshes with no faces, 2. Fix for crash on switching from to another mesh 2008-02-05 15:09:48 +00:00
0e7bdb959e Cloth: Fixed: [#8210] (includes bad spring calculation), only mesh can get cloth assigned, New: initial try of Bridson/Fedkiw friction formula implementation, better GUI feedback when e.g. cache is protected and settings too 2008-02-03 22:37:43 +00:00
4ed28a99a7 Cloth: Bugfix: 1. Kicking esc again, 2. Collision modifier needed to be updated when going backward in time, 3. GUI change when no bullet there 2008-01-30 02:05:37 +00:00
7a7a52226f makes bullet independant from gameengine for cmake, introduces esc-key during sim, disables collisions when no bullet there 2008-01-29 23:13:31 +00:00
77685023ca Initial commit of cloth modifier from branch rev 13453 2008-01-29 21:01:12 +00:00
5da7f4df47 -= Cloth cleanup =-
Fixes:
- Cloth event refactor to solve 2 unknown cache bugs
- Cloth vgroup refactor (faster + scalable stinnes now working)
- Cloth + Collision modifier on one object crash
- Editmode + faceextrude on baked cloth crash
- Stiffness groups would get pinned
- Correct scaled stiffness calculation
- Fixes freeing error under some circumstances
- Deactivating reset/cache freeing when in editmode
- Autobaking setting doesn't get screwed up anymore
- More than 1 collision object in a scene could explode
- Pinning + not protected cache didn't reset cloth
- Start simulation on first frame and not on 2nd
- Maximum structstiff now correct (copy-paste error)
- Loading file with baked cloth calculate the spring length correctly 
- Loading file behaviour improved with cache
- Collision object is evaluated first (untested)
- Debug output activated with rt>0

Be carefull: Files with some cloth cache or something should be 
regenerated.
2008-01-29 16:32:42 +00:00
9c1fa1ff4d WIP commit, many debug outputs, extensive log comes after bug is killed 2008-01-29 02:24:37 +00:00
a1a9e011b8 untested fixes for vgroups 2008-01-25 21:47:43 +00:00
a01a606b1f Weekend commit -> New: 3rd tab for advanced users mit many things to play with. Fixed: Free modifier correctly when deactivating cloth on panel, be carefull: could eventually put weird values on the GUI due to changed DNA 2008-01-25 16:14:54 +00:00
589870100d Fix: clear cache button works again even with protected cache, edited cache doesn't get saved to wrong frame anymore when moving frames forward in editmode 2008-01-25 10:33:19 +00:00
e7f5d07781 New: load cached data on file load; Fixed: Don't destroy cache on fileload, calculate normals correctly, don't reset all data when pressing partial free, making also cache free buttons available when cache is protected, duplicating cloth with shift-d should work properly now 2008-01-25 08:55:27 +00:00
c5dc7c7b02 New: Editable cache. Fixed: Don't clear cache on e.g. lamp moving. Changed: Switched to another modifier type to be more flexible (allows tearing later) 2008-01-24 10:43:12 +00:00
576a7f623c fix for collision modifier not reseted after first run + made the pushpin more like one 2008-01-23 17:58:09 +00:00
4b1b749130 Enabled first + last simulation frame, hopefully fixed some cache problems, changed 3d view ball to a pushpin layout -feel free to enhance in drawobject.c line 5440 2008-01-23 15:30:23 +00:00
6490b2b29a Made GUI even more intuitive with explanations why something is not available etc., fixed some uninitialized variable. NEW: show pinned verts as big red balls in 3dview - please tell me how to improve that visual feedback :) 2008-01-23 13:24:44 +00:00