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
2016-04-21Moved function declarations for modifier stack eval into BKE_modifier_calc.h.temp_depsgraph_split_uberevalLukas Tönne
2016-04-11Fix T48084: Solidify uses alternate quad-directionCampbell Barton
This prevents twisted quads from self-intersecting. This change makes the duplicate surface match the first vertex in the face, so the diagonal indices match in the face copy.
2016-03-25Fix T47928: Crashing save corruption with dynamic paint drip effector groups.Bastien Montagne
Dynapaint's `foreachIDLink` was mnot handling effector_weights->group pointer...
2016-03-11Fix crash adding EditNormals modifier to NURBS object (or other types but mesh).Bastien Montagne
Kinda stupid, but that eModifierTypeFlag_AcceptsCVs could really use a comment alongside its definition! Safe to be backported to 2.77.
2016-03-07Simple Deform modifier: invert vgroup optionCampbell Barton
D1839 from @Orgold
2016-03-03Docs: comment on poly flipping w/ solidifyCampbell Barton
2016-03-02Cleanup: style, and --help editsCampbell Barton
2016-02-28Fix T42536: Normals modifier: Generated normals can be opposed to face one, ↵Bastien Montagne
needs winding flipping in this case.
2016-02-15Cleanup: reorganize BKE ID tagging functions.Bastien Montagne
BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those into flags (for presistent one) and tags (for runtime ones). Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_' functions affect flags.
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-30Fix T46455: Array modifier could generate chained mapping of vertices, ↵Bastien Montagne
leading to corrupted geometry. That was the main issue (in both T46455 and T46690), solved by 'flattening' those chains (v1 -> v2 ->v3 etc.) before calling `CDDM_merge_verts()`. Also added note to `CDDM_merge_verts()` that it does not support chained mapping, along with a basic assert that should catch most of those cases in future. The logic of 'following mapping' was also rather broken, making a special case here when using object-controlled offset is very weak. Further more, blindly following mapping in this case was far from ideal, this could end to merging vertices rather far from each other. To address this issue, we now always follow mapping, but only as long as 'final' vertex remains close enough from mapped one. Finally, the search of 'closest' vertex to merge with was also quite bad, would just pick the first one matching distance limit, instead of using the actual closest one - could lead to rather ugly geometry deformations in case one would use not-so-small merge threashold!
2016-01-30Fix memory leak in hook modifier's data copySergey Sharybin
2016-01-16Cleanup: BLI_task - API changes.Bastien Montagne
Based on usages so far: - Split callback worker func in two, 'basic' and 'extended' versions. The former goes back to the simplest verion, while the later keeps the 'userdata_chunk', and gets the thread_id too. - Add use_threading to simple BLI_task_parallel_range(), turns out we need this pretty much systematically, and allows to get rid of most usages of BLI_task_parallel_range_ex(). - Now BLI_task_parallel_range() expects 'basic' version of callback, while BLI_task_parallel_range_ex() expectes 'extended' version of the callback. All in all, this should make common usage of BLI_task_parallel_range simpler (less verbose), and add access to advanced callback to thread id, which is mandatory in some (future) cases.
2016-01-14Cleanup: use BM_mesh_* prefix for BMesh functionsCampbell Barton
2016-01-09Smoke, Dynamic Paint: de-duplicate object subframe update function.Kévin Dietrich
As in the title. In the smoke version, there was also an extra 'for_render' parameter that wasn't used, and wasn't used by the callers either, so it was removed altogether. Reviewers: brecht Reviewed By: brecht Subscribers: brecht Differential Revision: https://developer.blender.org/D1718
2016-01-06Proper fix for memleaks when rendering partsys from edit mode...Bastien Montagne
2016-01-06...And fix memleak in previous commit, sigh...Bastien Montagne
2016-01-06Fix (unreported) crash when rendering hairs from edit mode (own regression ↵Bastien Montagne
in recent particle edit fix). *sigh* hope we fix some day that recursion issue that makes it such a PITA to generate DM of other targets from DM stack...
2016-01-06Fix T47034: Explode "Cut Edges" looses UV'sCampbell Barton
Own regression in c61e4f2
2016-01-04CleanupCampbell Barton
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-30BLI_task: change BLI_task_parallel_range_ex() to just take a bool whether to ↵Bastien Montagne
use threading or not, instead of threshold. From recent experience, turns out we often do want to use something else than basic range of parallelized forloop as control parameter over threads usage, so now BLI func only takes a boolean, and caller defines best check for its own case.
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-12-26CleanupCampbell Barton
2015-12-25Minor cleanup.Bastien Montagne
2015-12-25MOD_UVWarp: switch from OMP to BLI_task.Bastien Montagne
Usual 10%-15% speedup. Note that here OMP was rather erratic, with typical timing about 10% slower than BLI_task, but having some 'burnouts' (~10% of times) were it would be over ten times slower than usual... BLI_task looks much more stable.
2015-12-22Get rid of OMP in MOD_build.Bastien Montagne
Reasons: - Only parallelized piece of code gives little local speedup (code block only about 25% quicker even on 1M polys cube). - No gain nor loss using new BLI_task system. - At 10% of build, parallelized piece of code is only about 5% of total func runtime (run-time explodes as build proportion increases). See no point in adding (in utmost best optimistic case, in real use-case, when depsgraph will likely already fire several evaluations in parallel, speedup would be even smaller) 1% speedup here at the cost of threading complexity... Note that since later code uses hashes, I don't think it's easy to thread it, so think we can leave with it for now.
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-11Fix T46945: Mesh Deform binding to a cage object with modifiers is unreliable.Bastien Montagne
Binding code was re-building its own DM for the cage, now it uses given one instead. I cannot see really any good reason not to use 'visual' modified cage for binding process, using base mesh instead was breaking any 'advanced' binding as described in the report.
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-12-10Eigen: fold remaining OpenNL code into intern/eigen.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D1662
2015-12-06Fix (unreported) Ocean modifier assuming all its faces are quads.Bastien Montagne
Would be true in most cases (and in particular with own generated geometry), but in case one would be using original geometry this could have crashed badly.
2015-12-06Cleanup in main Ocean modifier code.Bastien Montagne
Note that I tried to parallelize the loops porting result of the simulation to the DM data itself, but that ended up being 20% slower than non-threaded code!
2015-12-06Switch Ocean modifier's geometry generation from OMP to BLI_task.Bastien Montagne
Compared to previous revision, this gives 20% speedup on the whole modifier evaluation! Wondering a bit how improvement can be so impressive here, would have expected very small increases given how simple is the code here... Maybe it's the fact we get rid of many additional OMP threads (tests are done with ten Ocean mod evaluated in parallel)?
2015-12-02Cleanup: warnings & spellingCampbell Barton
2015-11-26Cleanup: whitespaceCampbell Barton
2015-11-25MOD_weightvg: switch from OMP to BLI_task's parallelized 'for loop'.Bastien Montagne
Also gives about 5-6% speedup...
2015-11-25BLI_task: BLI_task_parallel_range_ex: add some per-chunk userdata.Bastien Montagne
This mimics OpenMP's 'firstprivate' feature. It is sometimes handy to have some persistent local data during a whole chunk. Reviewers: sergey Reviewed By: sergey Subscribers: campbellbarton Differential Revision: https://developer.blender.org/D1635
2015-11-23Cleanup: shadowing (rna, modifiers, *misc*)Campbell Barton
2015-11-23OpenNL: make the API thread safe by always passing context.Brecht Van Lommel
Previously two laplacian smooth or deform modifiers executing simultaneously could crash.
2015-11-23OpenNL: significantly simplify code using Eigen / STL.Brecht Van Lommel
2015-11-18BMesh: symmetry aware decimateCampbell Barton
Support for decimating while maintaining symmetry on a single axis.
2015-11-05Fix T46692: Triangulate creates duplicate facesCampbell Barton
Caused a crash in dyntopo.
2015-11-03Fix related to T46567: Skin modifier: add a warning message when no valid ↵Bastien Montagne
root vertex is found. Otherwise user may have a hard time understanding why their modifier is no more working after they e.g. deleted some vertices... including the root one. ;)
2015-10-14Fix T46487: OpenSubdiv objects are invisible in Blender Internal "Rendered" ↵Sergey Sharybin
viewport mode