Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-10Point Cache RefactoringBrecht Van Lommel
======================= 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-06bug fix soft body can resume with point cache Jens Ole Wund
sneak in .. springs preload
2008-02-19Added an option for texture forcefields to use the root location of a ↵Campbell Barton
particle for its texture coords. Without this, animating grass would either look like seaweed (with low freq texture) Or the grass would wrinkle up and get kinks (high freq texture) This lets you use a high frequency texture while having straight grass.
2008-02-02users feature requestJens Ole Wund
-- material memory
2008-01-12nice little thing -> have angular response on 'aero' Jens Ole Wund
made backward compatible for sure
2008-01-09quite a load is still hidden behind the define #ifdef _work_on_sb_solverJens Ole Wund
a glance to view is the "STU PID semi implicit euler" most of the work to implement a semi implicit euler was done .. now i am dealing with the tradeoffs between 'calculation time' which is quite expensive .. inverting a 0(n*n) sparse matrix /* once agian thanks to brecht for his work on making sparse matrices LU decomposition and evaluating inverses that easy*/ putting it into and cropping works pretty nice .. argh off topic again ... while i spent a little time on reading recent papers i found : 1. control on springs needs to be split in pushing and pulling /* fabric pushes easy but pulls hard */ 2. diagonals on 4-gons (in the current SB model) can be seen as shear .. thus need a contol to modify .. this commit wil add it 3. 2 nd order springs /*aka rigidity */ can focus on bending .. thus renaming 'em i have no idea how i would provide backward compatiblity, but the spots i marked in code :)
2007-11-27ParticlesBrecht Van Lommel
========= Merge of the famous particle patch by Janne Karhu, a full rewrite of the Blender particle system. This includes: - Emitter, Hair and Reactor particle types. - Newtonian, Keyed and Boids physics. - Various particle visualisation and rendering types. - Vertex group and texture control for various properties. - Interpolated child particles from parents. - Hair editing with combing, growing, cutting, .. . - Explode modifier. - Harmonic, Magnetic fields, and multiple falloff types. .. and lots of other things, some more info is here: http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc The new particle system cannot be backwards compatible. Old particle systems are being converted to the new system, but will require tweaking to get them looking the same as before. Point Cache =========== The new system to replace manual baking, based on automatic caching on disk. This is currently used by softbodies and the particle system. See the Cache API section on: http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint Documentation ============= These new features still need good docs for the release logs, help for this is appreciated.
2007-11-16= Fix for softbody collision mode selector =Juho Vepsalainen
This commit makes all softbody collision modes work as they should. Thanks to Genscher for noticing the issue. bjornmose, please check this commit.
2006-11-16More SoftbodiesJens Ole Wund
Added a less 'strict' solver step size control. Cuts down needed loops to a 1/5 in 'regular' collision situations. So why be a maths smartass when we want to do a skirt in a breeze :) Is on by default, old mode can be turned on with the 'O' button beside the RK-limit. Some minor fixes to the UI
2006-11-11softbody reviewJens Ole Wund
1. UI review -> disabeling options when not available .. giving hints why ( even tried to give usefull tooltips ) 1.1 give some more user control to the solving process (mins,maxs).. optional feedback on the console 2. replacing ugly object level 'sumohandle' with SB (private runtime) level/pointer 'scratch' which holds runtime data like cached collider data and more .. and it's thread save this way :) 3.related no 2. write a 'private' history of collision objects to ease the 'fast' collider tunneling syndrome' 4. some <clean> optimizations, 3-BSP for self collision, general AABB checking before ever going to collision details 5. some <dirty> ( in the sense of do some inacurate physics noone ever will see ) little tricks to make things faster .. ..fuzzy collision situation bypass .. forward collision resolution
2006-10-20more softbody goodies:Jens Ole Wund
SB collision targets may be picked up from modifier stack works fine with static targets having subsurf and/or array mofifiers see--> http://www.wund.homepage.t-online.de/hidden/Mstack.blend http://www.wund.homepage.t-online.de/hidden/Mstack_II.blend however when calulating the SB object dynamics the vertices of the 'deform only' m-stack result are used so SB <-> SB may look strange subsuf modifier is applied to SB object after doing SB dynamics (that is: colliding mesh is subsurfed, SB is not ) subsurfed SB cubes colliding link --> http://www.wund.homepage.t-online.de/hidden/ColSelfMod.blend or may give unwanted results subsuf and array modifier is applied to SB object after doing SB dynamics link --> http://www.wund.homepage.t-online.de/hidden/ColSelfMod_nobug.blend last, modifiers that change vertex locations in time (like waves) suffer from not beeing seen at needed time resolution (SBs see colliders static in a frame) well but that's beyond the limits of the current dep-graph use and needs to be resolved on design level anyhoo have fun BM
2006-10-14softbody updateJens Ole Wund
nicer kinematics in self collision -> blending to complete inelastic impact now does something close to real physics first steps towards aerodynamics anisotropic friction springs 'see' their movement in media --> see surrrounding media does not move and/or reacts on wind (*for now needs to have a pseudo collider araound -> that is: add a cube in the same layer and make it a deflector *)
2006-10-12softbodiesJens Ole Wund
-seld collision adding fine control to UI -cleaning up code volatile test file again http://www.wund.homepage.t-online.de/hidden/sb_col_must_2_0.blend
2006-10-11some tiny changes to the softbody systemJens Ole Wund
- UI for self collision ball size definition - edge collision mode added (almost a bug fix) volatile test file --> http://www.wund.homepage.t-online.de/hidden/sb_col_must_1_2.blend
2006-10-02softbodiesJens Ole Wund
mostly reshuffeling UI to have things where i'd expect them to be
2006-09-29new softbody feature:Jens Ole Wund
simple (naive) self collision estimates a collision ball using the spring lenght to attached neighbours (idea stolen from old cloth modifier files, but i'm sure ZAZ and genscher won't mind) -- usefull for untangeling static cloth like objects -- may be used for cloth simulation with known limitations like 'tunnel effect' if objects are moving too fast ... demo -- volatile files http://www.wund.homepage.t-online.de/hidden/sb_without_selfcol.avi http://www.wund.homepage.t-online.de/hidden/sb_with_selfcoll.avi have fun BM
2006-09-26New softbody option: adjustable rigidity.Jens Ole Wund
Gives local structure stability for though fabrics, thin steelplates .. even suzanne gets pretty crash resistant that way. If non zero it not only adds diagonals but all other "2edge-wide" springs so it somehow replaces stiff quads for meshes too.
2006-03-02Feature: Sofbody bake "Local"Ton Roosendaal
Sofbody simulation happens in global coordinate space, and this was also used for baking softbodies. Too bad you cannot re-use or further animate the baked softbody then... :) If you now use the new "Local" button in the Bake menu, it will allow to animate or move the baked object.
2006-02-05* Adds userdef-types for memcache limitor and frameserver-renderingPeter Schlaile
* Boosts the blender frame limit by changing the type of the frame number from short to int everywhere. Without this, timelines longer than a few minutes are impossible to handle. * Adds several types for ffmpeg input/output, hdaudio-tracks in sequencer
2005-11-12Hairdresser request;Ton Roosendaal
"Additive" Guides. See also: http://www.blender3d.org/cms/New_Particle_options_a.721.0.html This Guide type uses the falloff distance to also define how much the particle (or hair strand) goes over the path, allowing to create local extremes, or only local particle generating or hairgrowth. Nice for spiky haircuts!
2005-11-10The long awaited Particle patch from Janne KarhuTon Roosendaal
http://www.blender3d.org/cms/New_Particle_options_a.721.0.html There's no doubt this patch had a lot of good ideas for features, and I want to compliment Janne again for getting it all to work even! A more careful review of the features and code did show however quite some flaws and bugs... partially because the current particle code was very much polluted already, but also because of the implementation lacked quality. However, the patch was too good to reject, so I've fixed and recoded the parts that needed it most. :) Here's a list of of most evident changes in the patch; - Guides support recoded. It was implemented as a true 'force field', checking all Curve path points for each particle to find the closest. Was just far too slow, and didn't support looping or bends well. The new implementation is fast (real time) and treats the paths as actual trajectory for the particle. - Guides didn't integrate in the physics/speed system either, was added as exception. Now it's integrated and can be combined with other velocities or forces - Use of Fields was slow code in general, made it use a Cache instead. - The "even" distribution didn't work for Jittered sample patterns. - The "even" or "vertexgroup" code in the main loops were badly constructed, giving too much cpu for a simple task. Instead of going over all faces many times, it now only does it once. Same part of the code used a lot of temporal unneeded mallocs. - Use of DerivedMesh or Mesh was confused, didn't work for Subsurfs in all cases - Support for vertex groups was slow, evaluating vertexgroups too often - When a vertexgroup failed to read, it was wrongly handled (set to zero). VertexGroup support now is with a name. - Split up the too huge build_particle() call in some parts (moving new code) - The "texture re-timing" option failed for moving Objects. The old code used the convention that particles were added with increasing time steps. Solved by creating a object Matrix Cache. Also: the texture coordinates had to be corrected to become "OrCo". - The "Disp" option only was used to draw less particles. Changed it to actually calculate fewer particles for 3D viewing, but render all still. So now it can be used to keep editing realtime. Removed; The "speed threshold" and "Tight" features were not copied over. This resembled too much to feature overkill. Needs re-evaluation. Also the "Deform" option was not added, I prefer to first check if the current particle system really works for the Modifier system. And: - Added integration for particle force fields in the dependency graph - Added TAB completion for vertexgroup names! - Made the 'wait cursor' only appear when particles take more than 0.5 sec - The particle jitter table order now is randomized too, giving much nicer emitting of particles in large faces. - Vortex field didn't correctly use speed/forces, so it didn't work for collisions. - Triangle distribution was wrong - Removed ancient bug that applied in a *very* weird way speed and forces. (location changes got the half force, speed the full...???) So much... might have forgotten some notes! :)
2005-08-15 - readded DL_VERTS type to store lattice deformed vertsDaniel Dunbar
- new feature, twiddled with lattice resizing to try to maintain existing vertex changes... much nicer than just resetting the lattice if you decide you need more detail in the lattice. - modifiers work with lattices now. yes, that does mean you can make a chain of lattices effecting each other 8 miles long. - some cleanup of softbody code, was rather splintered and call path was twisted and confusing. reworked main object step routine to do things in a more obvious and consistent manner and without duplicate code - added ob->softflag OB_SB_RESET instead of sbObjectReset call - modifier changes reset softbody now - moved curve_getVertexCos/curve_applyVertexCos into curve.c - update curve modifier eval to work with virtual modifiers - update modifier apply to work with curves/surfs - update make parent to also recalc object data NOTE: Although you can turn SB on for curve/font objects at the moment it doesn't really work because they call deform in multiple steps and this confuses SB. Not sure how to deal with atm.
2005-08-11 - switch to using softbody modifier, controls enabling but does not haveDaniel Dunbar
variables, these are still in same place. enable button automatically makes/enables modifier. - changed hook to hook modifier conversion to happen on direct link, required to make sure we don't forget to free any memory for files saved with 2.38 that have hooks. - update modifier interface to enforce modifiers with the require-original- data flag to not move beyond deforming modifiers. - enforce only one softbody modifier allowed NOTE: Once again, no modifier stack for lattice yet means softbody for lattice does not work atm.
2005-08-07Softbody collision with deformed deflectors2Jens Ole Wund
using bit in pd->flag to signal the use of deformed rather than wasting pd->pad removing evil cast replaced by using convertToDispListMesh() ZR: I hope that's OK that way commented off the ( debug purpose ) recursion trap in SoftBodyDetectCollision() replaced forbidden okee() with printf() in there ( not so nice, since it does not anounce crash on UI ) note: crashing example from previous commit needs enabling 'UMS' on panel to crash again UMS = uses modifier stack
2005-05-02Added baking for softbodies.Ton Roosendaal
Works as follows; - press the 'show bake settings' button (no space left... :) - define start/end frame for bake, and an interval step. The baked result interpolates nicely (Bspline, 4 keys) so in general a step size of 2 or 3 still gives OK results. - Press "BAKE". This will do a full animation + playback. Press ESC if it you don't want it. Once Baked, the BAKE button becomes a FREE BAKE. As reminder the softbody buttons get blocked with error() menu. This saves OK in a file. Renders any frame, including fields and moblur. You can also set a "Timeoffs" for the softbody. And yes, this should be in the NLA once... :) NOTE! With this commit, files saved with the old (first commit) version by Jens Ole won't read the settings back... he stored all sofbody variables in Object, which was moved to a new struct when I did my first commit on SB (over a month ago) Also note that I moved particle deflecting & softbody to a new include.