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-06-29Fix T78323: Enable Unified and Secondary colors for Scultp Vertex ColorsPablo Dobarro
The report does not include any file, but probably that file is using the settings for unified colors, which are currently not available in the UI, so it always paints black. This enables unified colors and secondary colors for sculpt vertex colors, so it should solve that issue. Unified color does not make much sense now as the Paint tool is the only one that has paint capabilities, but it will do in the future when sculpt and paint at the same time is enabled and the paint capability is added to more tools. Reviewed By: sergey Maniphest Tasks: T78323 Differential Revision: https://developer.blender.org/D8136
2020-06-29Fix Smear Tool too weak on high poly meshesPablo Dobarro
The defaults for the Smear tool were making it too weak in high poly meshes, specially the alpha/pressure option enabled by default. Now this option is disabled, it has a linear pressure curve and less spacing. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8134
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-26Fix sample color operator not updating the color in the UIPablo Dobarro
Reviewed By: sergey Differential Revision: https://developer.blender.org/D8110
2020-06-25Cleanup: spellingCampbell Barton
2020-06-24Fix artifact in Clay Strips when producing large deformationsPablo Dobarro
The clay strips brush tip tests distances against a cube with beveled Z aligned edges. This cube was positioned with its center in the surface of the mesh, so when producing large deformation, some vertices that should be deformed were positioned further than the cube's Z dimension, so they were left behind, producing artifacts. This displaces and deforms the local space to position the brush tip cube (now a prism) towards the deformation direction, so more vertices can be included, removing most of these artifacts. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8004
2020-06-24Fix T78192: Draw Face Sets tool not updating the viewport colorPablo Dobarro
The draw face set tool always needs to redraw the nodes, but it only needs the full update when in smooth mode because it moves the vertices. Reviewed By: sergey Maniphest Tasks: T78192 Differential Revision: https://developer.blender.org/D8108
2020-06-24Cleanup: unused struct membersCampbell Barton
2020-06-23Sculpt Vertex Colors: Initial implementationPablo Dobarro
Sculpt Vertex Colors is a painting system that runs inside sculpt mode, reusing all its tools and optimizations. This provides much better performance, easier to maintain code and more advanced features (new brush engine, filters, symmetry options, masks and face sets compatibility...). This is also the initial step for future features like vertex painting in Multires and brushes that can sculpt and paint at the same time. This commit includes: - SCULPT_UNDO_COLOR for undo support in sculpt mode - SCULPT_UPDATE_COLOR and PBVH flags and rendering - Sculpt Color API functions - Sculpt capability for sculpt tools (only enabled in the Paint Brush for now) - Rendering support in workbench (default to Sculpt Vertex Colors except in Vertex Paint) - Conversion operator between MPropCol (Sculpt Vertex Colors) and MLoopCol (Vertex Paint) - Remesher reprojection in the Voxel Remehser - Paint Brush and Smear Brush with color smoothing in alt-smooth mode - Parameters for the new brush engine (density, opacity, flow, wet paint mixing, tip scale) implemented in Sculpt Vertex Colors - Color Filter - Color picker (uses S shortcut, replaces smooth) - Color selector in the top bar Reviewed By: brecht Maniphest Tasks: T72866 Differential Revision: https://developer.blender.org/D5975
2020-06-20Fix T77328: Crash on undo Draw Face Sets stroke with dyntopo activePablo Dobarro
Draw Face Sets does not work in Dyntopo and the sculpt API should be responsible for that without needing to add checks all over the code, but it was doing an undo push of type SCULPT_UNDO_FACE_SETS which is not supported, causing the crash. Reviewed By: sergey Maniphest Tasks: T77328 Differential Revision: https://developer.blender.org/D7924
2020-06-09Sculpt: Face Set Edit OperatorPablo Dobarro
This operator performs an edit operation in the active face set defined by the cursor position and updates the visibility. For now, it has a Grow and Shrink operations, similar to Select More/Less in edit mode or to the mask filter Grow/Shrink modes. More operations can be added in the future. In multires, this updates the visibility of an entire face from the base mesh at once, which makes it very convenient to edit the visible area without manipulating the face set directly. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7367
2020-06-08UI: use term 'Merge Distance' instead of 'Merge Limit'Aaron Carlisle
2020-06-04Disable gravity in Draw Face Sets brushPablo Dobarro
Applying gravity to this brush does not make much sense and undo/redo won't work correctly as it uses a different undo type. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7925
2020-06-04Fix error removing the image paint cursorCampbell Barton
Mix up with imapaint.paintcursor & imapaint.paint.paint_cursor Remove imapaint.paintcursor since it wasn't used. Also rename paint_cursor_start_explicit() to paint_cursor_start(), removing the existing paint_cursor_start() since it took the paint struct from the context, a value that's known by all callers.
2020-06-04Cleanup: remove window manager argument for paint cursor APICampbell Barton
This caused an additional argument when exiting object modes and many other low level functions which don't need to access context. This simplifies fixing T77073.
2020-06-02Fix T76776: Implement vertex_visibility_get for PBVH_GRIDSPablo Dobarro
This was missing from when Face Sets were enabled in Multires, so it was always considering that all vertices in the grids are visible. This should also fix other unreported bugs. Reviewed By: sergey Maniphest Tasks: T76776 Differential Revision: https://developer.blender.org/D7809
2020-06-01Sculpt: Cloth FilterPablo Dobarro
This tool is similar to the cloth brush, but it applies the cloth simulation deformation to the whole mesh in an uniform way. The simulation can be controlled using the mask to pin vertices and the face sets to define force action areas. It uses the same solver as the cloth brush which now no longer depends on StrokeCache. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7857
2020-05-27Cleanup: Use bitmaps insteand of bool and char arraysPablo Dobarro
This was propsed in D7059, so I applied it to the rest of the code Reviewed By: campbellbarton, sergey Differential Revision: https://developer.blender.org/D7480
2020-05-26Merge branch 'blender-v2.83-release'Pablo Dobarro
2020-05-26Fix Cloth Brush grab deformation modePablo Dobarro
The grab mode was not correctly implemented, so the way it was working was confusing for users. - Grab delta was calculated in increments from the last stroke position, so it did not match the behavior of a grab brush. I refactored the grab delta calculation to make this change more explicit. - Grab displacement was not calculated from the original coordinates - Grab was using an incorrect strength Grab is now setting the position of the affected vertices directly and the constraints solve the rest of the cloth. I also tried to implement an alternative version based on applying forces to move the vertices to the grab position, but I think this is more controllable and the grab falloff can be adjusted by tweaking the simulation falloff. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7756
2020-05-26Fix PBVH API returning wrong normal when using shape keys and modifiersPablo Dobarro
The implementation of this function should match the one in SCULPT_vertex_co_get. This does not solve the issue when sculpting with modifiers active but I think this code is wrong Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D7805
2020-05-20Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-20Correct invalid limits in last commitCampbell Barton
2020-05-20Merge branch 'blender-v2.83-release'Pablo Dobarro
2020-05-20Fix T75977: Lower the merge limit in the bisect/mirror operation in symmetrizePablo Dobarro
This operation is using the code of the mirror modifier, so no default is guaranteed to work in all cases. This value matches the defaults of the mirror modifier. Reviewed By: jbakker Maniphest Tasks: T75977 Differential Revision: https://developer.blender.org/D7495
2020-05-09Cleanup: spellingCampbell Barton
2020-05-09Cleanup: double-spaces in commentsCampbell Barton
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-05-05Merge branch 'blender-v2.83-release'Pablo Dobarro
2020-05-05Fix T75743: Implement restore for brushes that modify their own dataPablo Dobarro
This implements the restore function for Draw Face Sets and Layer, which don't affect coordinates or masks directly. This is needed for the anchored and dot brush strokes. Layer frees the current displacement and a new one is created on each stroke sample. Draw Face Sets copies the data back from the first undo node to the mesh datalayer. Also fixes T75727 Reviewed By: jbakker Maniphest Tasks: T75727 Differential Revision: https://developer.blender.org/D7442
2020-05-04Tweak the pressure/size dynamic range of Clay StripsPablo Dobarro
The current clay strips brush has a huge dynamic range which is nice for certain effects, but in some pen tablets it is quite hard to control on the higher values and it ends up producing unwanted artifacts. This changes the input curves a bit in an attempt to make it more controllable. After adding a brush management system I will expose all these values to be configurable per brush (the round version of clay strips is a little bit better with different curves, but that is something that we can't support now), but for now this default are probably safer. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7524
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-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-22Cleanup: Spelling in function nameSergey Sharybin
Should be no functional changes.
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-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-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 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-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-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