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
2018-02-22Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-22Depsgraph: Wrap all arguments foe modifiers relations update into a structSergey Sharybin
Makes it easier to add or remove fields needed to update relations.
2018-01-18Merge branch 'master' into blender2.8Brecht Van Lommel
2018-01-18Fix buffer overflow vulnerabilities in mesh code.Brecht Van Lommel
Solves these security issues from T52924: CVE-2017-12081 CVE-2017-12082 CVE-2017-12086 CVE-2017-12099 CVE-2017-12100 CVE-2017-12101 CVE-2017-12105 While the specific overflow issue may be fixed, loading the repro .blend files may still crash because they are incomplete and corrupt. The way they crash may be impossible to exploit, but this is difficult to prove. Differential Revision: https://developer.blender.org/D3002
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-01Merge branch 'master' into blender2.8Campbell Barton
2017-08-01Cleanup: use static vars where appropriateCampbell Barton
2017-07-21Fix function declaration of some modifiersSergey Sharybin
Those functions did not use evaluation context. Also fixed lots of unused variables warnings caused by commented out code which needs to be ported away from DerivedMesh and to evaluation context.
2017-05-22Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenloader/intern/versioning_270.c
2017-05-22Fix T51520: Broken vertex weights after two mesh joining.Bastien Montagne
Root of the issue here was that two stupid modifiers could create named vgroup CD layers (vgroup editing ones... shame on me :") ). Fix that, and added some versionning code to also fix 'corrupted' blend files created by those so far.
2017-04-05Cleanup: Remove legacy depsgraph private header from modifiersSergey Sharybin
2017-01-31Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/blenkernel/intern/depsgraph.c source/blender/blenkernel/intern/library_query.c
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.
2017-01-24Depsgraph: Remove legacy updateDepgraph callbacks from modifiersSergey Sharybin
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-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-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2013-12-21Mesh Modifiers: refactor copying using a generic functionCampbell Barton
2013-08-04code cleanup: replace strncpy -> BLI_strncpy, skip first 2 chars when making ↵Campbell Barton
a hash from the object name.
2013-06-10Follow up to r57354: WeightVG and Wave modifiers too need to handle tex id ↵Bastien Montagne
refcount ;)
2013-06-02use booleans for modifiers and api callbacks.Campbell Barton
2013-05-08code cleanup: remove references to BLI_rand.hCampbell Barton
2013-05-02Fix #35174: dynamic paint displacement missing in render.Brecht Van Lommel
A previous bugfix disabled the dynamic paint modifier for orco texture coordinate evaluation of the modifier stack. However the MOD_APPLY_USECACHE flag is not a good way to check if the modifier is evaluated for orcos. Instead I've added a MOD_APPLY_ORCO flag. Also removed a bunch of applyModifierEM callbacks, none of them served a purpose except for the subsurf modifier.
2013-04-16Random number generator: replace a bunch of usage of the global random numberBrecht Van Lommel
generator with a local one. It's not thread safe and will not give repeatable results, so in most cases it should not be used. Also fixes #34992 where the noise texture of a displacement modifier was not properly random in opengl animation render, because the seed got reset to a fixed value by an unrelated function while for final render it changed each frame.
2012-10-22code cleanup: check defgroup_name_index() return value != -1, rather then ↵Campbell Barton
checking >= 0. also remove unused bmesh decimator code.
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-06style cleanup: modifiersCampbell Barton
2012-05-06fix for same bug as r46346, incorrect code was copied.Campbell Barton
2012-04-10Fix #30882: using an image sequence in the displace modifier did not updateBrecht Van Lommel
properly in animation rendering.
2012-03-24style cleanup: follow style guide for formatting of if/for/while loops, and ↵Campbell Barton
else if's
2012-03-22Renaming CD_WEIGHT_MCOL/MLOOPCOL and their masks from WEIGHT to PREVIEW, as ↵Bastien Montagne
this layer is now also used for various preview tasks in Object mode. “Cleanup” commit, no functional changes.
2012-01-23Merged with trunk (-r43609:43611): updated modifier preview.Bastien Montagne
Noted preview code for DynamicPaint is currently disabled, will see if I can re-enable it…
2012-01-22svn merge ^/trunk/blender -r43564:43609Campbell Barton
2012-01-22Add weight preview to WeightVG modifiers, and first, simple/basic refactor ↵Bastien Montagne
of how modifiers can generate preview. User side: * Preview for DynamicPaint should keep the same behavior (for now). Weight preview should be somawhat quicker, though. * Preview for WeightVG modifiers is only active in WeightPaint mode, and if the affected vgroup is the active one. * Last active preview modifier in stack wins! Note: that modifier preview topic is yet to be further refined, quite raw/incomplete for now. Dev side: * In draw code, renamed DRAW_DYNAMIC_PAINT_PREVIEW flag to DRAW_MODIFIERS_PREVIEW * Removed use of MOD_DPAINT_PREVIEW_READY in DynamicPaint code (seems unecessary, and if it was, should be of more general scope). * Added eModifierTypeFlag_UsesPreview to ModifierTypeFlag, for modifiers that can generate some preview data. * Added three new modifier funcs, to handle preview modifiers in draw code / mod stack. * For weights preview: added the generic DM_update_weight_mcol func, which can update WEIGHT_MCOL layer with either a given array of weights (currently used by DynamicPaint only), or from current active vgroup(s). So now, draw code is fully generic (i.e. no more modifier-type checking in it). Mod stack code is generic to some extent, but will need more work.
2012-01-22Fix a crasher in WeightVG modifiers.Bastien Montagne
Problem was, if no vertices were ever added to one of the obect's vgroups, there is no CD_DEFORMVERT layer, even though there might be several valid vgroup indices... Odd no one noticed that earlier. Many thanks to miikah for finding that bug!
2011-12-21svn merge ^/trunk/blender -r42761:42776Campbell Barton
2011-12-20New modifier type: eModifierTypeType_NonGeometrical, for modifiers affecting ↵Bastien Montagne
CustomData layers only (e.g. UVProject and WeightVG ones). Also, allow applying to obdata those modifiers, even with shapekeys, but do not allow applying them *as* shapekey (as shapekeys do not have CD layers). Fix [#29636] Vertex Weight Mix modifier "apply" button don't work. Note: applying whit shape keys currently always uses base shape, not current one (for apply to obdata as well as apply to shapekey), but this is another topic...
2011-12-20svn merge ^/trunk/blender -r42722:42742Campbell Barton
2011-12-19Much cleaner and satisfying code in weightvg modifiers' "init": copy only ↵Bastien Montagne
the CD_DEFORMVERT data layer (if it's the org one), and not the whole DerivedMesh! Quite oddly, for Proximity mod, this increases the performances of the apply func (about 20-25%, e.g. from 0.04 to 0.03 sec), but decreases the global framerate (e.g. in TEST_5 scene of testing file, I lose about 7%, from 4.6 to 4.3fps (open ATI driver)...).
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-23svn merge ^/trunk/blender -r40432:40491Campbell Barton
2011-09-22Minor: Added doxygen file's doc comments in weightvg modifiers.Bastien Montagne