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-06-01Boolean modifier: fixed crash when applying the modifierSybren A. Stüvel
2018-06-01Fix T55282: Modifiers: Removed unnecessary object evaluationSybren A. Stüvel
2018-05-30Cleanup/fix wrong modifiers targets handling in COW context.Bastien Montagne
Modifiers stack only get COW/evaluated IDs, so no need to go auery again DEG for those. Further more, now unified handling of EditBMesh case (was done on case-by-case basis in a few modifiers, not all for some reason). We are still missing the ability to get final and cage deformed meshes when in Edit mode though, this is to be defined/implemented in depsgraph.
2018-05-24Fix all modifiers that depended on BKE_modifier_get_evaluated_mesh_from_objectDalai Felinto
This fix applying the following modifiers: * Boolean (working already) * Array * Mesh Deform * Surface Deform * Vertex Weight Proximity This function was to return evaluated mesh. So it should get the evaluated object at all times. So in this case it makes more sense to simply pass the depsgraph (or in this case the ModifierEvalContext that contains both the depsgraph and the flag. Solution discussed with Bastien Montagne.
2018-05-24Fix boolean modifier when objects have transformationsDalai Felinto
Follow up for 9406a1f19570.
2018-05-24Fix cannot apply boolean modifierDalai Felinto
2018-05-14Some cleanup in modifiers' mesh copying.Bastien Montagne
2018-05-09Modifiers: ported Boolean DerivedMesh → MeshChristian Hubert
Reviewers: sybren Differential Revision: https://developer.blender.org/D3236
2018-05-08Merge branch 'master' into blender2.8Bastien Montagne
2018-05-08Cleanup: Nuke empty dummy wrappers around modifier_copyData_generic().Bastien Montagne
This also changes signature of modifier copy callback, first (source) parameter is now a const, which is saner anyway!
2018-05-01Extract common modifier parameters into ModifierEvalContext structSybren A. Stüvel
The contents of the ModifierEvalContext struct are constant while iterating over the modifier stack. The struct thus should be only created once, outside any loop over the modifiers.
2018-05-01Modifiers: Add wrapper functions with Mesh / DerivedMesh conversionMai Lavelle
Makes the follow changes: - Add new `deform*` and `apply*` function pointers to `ModifierTypeInfo` that take `Mesh`, and rename the old functions to indicate that they take `DerivedMesh`. These new functions are currently set to `NULL` for all modifiers. - Add wrapper `modifier_deform*` and `modifier_apply*` functions in two variants: one that works with `Mesh` and the other which works with `DerivedMesh` that is named with `*_DM_depercated`. These functions check which type of data the modifier supports and converts if necessary - Update the rest of Blender to be aware and make use of these new functions The goal of these changes is to make it possible to port to using `Mesh` incrementally without ever needing to enter into a state where modifiers don't work. After everything has been ported over the old functions and wrappers could be removed. Reviewers: campbellbarton, sergey, mont29 Subscribers: sybren Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D3155
2018-04-16Depsgraph: remove EvaluationContext, pass Depsgraph instead.Brecht Van Lommel
The depsgraph was always created within a fixed evaluation context. Passing both risks the depsgraph and evaluation context not matching, and it complicates the Python API where we'd have to expose both which is not so easy to understand. This also removes the global evaluation context in main, which assumed there to be a single active scene and view layer. Differential Revision: https://developer.blender.org/D3152
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-02-08Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-08Remove Carve booleanSergey Sharybin
We've got quite comprehensive BMesh based implementation, which is way easier for maintenance than abandoned Carve library. After all the time BMesh implementation was working on the same level of limitations about manifold meshes and touching edges than Carve. Is better to focus on maintaining one boolean implementation now. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D3050
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-09-19Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-19Boolean Modifier: add debug optionsCampbell Barton
Only show & use when running in debug mode.
2017-09-18Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-16Fix T51074: Boolean modifier inverts operationCampbell Barton
Support for negative scaled objects.
2017-09-14Merge branch 'master' into blender2.8Sergey Sharybin
2017-09-14Fix T52291: Boolean fails w/ co-linear edged ngonsCampbell Barton
This means boolean tessellation wont match viewport tessellation however it's needed to avoid zero area triangles causing problems.
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-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-04-05Cleanup: Remove legacy depsgraph private header from modifiersSergey Sharybin
2017-03-06Merge branch 'master' into blender2.8Julian Eisel
Conflicts: source/blender/editors/space_nla/nla_draw.c source/blender/editors/space_view3d/view3d_draw.c
2017-03-05Fix T50855: Intersect (knife) w/o separate doesn't selectCampbell Barton
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
2016-07-14Use BMesh solver for new boolean modifiersCampbell Barton
2016-07-13Boolean Modifier: Add back BMesh optionCampbell Barton
There are still issues with overlapping geometry, however some of the issues reported are are causing problems, or fail entirely with Carve too.
2016-07-01BMesh: make toolflags optionalCampbell Barton
Saves 8 bytes per vert/edge/face. Gives overall ~20-25% memory saving for dyntopo sculpting and modifiers that use BMesh.
2016-02-11correct error in last commitCampbell Barton
2016-02-11Disable bmesh-boolean modifier for 2.77 releaseCampbell Barton
Edit-mode boolean is still available
2016-01-14Cleanup: use BM_mesh_* prefix for BMesh functionsCampbell Barton
2015-12-21Fix T47023: Boolean w/ empty mesh didn't transformCampbell Barton
2015-12-12Use material remapping for bmesh-booleanCampbell Barton
2015-12-12Cleanup: style/spellingCampbell Barton
2015-12-11Commend timing prints for booleanCampbell Barton
2015-12-11BMesh: Add option to use BMesh boolean modifierCampbell Barton
This uses a bmesh-intersection, BLI_kdtree and watertight intersections to perform boolean operations. For now keep both BMesh and Carve booleans usable at once for testing & bug reports, however we plan to phase out Carve by next release.
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-02-13Rework carve integration into boolean modifierSergey Sharybin
Goal of this commit is to support NGons for boolean modifier (currently mesh is being tessellated before performing boolean operation) and also solve the limitation of loosing edge custom data layers after boolean operation is performed. Main idea is to make it so boolean modifier uses Carve library directly via it's C-API, avoiding BSP intermediate level which was doubling amount of memory needed for the operation and which also used quite reasonable amount of overhead time. Perhaps memory usage and CPU usage are the same after all the features are implemented but we've got support now: - ORIGINDEX for all the geometry - Interpolation of edge custom data (seams, crease) - NGons support Triangulation rule is changed now as well, so now non-flat polygons are not being merged back after Carve work. This is so because it's not so trivial to support for NGons and having different behavior for quads and NGons is even more creepy. Reviewers: lukastoenne, campbellbarton Differential Revision: https://developer.blender.org/D274