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
2021-09-15Sculpt dyntopo:Joseph Eagar
Seperate enabling PBVH_BMESH from enabling DynTopo: * Created a new option to globally disabled DynTopo. * The DynTopo panel header now reads "Dynamic Mode", to hopefully signal that turning on PBVH_BMESH is a seperate step from enabling or disabling DynTopo itself. * The first checkbox in the panel is "DynTopo" so it should be clear enough (it's on by default, with multiple layers of file versioning checks). PBVH_BMesh's undo system: * CD_MESH_ID layers are now permanently saved once they are created (by default they are not). This fixed a *lot* of bugs: Before this the undo system had to save maps between mesh indices and mesh IDs on transitioning between sculpt and global undo steps. This was extremely error prone, and it simply wasn't possible to cover all of the corner cases * Note that there is still an odd bug where the first global undo push after a sculpt step gets ignored, I dunno what's up with this. * Dyntopo undo should be nearly (hopefully completely) bug-free after this commit. C++20 * Made a few small changes to get blender to compile with c++20. std::result_of was removed, had to replace a couple of usages of it with std::invoke_result. * I'm planning to do some design studies on rewriting sculpt into C++. * I strongly suspect we are going to need C++20'a new concepts feature if we move sculpt into C++. I'm planning to do some design studies on how that might work.
2021-09-09Sculpt dyntopo:Joseph Eagar
* Collapse now uses code from decimate to detect degenerate cases. * Remaining, unknown (and rare) degenerate cases are now detected (via presence of duplicate verts in faces) and fixed. * DynTopo fills in undo size properly now, so undo memory limiting works.
2021-08-31Sculpt dyntopo: Dynamic field-propegated topology rakeJoseph Eagar
I might write a paper on this. Topology rake now locally updates a vector field, which it uses to smooth the input and constrain to mesh (including face set) boundaries. This can make an enormous difference for things like smoothing. Note that this is different from the existing 'curvature rake' mode, which also builds a field and which is fed into the input of this new one. The only oddity is that the field is stored in a CD_PROP_COLOR since we don't have a CD_PROP_FLOAT4, and this shows up in the UI (not sure if I'm messing up the CD_TEMPORARY flags or if the UI doesn't check for them).
2021-08-28Sculpt dyntopo: split face set boundaries on mirror boundaryJoseph Eagar
Added an option to split face set boundaries on mirror boundaries; currently only DynTopo supports this. Very useful for making hard edges along mirror lines.
2021-08-17Sculpt dyntopoJoseph Eagar
* Added a limited "fast draw" mode to pbvh drawing that tries to limit data sent to the GPU. - Facesets and mask data are disabled. - Indexed mode is forced. - Does not work (at all) for multires. * Finally fixed some outstanding bmesh sculpt undo bugs: - Forgot to mark pbvh nodes to update their bounds, which produced a bug I had thought was caused by something else. - Hopefully fixed a long-standing occasional memory corruption bug.
2021-08-16Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-08-09Cleanup: use 'cls' for class methods first argumentCampbell Barton
2021-07-11Sculpt dyntopo: another attempt to fix undo memory corruption bugJoseph Eagar
2021-07-11Remove extraneous codeJoseph Eagar
2021-07-11Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-07-06Cleanup: pep8Campbell Barton
2021-06-26Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-06-23Voxel Remesher: Make smooth shading output automaticPablo Dobarro
Previously the smooth shading of the voxel remesher was controlled by a mesh property. With this change, the output will try to match the current shading of the object. This only takes into consideration the shading mode of the first polygon of the model, but it is probably what most users expect as it works as intended with the shade smooth/flat object mode options. Reviewed By: JulienKaspar, JacquesLucke Differential Revision: https://developer.blender.org/D11626
2021-06-21Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-06-09GPencil: Hide Brush panels for some toolsAntonio Vazquez
Some tools don't use brush and the panel must be hidden. Reviewed By: mendio Differential Revision: https://developer.blender.org/D11518
2021-06-08Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-06-05Cleanup: use ternary operator for icon argumentCampbell Barton
2021-06-04GPencil: Change Fill Boundary iconAntonio Vazquez
The icon has been changed to `eye` because is more consistent with other areas.
2021-06-04GPencil: Change Fill extend lines iconAntonio Vazquez
The icon has been changed to `eye` because is more consistent with other areas.
2021-05-05Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-05-04GPencil: New Dilate parameter for Fill brushAntonio Vazquez
Internally, when using Fill brush a dilate of the filled area was done, but this was hardcoded to 1 pixel. In some situations, this was not enough, so now the value is accesible in the UI and can be set with different values. Also, as this value is more used than `Leak Size`, the new Dilate is on Topbar, and Leak Size has been moved to Advanced panel.
2021-04-20Added detail_size to local dyntopo brush settingsJoseph Eagar
2021-04-12* Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
* Implemented DynTopo option to dissolve 3 and 4-valence vertices. * Fixed bug in dyntopo collapse customdata snapping.
2021-04-11Fix issues with last commit. Also, simplify brush nowJoseph Eagar
uses dyntopo local overrides to always enable collapse instead of being hardcoded.
2021-04-11* Fixed wireframe drawing in vcol cell drawing modeJoseph Eagar
* Added UI for editing local brush dyntopo settings.
2021-04-04Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-04-02Fix T84520: Make the different weight paint code paths exclusive to each otherSebastian Parborg
Before this change, you could have the new sculpt symmetry code and the older weight paint symmetry code active at the same time. This would lead to users easily trashing their weigh paint data if they were not careful when switching between modes. Now the specific weight paint symmetry code is an exclusive toggle so the user can't accidentally mirror strokes and vertex groups at the same time. This also paves the way of supporting Y and Z symmetry in the future for weight groups mirroring if we decide to add it in the future. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10426
2021-04-02* Dyntopo now has its own brush spacing. This is a huge performanceJoseph Eagar
boost for brushes with fine spacing, e.g. the clay brush.
2021-03-30Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-03-28Fix T86060: Texture Paint clone tool misleading texture UICampbell Barton
For projection painting tools besides the `DRAW` tool: - Don't show the texture from viewport stencil drawing. - Don't show the texture panel. Based on D10564 by @lichtwerk with own changes.
2021-03-23Cleanup: unused variables, importsCampbell Barton
2021-03-19Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-03-09Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
Merge not finished, but need to commit to move to different computer; laptop being sent in for repairs
2021-03-08"Show Texture in texture tab" button: full support for Sculpt / PaintPhilipp Oeser
In {rBb279fef85d1a} the button that displays a texture in a Properties Editor texture tab was added for geometry nodes. Same commit will actually show them for Brush textures as well (but disabled -- because the Texture users dont match). This task is for finanlizing proper support for Brush textures as well. There was originally a separate patch for this (see {D9813}) but most of it was already implemented by above commit. **what this solves** from the default startup file: - go to any sculpt or paint mode and add a texture to your brush - observe the button to edit this texture in the Properties editor is greyed out {F9860470} There are two possible solutions: - [1] call the texture template for the brush `texture_slot` texture (instead of the brush 'texture') from the python UI code, this is then working in harmony how ButsTextureUser works for brushes - [2] tweak the way `ButsTextureUser` works (dont rely on `RNA_BrushTextureSlot` there) This patch implements the first solution. Since `brush.texture_slot` is `br->mtex` RNA wrapped and `brush.texture` is `br->mtex.tex` RNA wrapped, this really comes down to doing the same thing. I checked that creating a new texture and unlinking/deleting will have the same results even though they take slightly different code paths: assignment and NULLing the pointers are working on the same (see above) and RNA update callbacks also do the same [even though in different functions]: - brush.texture will do rna_Brush_main_tex_update - brush.texture_slot.texture will do rna_TextureSlotTexture_update / rna_TextureSlot_update (only difference here is an additional DEG relations update in the case of texture_slot which should not do harm) Differential Revision: https://developer.blender.org/D10626
2021-03-06Cleanup: unused argumentsCampbell Barton
2021-03-06Cleanup: unused variablesCampbell Barton
2021-02-28Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-02-24Fix T84796: Particle tool properties displayed for select toolKdaf
When using particle mode, the particle tool settings were always displayed, even if select/cursor is the active tool. This patch hides the properties of the particle tools for non-brush tools, using the same check as in other modes. Differential Revision: https://developer.blender.org/D10266
2021-02-19GPencil: Interpolate Tools refactorAntonio Vazquez
Following with the changes included to interpolate strokes of different number of points, a full review has been done in the interpolation tools. * Interpolate now is a tool and not an operator. It was not logic to have this tool as a button. * Interpolate tool parameters have been moved to topbar. * Interpolate popover has been removed from topbar and interpolate `Sequence` operator has been moved to grease pencil menu. * Interpolate Sequence now include a Redo panel. * Interpolate tool now allows to select the strokes by pairs. This allows to interpolate any stroke with any stroke and not as before that it was only possible by drawing order. If no stroke is selected, the interpolation is done as before. * Now is possible interpolate again if a previous keyframe exist. Before, it was impossible to interpolate two times in same frame and this made impossible to do the interpolation by groups of frames. * New automatic option to `Flip strokes` if the stroke and end are not in the right position. Also the flip can be set manually for corner cases. * Cleanup of menus related to interpolate. * Fixed some bugs and removed parameters from scene because now all are tool or operator contained. * Some code cleanup and function renames. This commit also includes the some codebase to future implementation of the concept `Vertex Active` that now does not exist in grease pencil.
2021-02-11GPencil: Move Autofit parameter from topbar to advanced panelAntonio Vazquez
As this is used only in corner cases, it is better keep in advanced panel. Also renamed to "Limit to Viewport"
2021-02-09GPencil: Fill tool refactor and Multiframe in Draw modeAntonio Vazquez
This commit is a refactor of the fill tool to solve several problems we had since the first version of the tool. Changes: * The filling speed has been improved for each step of the process with the optimization of each algorithm/function. * New `AutoFit` option to fill areas outside of the viewport. When enable, the total size of the frame is calculated to fit the filling area. * New support multiframe filling. Now it is possible to fill multiple similar frames in one go. * New `Stroke Extension` option to create temporary closing strokes. These strokes can be displayed and adjusted dynamically using wheel mouse or PageUp/Down keys. * Parameter `Resolution` now is named `Precision` and has been moved to topbar. * `Resolution` now has decimals and can be lower than 1 to allow quick filling in storyboarding workflows. Maximum value has been set as 5. * Parameter `Simplify` has been moved to Advanced panel. * Improved fill outline detection. In some cases, the outline penetrated the area to be filled with unexpected results. * Fixes some corner case bugs with infinite loops. As a result of this refactor, also these new functionalities has been added. * New support for multiframe in `Draw` mode. Any drawing in active frame is duplicated to all selected frame. * New multiframe display mode. Keyframes before or after of the active frame are displayed using onion colors. This can be disable using Onion overlay options.
2021-02-08Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-01-21UI: particle tool properties layout tweaksCampbell Barton
Adopt some of the newer layout abilities to clean up the Particle Tool Properties a bit. - Use in-line check-boxes next to values. - Use text heading for Preserve toggles and mirror/topology mirror. Reads clearer. Uses less space. Is more consistent. Reviewed By: #user_interface, pablovazquez, Blendify, campbellbarton Ref D10130
2021-01-14GPencil: Allow small resolution for Fill toolAntonio Vazquez
Now the resolution can be reduced to get less details. This is very useful for doing storyboards to get a quick fill of any character. Following UI review, the name "Resolution" has been changed to "Precision" because is more clear. Differential Revision: https://developer.blender.org/D10076
2020-12-21Merge remote-tracking branch 'origin/master' into temp_bmesh_multiresJoseph Eagar
Also redid vcol boundary tool icon, and made a little icon for sculpt color paint.
2020-12-16Cleanup: pep8Campbell Barton
2020-12-08Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2020-11-19Cleanup: Grammar: "Allow to" vs gerundHans Goudey
In cases where "Allow" is followed by an infinitive, a noun needs to directly follow it. But it makes more sense to follow it with a gerund instead.
2020-11-06Added debug option in dyntopo to draw sculpt colors as solid cellsJoseph Eagar
instead of interpolating (it's next to "draw smooth" in the dyntopo settings panel).
2020-10-29GPencil: Add interpolate operators in Draw modeAntonio Vazquez
Now the interpolate is available in draw mode (except the option of selected strokes). Differential Revision: https://developer.blender.org/D9325