Commit Graph

613 Commits

Author SHA1 Message Date
db3712a2d8 svn merge -r 14721:14810 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-12 12:24:52 +00:00
2c9e8e7593 Fix for bug #11140: explode modifier could run out of memory quite
quickly because it allocated a totvert*totvert size array, now uses
edgehash instead.
2008-05-12 11:48:55 +00:00
f7173498f3 missed modifier.c last commit, made explode copy some settings.
added back zr's depth buffer wire stuff, but only when wire is being drawn over solid mode. normal wire objects  will still display correctly.
2008-05-09 15:21:23 +00:00
53e08925b5 Merge from trunk
svn merge -r 14692:14760 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2008-05-09 11:57:52 +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
ad5579ec92 Fix for bug #9676: added warning that particles on multires are
not supported on anything else than the first level.
2008-05-07 16:31:49 +00:00
04d2a8badc Fix for bug #10734: mirror modifier crash with no axis
enabled for mirroring around.
2008-05-06 08:35:19 +00:00
2b5432e6bb Added control over distance to kept form target mesh
Quad bug was fixed by splitting the quads that are feed to RayTree
2008-05-02 22:09:01 +00:00
928b676b99 Implemented shrink modes are now:
+ Nearest surface point
+ Normal projection
+ Nearest vertex (gives similar results to nearest surface if the target mesh has many vertexs and is a lot faster to calculate)
^^ all bruteforce calculation for now

+ fixed matrix order multiplication
+ request for CD_MDEDEFORMVERT
2008-04-27 19:29:40 +00:00
a0add959ff Shrinkwrap skeleton code
+vertex weights supported
+target object now saves to file: load/save works :)

for now simple moves objects vertexs to the nearest vertexs on target object
(so that I can test if its working correctly with the modifier API)
2008-04-25 18:22:20 +00:00
087c66fd29 Added simple UI to configure some shrinkwrap modifier properties (simple commit to try svn) 2008-04-23 12:44:10 +00:00
a1b1cfdc38 Cloth: Fix point cache memory leak when duplicating cloth 2008-04-21 22:02:15 +00:00
7c68038353 Fix for bug #9093: array modifier merging didn't work
entirely correct after a recent bugfix.
2008-04-21 09:24:04 +00:00
13ec85aeb5 Bug #8950: dependency cycles weren't always printed correct. For
debugging, also added a name for each dependency relation, and when
a cycle is detected it now prints the full cycle to the console.
2008-04-15 13:07:56 +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
589e641f97 Sorry, reverting bad things in modifier.c 2008-04-08 12:58:25 +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
c10ba357ca Fix for bug: [#8816] File saved with Explode modifier crashes blender
-Explode modifier didn't check for empty psmd->dm at file loading
2008-03-31 22:11:10 +00:00
Ken Hughes
4c2b6c4bee Tools
-----
Bugfix #6961: in certain circumstances, array modifier would use deleted
copies of merged vertices, resulting in memory corruption and crashes.
2008-03-28 17:03:34 +00:00
cd3cf57842 Collision Modifier: 1. Bugfix: Enable hiding in modifier stack again, 2. Bugfix: Recalculate bounding volume if GUI setting changed 2008-03-22 22:08:46 +00:00
76f34bcdd9 Fixed bug #8597, Subsurf error
This was actually an error with the array modifier. Merging vertices would sometimes create degenerate faces (e.g. face.v1 == face.v3)
2008-03-21 23:06:15 +00:00
4c29f3cf09 added camera shiftx/y for the UVProject modifier 2008-03-21 21:03:31 +00:00
af8c68ddc4 Cloth structure names update: Sorry about this commit, it will kill all your cloth settings in old files but I had to do it before release because naming convention was really bad in cloth (e.g. using SimulationSettings instead of ClothSimSettings in DNA). Same for some structure in CollisionModifier but with no sideeffects. 2008-03-20 18:28:40 +00:00
25cf799ef8 Fix for bug #8464: particle system didn't attach to mesh in
case of a deforming modifier after subsurf.
2008-03-17 18:43:10 +00:00
411ade3036 Fix for bug #8516: mesh deform modifier didn't work correct with
transformed cage objects.
2008-03-16 19:38:04 +00:00
5aed02aafe -> Bevel modifier cleanup
Bevel modifier had several problems. These should be fixed now. The bevel
modifier in editmode cannot have 'apply to cage' checked as the modifier
cannot possibly support mapping. Further, custom data preservation has been
turned off temporarily, but will be added back in soon.
2008-03-01 16:32:23 +00:00
fc9a664227 Bugfix: Copy Modifiers with particle systems crashed, it didn't copy
the particle systems.
2008-02-27 17:04:58 +00:00
3dc8342945 Fix for #6686: crash with array modifier fit to curve option, could
create a too large amount of duplicates.
2008-02-25 13:05:08 +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
e03ab146ae -> Bevel tools and Bmesh kernel
The following is a commit of Levi Schooley's bevel code and 
the bmesh library it depends on. The current editmode bevel has 
been replaced with a new per edge bevel function. Vertex beveling is 
also availible.

To set weights for the modifier to use, use the ctrl-shift-e shortcut on either edges 
or vertices.

Recursive beveling is turned of for the time being.
2008-02-23 22:11:16 +00:00
785b4dcdda Fix for bug #8052: particle emit from verts and volume didn't support
subsurf/derivedmesh mapping yet.

Also added int-to-pointer and back conversion function to solve warnings.
Note that it is only allowed to store an int in a pointer and then get
it back, but not a pointer in an int!
2008-02-18 10:49:46 +00:00
e82484b0bb Cloth: New: *simple* (OpenMP enabled) Selfcollisions available 2008-02-12 11:04:58 +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
cac8215cad Cloth bugfix: enable stiffness scaling again even if cloth is not pinned 2008-01-30 22:00:12 +00:00
fd877543d1 New: Collision Modifier and Cloth can be at any position on the modifier stack. BUT everytime the vertices count change, they will free themselves and internal build new (they rely on vertex count). Should be no problem anymore with e.g. subsurf modifier before collision modifier (tested). Fix: applied a patch from schlaile to get my bullet additions compiled with gcc 3.3 2008-01-30 14:01:05 +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
3d3023126a Fix for bug #7965:
Array modifier could generate edges with twice the same vertex, fix
provided by Ken, thanks.
2008-01-29 19:49:03 +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
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
7054664d2a svn merge -r 13357:13382 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-01-24 10:53:16 +00:00
18ab78c867 Particle instance modifier works again in path mode. There's still some work to do with rotations and twisting though. 2008-01-24 10:44:21 +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
ab7b4bb892 (hopefully) fixed huge problem with cache/cloth reset. 2008-01-22 23:17:10 +00:00
35c93b07bd GUI cloth panel refactor, also made many code rearrangements, cleared DNA up 2008-01-22 20:28:12 +00:00
3db5a4e8dc First successfull use of collision modifier. Means: Collision with cloth are enabled using the 'Deflection' panel from now on 2008-01-22 00:34:28 +00:00