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
2020-04-30Multires: Enable sculpting in all subdivision levelsPablo Dobarro
Return the correct sculpt level in BKE_multires_sculpt_level_get and enable the property in the UI Reviewed By: sergey Differential Revision: https://developer.blender.org/D7575
2020-04-30Merge branch 'blender-v2.83-release'Philipp Oeser
2020-04-30Fix T75985: Texture paint brush gradients results in wrong colorPhilipp Oeser
A Colorband's CBData color **is not** considered `PROP_COLOR_GAMMA`. A Brushes color **is** considered `PROP_COLOR_GAMMA`. (PROP_COLOR_GAMMA is used for colors which would be color managed before display, could be renamed to something better once...) This leads to different rgb values in ColorBand.CBData of br->gradient and brush->rgb for seemingly identical colors. (this is because color pickers do differently in case block->is_color_gamma_picker/ ui_but_is_color_gamma) Now it looks like `paint_brush_color_get` is expected to return a color in sRGB (according to @jbakker this is for legacy reasons) so we need to run the colorband colors through linear -> sRGB. It might very well be the case that a much deeper cleanup in this area is needed, this is just a fix to get gradient brush colors consistent again... Maniphest Tasks: T75985 Differential Revision: https://developer.blender.org/D7501
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-27Fix T72476: Crash when drag & drop Color in the Image EditorRobert Guetzkow
2020-04-22Cleanup: Spelling in function nameSergey Sharybin
Should be no functional changes.
2020-04-20Various typos fixes in UI messages.Bastien Montagne
2020-04-20Fix T75778: Missing ME_VERT_PBVH_UPDATE in Surface SmoothPablo Dobarro
Without this flag the PBVH won't update taking the modified vertices into account. Reviewed By: brecht Maniphest Tasks: T75778 Differential Revision: https://developer.blender.org/D7453
2020-04-20Fix T75766: Smooth mask using mesh vert indices direcltyPablo Dobarro
In the vertex iterator vd.index should always be used. I probably introduced this in a refactor. Reviewed By: jbakker Maniphest Tasks: T75766 Differential Revision: https://developer.blender.org/D7446
2020-04-20Fix T75662: Surface Smooth filter not checking face setsPablo Dobarro
In the main mesh filter loop vertex that do not have the active face set are skipped, so in the following surface smooth displacement loop these vertices were deformed using an uninitialized laplacian_disp value. Now the main loop initializes the laplacian_disp for all vertices and the deformation based on face sets is skipped in the second loop. Reviewed By: jbakker Maniphest Tasks: T75662 Differential Revision: https://developer.blender.org/D7443
2020-04-15Cleanup: missing-prototypes warningCampbell Barton
2020-04-15Cleanup: shadow warningCampbell Barton
2020-04-14Sculpt: New Layer BrushPablo Dobarro
The Layer brush was in Blender before 2.81, when the sculpt API was introduced. It had a huge amount of bugs and glitches which made it almost unusable for anything but the most trivial cases. Also, it needed some hacks in the code just to support the persistent base. The brush was completely rewritten using the Sculpt API. It fulfills the same use case as the old one, but it has: - All previous artifacts fixed - Simpler code - Persistent base now works with multires thanks to the sculpt API - Small cursor widget to preview the layer height - More controllable and smoother strength and deformation - More correct masking support - More predictable invert support. When using persistent base, the brush invert mode resets to layer height 0, instead of jumping from +1 to -1. The brush can still be inverted in the brush direction property. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7147
2020-04-14Sculpt: Sharpen Mesh FilterPablo Dobarro
This mesh filter sharpens and smooths the mesh based on its curvature, resulting in pinching hard edges and polishing flat surfaces. It fixes most of the artifacts of the voxel remesher and those produced when sculpting hard surfaces and stylized models with creasing and flattening brushes. It needs and accumulate_displacement step before each filter iteration which can't be multithreaded in an easy way (it would need something to sync the threads when modifying the data of neighbors in a different node), but this does not affect performance in a significant way. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7335
2020-04-14Fix Shift-Smooth mode using wrong parametersPablo Dobarro
When using the shift-smooth mode, sculpt_update_cache_invariants is changing the brush datablock of the paint session if it finds a brush named "Smooth" (which is a huge hack the brush management project should try to solve). This is done after the PaintStroke data in the modal operator is created, which holds a reference to the active brush in the paint session that was active when the operator started. Because of this, the StrokeCache was getting the correct smooth brush values but the paint modal operator was applying the wrong ones from the previous brush. This was causing the smooth brush behaves unpredictably depending on the current active brush. This patch updates the brush in PaintStroke on each modal callback, so it always gets the values from the current active brush in the Paint Session. The way brush switching works and a way to make it more flexible needs to be discussed in the future as part of the brush management project. The default smooth brush parameters and curves will probably need to be updated after this change, as previously they were set using an incorrect behavior. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7354
2020-04-14Fix automasking using the wrong active face setPablo Dobarro
All tools should now use the API function to get the active face set directly from the face under the cursor. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7362
2020-04-14Fix Randomize Face Sets Colors not working in MultiresPablo Dobarro
The operator was disabled when it was added because Face Sets were not supported in Multires. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7312
2020-04-14Fix T75104: Update Face Sets visibility when entering Sculpt ModePablo Dobarro
Geometry that was just added to sculpt mode has the SCULPT_FACE_SET_NONE assigned, so it was hidden by default. By doing this when entering sculpt mode a new visible face set is created for it, making it easier to isolate it again if you want to do further tweaking with the sculpt tools. Also, this also fixes the issue that may happen when changing the mesh visibility in edit mode. Now visibility changes done outside sculpt mode are stored in the face sets when entering sculpt mode, so mesh visibility should stay the same. Reviewed By: jbakker Maniphest Tasks: T75104 Differential Revision: https://developer.blender.org/D7249
2020-04-14Sculpt: Implement undo of Apply Base during sculpt sessionSergey Sharybin
The idea is to push both base mesh geometry and PBVH coordinates so it is possible to undo everything without loosing data which was not flushed from sculpt session to base mesh. It is possible do memory optimization to avoid push custom data layers which are not touched by operator, but before doing that better to ensure this is a correct and working approach. Differential Revision: https://developer.blender.org/D7381
2020-04-13Fix T75667: Use of incorrect terminology in the brush_colors_flip operatorWilliam Reynish
- The word 'Flip' is incorrect. 'Swap' or 'Switch' is correct. - In Blender, we use 'primary' & 'secondary' color swatches, not 'foreground' and 'background'
2020-04-09TaskScheduler: Minor Preparations for TBBBrecht Van Lommel
Tasks: move priority from task to task pool {rBf7c18df4f599fe39ffc914e645e504fcdbee8636} Tasks: split task.c into task_pool.cc and task_iterator.c {rB4ada1d267749931ca934a74b14a82479bcaa92e0} Differential Revision: https://developer.blender.org/D7385
2020-04-07Cleanup: clang-formatCampbell Barton
2020-04-06Cleanup: spellingCampbell Barton
2020-04-04Cleanup: Move Detail Operators and Dyntopo to their own filesPablo Dobarro
2020-04-03Cleanup: Move Mask Filter and Mask Expand to their own filesPablo Dobarro
2020-04-03Cleanup: Move Mesh Filter, Smooth and Automasking to their own filesPablo Dobarro
2020-04-03Cleanup: Move all sculpt transform functionality to its own filePablo Dobarro
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Missing clang format in previous commitPablo Dobarro
2020-04-03Cleanup: Move all Face Set functionality to its own filePablo Dobarro
2020-04-03Cleanup: Rename bScreen variables from sc/scr to screenJulian Eisel
Part of T74432. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Cleanup: Rename ScrArea variables from sa to areaJulian Eisel
Follow up of b2ee1770d4c3 and 10c2254d412d, part of T74432. Now the area and region naming conventions should be less confusing. Mostly a careful batch rename but had to do few smaller fixes. Also ran clang-format on affected files.
2020-04-03Fix T74205: crash cancelling transfrom operation in sculpt modeAsad-ullah Khan
Differential Revision: https://developer.blender.org/D7018
2020-04-03Cleanup: Continue renaming ARegion variables from ar to regionJulian Eisel
Continuation of b2ee1770d4c3, now non-single word variables are also renamed. Part of T74432. Also ran clang-format on affected files.
2020-04-03Cleanup: split ED_mesh_mirror_*_table into multiple functionsCampbell Barton
Spatial & topology mirror table each used a single function taking a char as an identifier. Split these into begin/end/lookup functions.
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-04-03Cleanup: spellingCampbell Barton
2020-04-02Sculpt: Add global automasking options for all brushesPablo Dobarro
This adds the automasking options to the Sculpt Tool options in a way that they affect all brushes. This is more convenient when working with some of these options while switching brushes as they don't need to be enabled/disabled per brush. An automasking option is enabled if it is enabled in the brush or in the sculpt options. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7304
2020-04-02Scultp: Face Set boundary automaskingPablo Dobarro
With this brush option it is possible to mask the boundary vertices of all face sets. This is especially useful in the cloth brush, where face sets can be used to simulate seams between different patches of cloth and produce different patterns and effects. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7230
2020-04-02Sculpt: Store explicit value for multires sculpt levelSergey Sharybin
Allows to know what level sculpting has been done after the value has been changed in the MultiresModifierData. No functional changes, just preparing code to have everything needed for propagation undo. Differential Revision: https://developer.blender.org/D7307
2020-04-02Sculpt Undo: Allow Geometry undo step to be non-exclusiveSergey Sharybin
Before this change it was not possible to have base geometry and grid coordinates to be stored in the same undo step. Differential Revision: https://developer.blender.org/D7298
2020-04-02Fix Face Sets painting and selection precisionPablo Dobarro
This fixes the following issues: - Previously, the face set from the active vertex was used directly. Vertices always return the most recently created face set, so in some cases there may be some face sets that were not possible to select as active. Now the active face set is set in the ray intersection, so it always matches the face under the cursor. - When drawing face sets they were set per vertex, so it was not possible to paint one face at a time. Now face sets are painted per poly when using the brush on meshes, testing the distance to the center of each poly. - The code for the active vertex on PBVH_GRIDS was not correct, so I also fixed that to test if everything was working correctly. {F8441699} Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7303
2020-04-02Fix T75121: Memory leak in Surface SmoothPablo Dobarro
The brush was allocating new memory for storing the displacemnets at the beginning of each stroke step and not freeing them. Reviewed By: jbakker Maniphest Tasks: T75121 Differential Revision: https://developer.blender.org/D7254
2020-04-02Fix mesh boundary automask curve falloffPablo Dobarro
As the main use case of this feature is to work with cloth, using this curve makes more sense than a smoothstep to simulate cloth tension near the edges. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7262
2020-04-02Sculpt: Give a brief explanation of undo stackSergey Sharybin
Should make it a bit more clear overview of what is going on in this module. While some of the details might still be missing, having some sort of top-level overview is better than nothing. Differential Revision: https://developer.blender.org/D7300
2020-04-02Sculpt Undo: Fix multires undo for interleaved nodesSergey Sharybin
Made it so grids array is properly allocated when first node in the undo list does not contain grid data. Differential Revision: https://developer.blender.org/D7299
2020-04-01Sculpt Undo: Refactor Geometry undo nodesSergey Sharybin
Made it so there is a single UNDO node in the list which has both original and modified mesh state. Makes it easier to achieve "interleaved" undo nodes stored in the undo step (as opposite of either storing geometry or other data). Should be no functional changes, just preparing for an upcoming work to support undo of operation like Apply Base. Differential Revision: https://developer.blender.org/D7290
2020-04-01Fix missing break statement in recent face-set supportCampbell Barton
2020-04-01Multires: Initial Face Sets supportPablo Dobarro
This implements the Sculpt Mode API functions needed for Face Sets and visibility management for PBVH_GRIDS. No major changes were needed in the operators and the sculpt mode code. This implementation stores the face sets in the base mesh, so faces created in higher subdivision levels can't be modified individually. Also, we are not checking for multiple face sets per vertex (that can be added in the future), so relax tools don't work yet. The rest of the features (paint, undo, visibility operators..) work as expected. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7168
2020-03-29Cleanup: spelling, commentsCampbell Barton