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
2017-06-12Depsgraph: Use depsgraph from handle rather than from sceneSergey Sharybin
This way the code is more decoupled from the way where depsgraph is stored.
2017-01-31Cleanup: Rename callback flags from library_query to `IDWALK_CB_...`Bastien Montagne
Better to have clear way to tell whether flag is parameter for BKE_library_foreach_ID_link(), parameter for its callback function, or return value from this callback function.
2016-05-18Fix T47737: Lattice crashes w/ smooth modifierPhilipp Oeser
Add flag for modifiers that support lattice
2015-10-08Modifiers: add 'cd_flag' parameter to their ID looping callbacks, neededBastien Montagne
since some IDs (objects) are not 'refcounted' while others (textures) are... Partial merge from id-remap branch.
2015-10-05Cleanup: use proper `ObjectWalkFunc` typedef in modifiers' object callback func.Bastien Montagne
Also, fix own stupidity, no need to define ID callback in case we only have objects, calling code knows to fallback to `foreachObjectLink()` when `foreachIDLink()` is missing...
2015-10-05Fix T46354: Curve Modifier does not update (new Dependency graph)Sergey Sharybin
Result of curve modifier depends on transform of the object which should be reflected by the depsgraph relations.
2015-05-12Depsgraph: New dependency graph integration commitSergey Sharybin
This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :)
2015-03-13Pass proper bmain to the updateDepgraph() of modifiersSergey Sharybin
This is mainly to make physics modifiers being able to work with it. For other cases this main is not needed.
2014-11-29Cleanup: unused headersCampbell Barton
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-02-24Fix T38755: Crash when having cyclic dependency and curve deformSergey Sharybin
Issue was caused by undefined object update order and in some cases NULL pointer will be de-referenced. Added on-demand curve path calculation, just the same creepy call of BKE_displist_make_curveTypes(). This violates DAG and might end up in a difficult to troubleshoot race condition if there'll be some issues with how dependencies are calculated in DAG, but this is the easiest and safest way to solve the bug at this stage,
2014-01-23Cleanup: int/short to bool in BKE_cdderivedmesh.h functions (and TRUE/FALSE ↵Bastien Montagne
to true/false in code using them).
2014-01-13Remove direct displist creation from curve deformSergey Sharybin
This solves threading conflict which happens when having multiple objects using Curve Deform modifier with the same curve datablock. This conflict was caused by the fact that curve_deform_verts() used to temporary override curve's flags to make it path is there. Actually, it was setting CU_FOLLOW flag temporary which was only used where_on_path() (only in terms that this temporary assignment only affected this function) but it is now commented out for a while, so no reason to set this flag temporary, If it's ever to be done, we'll need to pass flags as an additional function argument. For the path creation i've extended DegNode structure which now holds extra bits which indicates what additional data depending on the graph topology is to be evaluated. Currently this is only used to indicate that curve needs path to be evaluated regardless to cu->flag state. This is so Curve Deform modifier is always happy. In the future this flag might also be used to indicate whether bmesh verts are to update (see recent commit to 3-vertex parent crash fix) or to indicate that the object is the motherball etc.
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-06-02use booleans for modifiers and api callbacks.Campbell Barton
2012-10-24add CDDM_from_bmesh(), avoids using BMEditMesh in modifiers.Campbell Barton
2012-05-09Refactor of modifiers' apply function: now use a single bit-flag parameter ↵Bastien Montagne
to pass options, instead of having one parameter per boolean flag (i.e. replaces current useRenderParams and isFinalCalc by a single ModifierApplyFlag flag. ModifierApplyFlag is an enum defined in BKE_modifier.h). This way we won't anymore have to edit all modifier files when e.g. adding a new control flag! Should have no effect over modifier behavior.
2012-05-09style cleanup: whitespace/operatorsCampbell Barton
2012-05-06style cleanup: modifiersCampbell Barton
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-02-01svn merge ^/trunk/blender -r43751:43819, need to look into changes made to ↵Campbell Barton
editmesh_loop.c from this range still
2012-02-01calc_curve_deform was using axis range of 1-6, but other parts of the code ↵Campbell Barton
use 0-5. (confusion here casued an error in the code). make calc_curve_deform use 0-5 too, only minor changes needed.
2012-01-18call CDDM_from_BMEditMesh without creating tessface data for modifiers.Campbell Barton
- in the case of deform modifiers this is very safe (assuming the mods themselves dont need tessface data), since the DM is freed right after, so this is an easy speedup. - in the case of bevel and split edge modifiers this should still work out fine since mods that need tessface data will generate it.
2012-01-18argument for CDDM_from_BMEditMesh() so creating tessface data is optional, ↵Campbell Barton
no functional changes since all callers use this so far.
2012-01-11svn merge ^/trunk/blender -r43278:43294Campbell 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.
2011-11-15svn merge -r41751:41779 ^/trunk/blenderCampbell Barton
2011-11-11correct indentation and some whitespace edits (no functional changes)Campbell Barton
2011-10-24svn merge ^/trunk/blender -r41226:41227 .Campbell Barton
2011-10-23remove $Id: tags after discussion on the mailign list: ↵Campbell Barton
http://markmail.org/message/fp7ozcywxum3ar7n
2011-09-27svn merge ^/trunk/blender -r40511:40587Campbell Barton
2011-09-26replace strncpy with BLI_strncpy, in some cases strncpy was being misused ↵Campbell Barton
since it doesnt ensure \0 termination. also dont call CTX_data_scene() twice when checking for function arguments.
2011-08-16svn merge -r39286:39385 https://svn.blender.org/svnroot/bf-blender/trunk/blenderCampbell Barton
2011-08-12Modifiers: add callback to loop over each texture assigned to a modifier.Brecht Van Lommel
2011-04-15=bmesh= merge from trunk at r36153Joseph Eagar
2011-03-29=bmesh=Joseph Eagar
Multires interpolation is considerably better now, though it still has a problem with occasionally producing little random tangent spikes. Still, it's far better then it was. Also fixed a bug in dissolve faces.
2011-03-20=bmesh= fixed bunches of modifier stack bugsJoseph Eagar
2011-03-05use NULL rather then 0 for pointer assignments & comparison, modifier, imbuf ↵Campbell Barton
& editors.
2011-02-25doxygendoxygen: blender/modifiers tagged.Nathan Letwory
2011-02-13many functions in blender are not marked static but should be.Campbell Barton
most local modifier,GPU,ImBuf and Interface functions are now static. also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-01-31Todo issue: sculpting on deformed meshSergey Sharybin
Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating?
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2010-10-21use custom data mask defines, no functional changes.Campbell Barton
2010-10-14add UNUSED() to modifiers, also removed some unused args.Campbell Barton
2010-09-30[#23673] Modifier construction gives correct result in viewport but ↵Campbell Barton
incorrect in render. When there are 2+ consecutive deform modifiers, the second modifier was getting incorrect normals, this only showed up for the displace modifier since its the only deform modifier that uses vertex normals. It would have been easy to fix this by always calculating normals on deform modifiers, but slow. To fix this I added a function to check if a deform modifier needs normals, so the normal calculation function only runs if there are 2 modifiers in a row and the second uses normals.
2010-08-13added include for offsetof(), also use <string.h>, not "string.h"Campbell Barton
2010-08-04include cleanup, no functional changesCampbell Barton
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases) - removed DNA_wave_types.h (never used) - removed Main.wave
2010-04-13modifier include cleanup, this might need fixes on other systems but hard to ↵Campbell Barton
avoid. also removed unused stuff from cmake modifier file
2010-04-12- use more inline math funcitons where possibleCampbell Barton
- swapped in less verbose math functons - modifier include cleanup