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
2012-10-23comment quick cache RNA and quiet compiler werning.Campbell Barton
2012-10-21code cleanup: spellingCampbell Barton
2012-10-10Google Summer of Code project: "Smoke Simulator Improvements & Fire".Daniel Genrich
Documentation & Test blend files: ------------------ http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements Credits: ------------------ Miika Hamalainen (MiikaH): Student / Main programmer Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch Google: For Google Summer of Code 2012
2012-07-04Revert the DNA pdef_stickness -> pdef_stickiness part of r48556.Bastien Montagne
Forgot DNA needed stable names... :/ Correct spelling would involve keeping the old one for load code anyway, so better live with incorrect spelling here.
2012-07-03First load of spell and typo fixes (mostly UI messages, but also one or two ↵Bastien Montagne
pieces of code using mis-spelled names).
2012-06-15Ensure enums in DNA files has got explicit valuesSergey Sharybin
See http://wiki.blender.org/index.php/Dev:Doc/CodeStyle#Macros.2C_Enums.2C_Inline_functions
2012-04-30code cleanup: header cleanupCampbell Barton
2012-04-29style cleanup: whitespace / commasCampbell Barton
2012-03-18spelling cleanupCampbell Barton
2012-03-09style cleanup: comment blocksCampbell Barton
2012-02-27style cleanup (mostly whitespace)Campbell Barton
2012-02-17unify include guard defines, __$FILENAME__Campbell Barton
without the underscores these clogged up the namespace for autocompleation which was annoying.
2012-01-23Cloth: Add "velocity damping" to damping options. This will help with the ↵Daniel Genrich
"cloth wobbling" problem which accurs quite often when having animated characters with cloth.
2012-01-21change filepath limit from 240 to 1024Campbell Barton
2012-01-16use FILE_MAX instead of 240 or comment where define cant be used.Campbell Barton
2012-01-11Longer names support for all ID and other object namesSergey Sharybin
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
2012-01-09Fix #29793: Physics go crazy if frames get skippedSergey Sharybin
Calculate cloth and softbody only for single frame time deltas (like it's already done for smoke)
2011-12-30minor dna header cleanupCampbell Barton
2011-12-11remove unused function, found when syncing with bmesh, also remove/comment ↵Campbell Barton
some unused defines
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-10-28Merge with trunk r41342Miika Hamalainen
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-08-28Dynamic Paint:Miika Hamalainen
* Added option to preview surface wetmap instead of paint. * Changed default paint color to blue for better visibility. * Fix: Random sized particles didn't work anymore. * Fix: Particle initial velocity issues when using canvas substeps and a particle brush.
2011-07-10Merge with trunk r38281Miika Hamalainen
2011-07-08Fix #26962: softbody collision doesn't respect subsurf+displace modifiers.Brecht Van Lommel
Softbody was still using a flag to determine if it should use the final or deform derivedmesh, but this wans't exposed in the UI. Others systems use the collision modifier, now softbody uses it also to get vertices and faces, but with own collision code.
2011-06-16Dynamic Paint:Miika Hamalainen
Committed changes from previous weeks, biggest changes are: * Canvas can now have multiple "surfaces" that each can have specific format, type and settings. * Renewed UI to support this new system. * Aside from old "image sequence" output format, Dynamic Paint can now work on vertex level as well. Currently vertex paint and displace are supported. * Integrated vertex level painting with Point Cache. * Added viewport preview for Point Cache surfaces. Due to massive amount of changes, old Dynamic Paint saves are no longer supported. Also some features are temporarily missing or may not work properly.
2011-02-24Fix for [#26197] High resolution smoke cache not available due to pointcache ↵Janne Karhu
update. Please reset the simulation. * Backwards compatibility code wasn't forwards compatible :)
2011-02-17DNA header files are now grouped under the same module. No further ↵Nathan Letwory
documentation done.
2011-01-17remove/comment unused defines, also zero FileGlobal.filename to quiet valgrind.Campbell Barton
2011-01-09Viscoelastic springs for sph particle fluids, original patch by Stephen ↵Janne Karhu
Whitehorn (chickencoop) * Viscoelastic springs between the fluid particles can simulate all kinds of viscous and elastic substances, such as jelly and honey. This is achieved by creating springs dynamically between neighboring particles and adjusting their rest length based on stretching/compression. * This nearly completes the currently intended functionality for particle fluids. The last missing thing is a surfacing extraction algorithm, which is needed for a proper representation of a sph fluid. * I also cleaned up and renamed some of the fluid parameters to make the ui a bit easier to understand. * One addition to the patch is an option to use "initial rest length" for the springs, which uses the lengths between the particles at the time of spring creation as the spring rest lengths instead of interaction radius/2. This makes the fluid keep it's original shape better (good for very viscoelastic materials), but can create large density differences inside the fluid (not really physically correct for a fluid). * Viscoelastic springs are stored in point cache as extra data.
2011-01-09Replace uint32_t in pointcache code with unsigned int as it's supported in dnaJanne Karhu
* Not strictly necessary right now, but better for future. * Struct data (only boids at the moment) is now written as structs (with dna) so they work between 64 and 32 bit machines too.
2011-01-09Fix for [#25544] Blender crashes when changing the particles emission amountJanne Karhu
* I've getting bad feelings about the point cache index_array for a while (cause for this bug too), so from now on memory cache uses a simple binary search directly on the index data to handle queries to specific data points. * This is a bit slower than just checking from a dedicated array, but it's much less error prone, uses less memory and makes the code more readable too, so it's not a tough choice.
2011-01-02Pointcache code cleanup and disk cache compression options:Janne Karhu
* Massive reorganization of pointcache code, things are now cleaner than ever. * For all but smoke the cache is first written to memory when using disk cache and after that written to disk in one operation. This allows less disk operations and the possibility to compress the data before writing it to disk. * Previously only smoke cache could be compressed, now the same options exist for other physics types too (when using disk cache). For now the default compression option is still "no compression", but if there aren't any problems this can be set to "light compression" as it's actually faster than no compression in most cases since there's less data to write to the disk. Based on quick tests heavy compression can reduce the file size down to 1/3rd of the original size, but is really slow compared to other options, so it should be used only if file size is critical! * The pointcache code wasn't really 64bit compatible (for disk cache) until now, so this update should fix some crashes on 64bit builds too. Now all integer data that's saved to disk uses 32 bit unsigned integers, so simulations done on 64bit should load fine on 32bit machines and vice versa. (Important disk cache simulations made on 64bit builds should be converted to memory cache in a revision before this commit). * There are also the beginnings of extradata handling code in pointcache in anticipation of adding the dynamic springs for particle fluids (the springs need to be stored as extradata into point cache). * Particles were being read from the cache with a slightly wrong framerate. In most cases this probably wasn't noticeable, but none the less the code is now correct in every way. * Small other fixes here and there & some cosmetic changes to cache panel, but over all there should be no functional changes other than the new disk cache compression options. * This whole re-organization also seems to fix bug #25436 and hopefully shouldn't introduce any new ones!
2010-12-11Added some explanation to pointcache->step value as suggested by troubled on ↵Janne Karhu
irc.
2010-12-01Smoke now uses only one point cache where both normal and high resolution ↵Janne Karhu
smoke are stored together: * Separate caches were causing quite a lot of problems both in principle and practice. * For example it doesn't really make sense to have different frame ranges for normal and high resolution smoke, but this was fully possible before. * Also to fully bake the smoke you had to do a "Bake All Dynamics", which completely defeats the whole point of the feature! * As a result of this change the smoke cache usage is much much simpler and less error prone. * This is quite a big change, but hopefully there should be less rather than more problems as a result :) Some other related changes: * Changing the cache name now works for disk caches properly too, it now just renames the cache files so should be faster too! * Smoke is now always forced to disk cache with step 1 on file load as there were some strange cases where smoke was trying to use memory cache. * Disabled smoke debug prints from console. * Disabled changing smoke parameters when smoke is baked. Note to users: The unfortunate side effect of this is that old high resolution simulations have to be baked again, but in return you get much better and more logical functionality. Sorry none the less!
2010-09-27Fixed: Showing pointcached frames in the timeline was terribly slow when ↵Janne Karhu
using disk cache. * The existence of cached frames was checked each frame causing hundreds of disk operations per frame update. * Pointcache now keeps an updated array of the cached frames for fast "frame exists in cache" queries. * This fix also speeds up some other pointcache operations nicely.
2010-05-06option to use the linked path or the local path for pointcache.Campbell Barton
needed for sintels hair to be baked locally.
2010-04-21option to use curve point weights to influence particle effectors.Campbell Barton
2010-03-22spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text)Campbell Barton
2010-02-12correct fsf addressCampbell Barton
2010-01-03Stickness factor for particle collisions, patch submitted by Raul Fernandez ↵Janne Karhu
Hernandez (farsthary).
2009-12-21* Rest length parameter for harmonic force springs. Implementation is a ↵Janne Karhu
slightly modified version of the patch provided by Raúl Fernández Hernández (Farsthary). * Also added a "multiple springs" option to use every effector point as a harmonic spring instead of just one.
2009-11-22new property for soft bodiesJens Ole Wund
sb->lcom : Center Of Mass .. might be used to create loc IPO sb_>lrot : is a matrix[3] esitmates the roatation in world coordinates .. might be used to create rot IPO sb_>lscale : is a matrix[3] esitmates the scaling in world coordinates .. might be used to create scale IPO (no python for that yet .. but may be matt has mercy on me ) can be cropped direclty in soft body module by function static void SB_estimate_transform(Object *ob,float lloc[3],float lrot[3][3],float lscale[3][3]) The targets lloc,lrot,lscale should work to be NULL, just in case you don't need it. However i'd prefer if they were accessed via properties which should be calculated automagically if sb->solverflags & SBSO_ESTIMATEIPO is set, like they do in draw_sb_motion(..) in drawobject.c added static void draw_sb_motion(Scene *scene, Object *ob) to drawobject.c for debuggering (had a hard time with destructive matrix operations ) if it causes any trouble with your build on any OS make sure to comment that away. softbody.c and DNA should compile fine in any case.
2009-10-05General particle bug fixes + few small goodiesJanne Karhu
The goodies: * Curves can be used as normal dynamic effectors too with the new "curve" field shape. * Group visualization has optional duplication counts for each object in the specified group. * Object & group visualizations, which are done without taking the dupliobject's global position into account (unless the whole group is used). This is much nicer than the previous behavior, but I added a "Use Global Location" option for those who want to use it the old way. * The active particle system's particles are now drawn a with theme coloured outline instead of pure white. * Added object aligned velocity factors (buttons categorized and re-organized too). Bug fixes: * Absorption didn't work as the ui toggle button was forgotten. * Some other force field ui tweaks. * Crash after adding children and changing trails count. * Display types "cross" and "axis" crashed. * Particles weren't drawn with correct coloring. * Billboards didn't update properly in viewport to camera location changes. * Particle rotation wasn't recreated correctly from point cache. * Changing particles amount crashed sometimes. * Some files with child hair crashed on loading. * Compiler warning fixes. * Adding boids crashed on frame 1;
2009-10-01Unified effector functionality for particles, cloth and softbodyJanne Karhu
* Unified scene wide gravity (currently in scene buttons) instead of each simulation having it's own gravity. * Weight parameters for all effectors and an effector group setting. * Every effector can use noise. * Most effectors have "shapes" point, plane, surface, every point. - "Point" is most like the old effectors and uses the effector location as the effector point. - "Plane" uses the closest point on effectors local xy-plane as the effector point. - "Surface" uses the closest point on an effector object's surface as the effector point. - "Every Point" uses every point in a mesh effector object as an effector point. - The falloff is calculated from this point, so for example with "surface" shape and "use only negative z axis" it's possible to apply force only "inside" the effector object. * Spherical effector is now renamed as "force" as it's no longer just spherical. * New effector parameter "flow", which makes the effector act as surrounding air velocity, so the resulting force is proportional to the velocity difference of the point and "air velocity". For example a wind field with flow=1.0 results in proper non-accelerating wind. * New effector fields "turbulence", which creates nice random flow paths, and "drag", which slows the points down. * Much improved vortex field. * Effectors can now effect particle rotation as well as location. * Use full, or only positive/negative z-axis to apply force (note. the z-axis is the surface normal in the case of effector shape "surface") * New "force field" submenu in add menu, which adds an empty with the chosen effector (curve object for corve guides). * Other dynamics should be quite easy to add to the effector system too if wanted. * "Unified" doesn't mean that force fields give the exact same results for particles, softbody & cloth, since their final effect depends on many external factors, like for example the surface area of the effected faces. Code changes * Subversion bump for correct handling of global gravity. * Separate ui py file for common dynamics stuff. * Particle settings updating is flushed with it's id through DAG_id_flush_update(..). Known issues * Curve guides don't yet have all ui buttons in place, but they should work none the less. * Hair dynamics don't yet respect force fields. Other changes * Particle emission defaults now to frames 1-200 with life of 50 frames to fill the whole default timeline. * Many particles drawing related crashes fixed. * Sometimes particles didn't update on first frame properly. * Hair with object/group visualization didn't work properly. * Memory leaks with PointCacheID lists (Genscher, remember to free pidlists after use :).
2009-09-22RNA: added a "factor" subtype next to "percentage", and only displayBrecht Van Lommel
% sign for percentage assuming it is between 0-100, while factor is for values 0-1. Move collision setting absorption from modifier to collision settings, was inconsistent to have it there as the only one, and made it have range 0.0-1.0 instead of 0-100.
2009-09-11Hair dynamics with cloth simulationJanne Karhu
- Hair dynamics have their own panel in particle settings with the settings from cloth panel that apply to hair. - Basic internal friction force to quickly emulate self collisions and volume preservation. (Still very early code, but gives some idea of what's possible). - Softbody simulation is no longer used for hair. * Old files with sb dynamics should just load the hair without dynamics so new dynamics can be applied. * Invasion of particles exceptions in sb code is finally over. - Collisions with other objects are disabled for now and will be worked out in the future. Other changes/fixes: - Particle mode editing flag wasn't saved properly. - Some old files with edited hair didn't load correctly. - Disabled delete & specials menu in particle mode for non-hair editing. - Fixed yet one more cloth & softbody pointcache update issue. - Disconnect/connect hair now uses only the deformed mesh so it works correctly also for subsurfed emitters. - Hair editing now updates correctly with a moving emitter.
2009-08-29Point cache editing:Janne Karhu
- Baked point caches for particles, cloth and softbody can now be edited in particle mode. * This overwrites the old cloth/sb cache editmode editing. * The type of editable system is chosen from a menu. * For particles the current particle system and it's current cache are used. - Currently this only works for caches that are in memory, but some automatic conversion from disk to memory and back can be implemented later. - All tools from hair editing can't be applied to point caches and are hidden in the tool panel and specials menu. Some functionality like subdividing paths can be later implemented in a slightly different way from how it works for hair. - Code is not yet optimized for speed, so editing might be slow sometimes. Known issues: - Cloth doesn't update properly while in particle mode, due to the way cloth modifier currently works. Daniel can you check on this? - As "particle mode" is not only for particles any more some other name would be in place? - Better icons are needed for the path, point, and tip-modes as the current icons from mesh edit mode are quite misleading. - Direct editing of point velocities is not yet implemented, but will be in the future. Other changes: - Hair editing doesn't require a "make editable" button press any more. - Multiple caches in single particle system disables changing emission properties. - Unified ui code for all point cache panels. * Defined in buttons_particle.py and imported for cloth, smoke & softbody. - Proper disabling of properties in ui after baking point caches. (Daniel could you please make needed disable code for smoke panels as their functionality is not familiar to me.) - Hair weight brush has been removed. Once hair dynamics is re-implemented I'll code a more useable alternative to the functionality. Bug fixes: - Unlinking particle settings crashed. - Deleting the active object with particles in the scene crashed. - Softbody didn't write point caches correctly on save.
2009-08-122.5Ton Roosendaal
Bad commenting in header file.
2009-08-12New point cache file format:Janne Karhu
- HEADER (beginning of each file) * general header: + 8 char: "BPHYSICS" + 1 int: simulation type (same as PTCacheID->type) * custom header (same for sb, particles and cloth, but can be different for new dynamics) + 1 int: totpoint (number of points) + 1 int: data_types (bit flags for what the stored data is) - DATA (directly after header) *totpoint times the data as specified in data_types flags - simulation type soft body = 0, particles = 1, cloth = 2 - data types (more can be added easily when needed) data flag contains ---------------------------------------- index (1<<0) 1 int (index of current point) location (1<<1) 3 float velocity (1<<2) 3 float rotation (1<<3) 4 float (quaternion) avelocity (1<<4) 3 float (used for particles) xconst (1<<4) 3 float (used for cloth) size (1<<5) 1 float times (1<<6) 3 float (birth, die & lifetime of particle) boids (1<<7) 1 BoidData Notes: - Every frame is not nescessary since data is interpolated for the inbetween frames. - For now every point is needed for every cached frame, the "index" data type is reserved for future usage. - For loading external particle caches only "location" data is necessary, other needed values are determined from the given data. - Non-dynamic data should be written into an info file if external usage is desired. * Info file is named as normal cache files, but with frame number 0; * "Non-dynamic" means data such as particle times. * Written automatically when baking to disk so basically a library of particle simulations should be possible. - Old disk cache format is supported for reading, so pre 2.5 files shouldn't break. However old style memory cache (added during 2.5 development) is not supported. To keep memory cached simulations convert the cache to disk cache before svn update and save the blend. - External sb and cloth caches should be perfectly possible, but due to lack of testing these are not yet enabled in ui. Other changes: - Multiple point caches per dynamics system. * In the future these will hopefully be nla editable etc, but for now things are simple and the current (selected) point cache is used. * Changing the amount of cached points (for example particle count) is allowed, but might not give correct results if multiple caches are present. - Generalization of point cache baking etc operator & rna code. - Comb brushing particle hair didn't work smoothly.