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-08-16Fix T79823: Typo in cloth filter type descriptionHans Goudey
2020-08-12Fix T79622: Mesh Filter on a locked Shape crashesPhilipp Oeser
For a locked shapekey, a SculptSession's orig_cos / deform_cos / deform_imats are not initialized (they only are when deform_modifiers_active is true -- this in turn is only true for shapekeys if they are //not// locked [and for deforming modifiers of course]) We can just update that keyblock with sculpt_update_keyblock() in case of a locked shapekey Maniphest Tasks: T79622 Differential Revision: https://developer.blender.org/D8499
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-06Fix Pose Brush FK mode detecting wrong rotation originPablo Dobarro
The Pose FK mode assings the rotation origin to the boundary of the last visited face set in the floodfill operation. In some cases, the topology of the model may make the flood fill operation to visit a face set as the first one (assinging it to target) and visit it again as the last one (assinging it to origin). This will make the pose brush to default the origin and target to the brush location and not to the face sets as it considers that there is only one possible boundary. This adds a GSet to ensure that a particular face set is not visited twice in the flood fill, fixing these cases. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7984
2020-08-06Cleanup: undeclared warningsCampbell Barton
2020-08-04Cleanup: typos & co in UI messages (and some other places).Bastien Montagne
2020-07-29Fix Cloth Brush global Sculpt gravity applied in the wrong falloffPablo Dobarro
Previously, gravity was only applied in the real brush radius, not in the whole simulation radius. For most deformation modes, applying gravity to the entire simulation instead of just to the brush radius and scaled by the radius (like a regular sculpt brush) makes more sense. After this fix and with the cloth collisions patch applied, it is possible to do things like this with the cloth grab brush. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8406
2020-07-29Fix T79054: Crash with Cloth Brush and anchored strokePablo Dobarro
As the comment says, anchored stroke can't rely on the first stroke iteration for creating the simulation data. Probably lost in a cleanup. I also made that anchored stroke doesn't restore the mesh state in the cloth brush, so it can create the simulation effect. Reviewed By: sergey Maniphest Tasks: T79054 Differential Revision: https://developer.blender.org/D8348
2020-07-29Fix T79355: switch to texture paint workspace changes image in other workspacesBrecht Van Lommel
Only automatically change image in editor to follow texture paint editors and workspaces that are visible.
2020-07-27Fix Sculpt Relax operation when deforming mesh boundariesPablo Dobarro
Previously, mesh boundaries were relaxed as any other vertex, which was causing artifacts and unwanted deformation. In order to prevent this, the mesh filter was using the automasking system to lock the boundary vertices, which was hacked into the tool. For the brush, the only solution was to enable boundary automasking to lock those vertices in plance. Now the relax vertex function slides the boundary vertices along the mesh boundary edges, relaxing all the topology correctly while preserving the shape of the mesh. The automasking hack in the relax mesh filter was also removed as now vertices slide correctly along the boundary. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8350
2020-07-27Fix T79164: Sculpting with smooth shading doesn't update normalsPablo Dobarro
Just a missing update flag Reviewed By: sergey Maniphest Tasks: T79164 Differential Revision: https://developer.blender.org/D8364
2020-07-27Fix T78242: Crash when using a Sculpt color tools that needs connectivity ↵Pablo Dobarro
for the first time When there is no color layer available, BKE_sculpt_update_object_for_edit creates a new one and tags the mesh with ID_RECLAC_GEOMETRY, so this layer is inmediatly available when the tool starts. This also deletes the PBVH and when it is created again in BKE_sculpt_update_object_after_eval, the pmap is not initialized, making the tool crash. This moves the color layer creation to a separate function outside BKE_sculpt_update_object_for_edit, which now runs after the color layer is available, so it won't need to update again and the pmap will still be available when the tool is used. Reviewed By: sergey Maniphest Tasks: T78242 Differential Revision: https://developer.blender.org/D8135
2020-07-21Sculpt: Add extra deform types to SlidePablo Dobarro
This adds extra deform modes to the slide mode of the Topology Slide/Relax brush (both slide and smear are almost identical). This is useful to move topology to a specific area to add more localized details Reviewed By: sergey Differential Revision: https://developer.blender.org/D8349
2020-07-21Sculpt: Support pen pressure modulation in Paint Brush propertiesPablo Dobarro
This allows to use pen pressure modulation in hardness, wet mix, wet persistence, flow and density, as well as inverting the modulation (more pressure, less density...). With this, it is possible to create brushes that mix paint or apply a new color based on the pressure. Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D8267
2020-07-21Fix T79056: Topology automasking artifacts in multiresPablo Dobarro
Both to_v and form_v need to be included. From_v is needed to include the active vertex when there is only one vertex in the radius of the brush, to_v needs to be included to add all grids duplicates Reviewed By: sergey Maniphest Tasks: T79056 Differential Revision: https://developer.blender.org/D8347
2020-07-21Fix T79007: Smooth brushes crasing in dyntopoPablo Dobarro
The custom smooth functions for bmesh and meshes where removed and replaced by a generic smooth function using the sculpt API, which needs to initialize the bmesh indices in order to be used Reviewed By: sergey Maniphest Tasks: T79007 Differential Revision: https://developer.blender.org/D8333
2020-07-18Cleanup: GPU: Encapsulate scissor testClément Foucault
2020-07-18Cleanup: PaintCursor: Use GPUTexture instead of opengl callsClément Foucault
2020-07-16Cleanup: GPU: Move depth/color masks functions to GPU_stateClément Foucault
2020-07-16Cleanup: GPU: Replace all glReadPixels by GPU equivalentClément Foucault
2020-07-16Cleanup: undeclared function warning, unused argumentCampbell Barton
2020-07-15Fix T78747: Fix mesh boundary detection and automaskingPablo Dobarro
This issue was produced by a hack in the sculpt mode code from 2.80 when the sculpt API for connectivity info was not available. The smooth brush was the only brush that needed connectivity info, so there were 3 different smooth functions with the connectivity queries implemented for dyntopo, meshes and grids. The mesh version of smoothing was checking the number of connected faces to a vertex to mask the mesh boundaries, which was not covering all cases and was hardcoded in the smooth function itself. This patch removes all those legacy functions and unifies all smooth functions into a single one using the new API and the automasking system. In order to achieve this, there were needed some extra changes: - The smooth brush now does not automasks the boundaries by default, so its default preset needs to be updated to enable automasking - The mesh boundary info is extracted once and cached in a bitmap, similar to the disconnected elements IDs. This makes boundary detection work as expected in all cases, solving a lot of known issues with the smooth brush. In multires, this info is extracted and cached only at the base mesh level, so it is much more memory efficient than the previous automasking system. - In order to keep the brushes responsive as they were before, the automasking system can now skip creating the cache when it is not needed for the requested options. This means that for high poly meshes and simple automasking options the brushes won't lag on start. Reviewed By: sergey Maniphest Tasks: T78747 Differential Revision: https://developer.blender.org/D8260
2020-07-15Fix T77417: Topology Automasking not working with individual verticesPablo Dobarro
The flood fill operation was setting the mask using to_v, so in the first iteration when the floodfill callback was using the active vertex as from_v and any other neighbor as to_v, the mask for the active vertex was never set. Now the mask is set using from_v and it checks if it should continue propagating to the next neighbor using to_v. Reviewed By: sergey Maniphest Tasks: T77417 Differential Revision: https://developer.blender.org/D8294
2020-07-13Sculpt: Add extra deform types to SmearPablo Dobarro
The smear brush was using the stroke direction to slide colors across the mesh surface (this is called drag in other sculpt tools). Similarly, other deformations can be included. The most common ones in image editing are pinch and expand, which can be used to sharpen transitions between colors. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8270
2020-07-13Sculpt: Enable color palettes for sculpt vertex colorsPablo Dobarro
Enables the color palette subpanel for brushes that have color capabilities (only the paint brush for now) Reviewed By: sergey Differential Revision: https://developer.blender.org/D8268
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-10Cleanup: spellingCampbell Barton
2020-07-10Cleanup: spellingCampbell Barton
2020-07-10Cleanup: undeclared warningsCampbell Barton
2020-07-09Sculpt: Make Sculpt Vertex Colors features experimentalPablo Dobarro
This disables all Sculpt Vertex Colors tools, operators, panels and rendering capabilities and puts them under the "Use Sculpt Vertex Colors" experimental option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8239
2020-07-09Sculpt: Skip fully hidden nodes in sculpt toolsPablo Dobarro
As tools iterators skip not visible vertices, fully hidden nodes can also be skipped and considered as masked. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8244
2020-07-09Fix T78664: Implement Mesh and Face Set boundary automasking in MultiresPablo Dobarro
This implements the SCULPT_vertex_is_boundary and SCULPT_vertex_has_unique_face_set functions for PBVH_GRIDS, which makes features such as automasking now work in multires. It also fixes some other face sets related features in multires, like face set boundary smoothing. This uses the BKE_subdiv_ccg_coarse_mesh_adjacency_info_get function to get the vertex indicies in the base mesh from multires. This way the API functions can get topology or face set information directly from it. In the future, these vertex indices can be used to get any other information from the base mesh from multires, like seams, sharp edges, disconnected elements IDs... Reviewed By: sergey Maniphest Tasks: T78664 Differential Revision: https://developer.blender.org/D8227
2020-07-09Fix Sculpt Vertex Colors sample color changing brush alphaPablo Dobarro
It is not practical to change the alpha of the paint color with the color picker as with the current brush design alpha is the main strength control for the brush. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8208
2020-07-09Fix crash when using Mask by Color in MultiresPablo Dobarro
Reviewed By: sergey Differential Revision: https://developer.blender.org/D8207
2020-07-07Cleanup: spellingCampbell Barton
2020-07-03Cleanup: Editors/Sculpt/Paint, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/sculpt_paint` module. No functional changes.
2020-07-03Fix Pose Brush crashing after disabling connected only in FK modePablo Dobarro
This function was returning the ik_chain before disabling the fake_neighbors, so when the brush was used again with fake neighbors disabled after rebuilding the PBVH and free them, they were still enabled in the SculptSession, causing a the crash. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8195
2020-07-03Clang-Tidy: Enable readability-redundant-control-flowHans Goudey
2020-07-03Cleanup: spellingCampbell Barton
2020-07-02Sculpt: Mask By ColorPablo Dobarro
This tool generates masks based on the sculpt vertex colors by clicking on the model, similar to automatic selection tools in image editing software. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8157
2020-07-02Cleanup: spellingCampbell Barton
2020-07-01Cleanup: Add functions to check the first brush step and symmetry passesPablo Dobarro
This adds three functions to check the state of the stroke in the StrokeCache, removing the references to first_time and mirror_symmetry_pass from the code. This makes easier to understand what each code path is doing inside of each tool. Some tools were using mirror_symmetry_pass incorrectly, so this should also fix unreported bugs with radial and tiling symmetry related to that. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8164
2020-07-01Cleanup: spellingCampbell Barton
2020-07-01Cleanup: undeclared functions (make static)Campbell Barton
2020-06-30Sculpt: Refactor persistent base to make it usable from other toolsPablo Dobarro
This renames the layer persistent base and adds new API functions to get the mesh state from the base, so it can be used from other tools and replaced in the future with a better system. Reviewed By: sergey Maniphest Tasks: T77738 Differential Revision: https://developer.blender.org/D8003
2020-06-30Fix T78201: Paint color not matching the UI and color pickerPablo Dobarro
The color picker and brush->rgb values are in srgb, but sculpt vertex colors works in linear, so they need to be converted. Reviewed By: sergey Maniphest Tasks: T78201 Differential Revision: https://developer.blender.org/D8111
2020-06-30Sculpt: Color filter fill modePablo Dobarro
This implements a fill mode in the Color Filter tool, which fills the entire mesh with a specific color. As this functionality is part of the color filter, this allows to control the blending of the fill color with the filter strength. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8158
2020-06-30Sculpt: Pose Brush option to affect loose partsPablo Dobarro
This option allows posing meshes with different disconnected elements using the Pose Brush. This is achieved by doing the following: - Creating an ID per vertex that stores the connected component of that vertex. - By using those IDs, one fake topology connection is created per vertex to the nearest vertex in a different ID. The maximum distance to create that connection is determined by the "Max Element Distance" property. These fake connectivity neighbors are used in the Sculpt API functions iterators, so all the algorithms of the Pose Brush can run without modifications as if everything was part of the same mesh. In order to make this work, the "Connected only" property of the Pose Brush needs to be disabled. This will add an extra performance cost to the Pose Brush and its preview. To achieve optimal results, max element distance should be as low as possible. Reviewed By: sergey, campbellbarton Differential Revision: https://developer.blender.org/D7282
2020-06-30Cleanup: unused argumentsCampbell Barton
2020-06-29Remove Threaded Sculpt optionPablo Dobarro
Threaded Sculpt is now always enabled by default. If it causes performance problems compared single threaded sculpt it should be considered a bug. Reviewed By: sergey Maniphest Tasks: T77638 Differential Revision: https://developer.blender.org/D7960