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-21Disable a static assert on gcc.Joseph Eagar
2021-09-21Sculpt: Finish color support for brush channelsJoseph Eagar
* BRUSH_CHANNEL_VEC3/4 are now implemented * New flag BRUSH_CHANNEL_COLOR * Also tried to sculpt's usage of wm.radial_control in keymaps
2021-09-21Sculpt: More brush engine stuff, got automasking to work with itJoseph Eagar
* Sculpt now has an API to get brush channel settings. If a sculpt cache exists it will use the channels there (ss->cache->channels_final), otherwise it pulls them from a brush and Sculpt toolsettings. Exampes: float f = SCULPT_get_float(ss, "setting", sd, brush); itn i = SCULPT_get_int(ss, "setting", sd, brush); * Improved the UI a bit
2021-09-20Sculpt: More brush channel stuffJoseph Eagar
* The input device curves for brush channels now use a copy on write mechanism. + It's based on a global cache of curves. The alternative is to reference count BrushChannels, which I also implemented then abandoned. + Profiling showed that copying CurveMapping instances was actually a problem. * Lots of small fixes to the old<-> new brush setting conversion code; * Brush commands can now, sortof, have individual spacing. The default brush spacing still acts as a minimum though. * Added a BLI_ghash_lookup_p_ex method that returns the key ptr inside the ghash (it returns the actual key, not a pointer to Entry.key). * Added a general 1d CurveMapping preset operator that uses an RNA path to get the curve.
2021-09-20Sculpt: Brush channels names are now lower-case insteadJoseph Eagar
of upper case.
2021-09-20Sculpt: brush engine stuffJoseph Eagar
BrushChannels are now stored in linked lists instead of simple arrays. This helps to avoid memory corruption. I had originally wanted to be able to pass BrushChannels by value, but that doesn't really work since they heap allocd data (the input mapping curves).
2021-09-19commit prior to small refactorJoseph Eagar
2021-09-19Sculpt: more brush engine stuff; do not test.Joseph Eagar
Pushing this commit early due to computer weirdness
2021-09-18Sculpt: flushed out brush channel RNA and made basic UIJoseph Eagar
2021-09-18Fix compile errorJoseph Eagar
2021-09-18Sculpt: Flesh out RNA wrapping of BrushChannelsJoseph Eagar
2021-09-18Merge remote-tracking branch 'origin/temp_bmesh_multires' into sculpt-devJoseph Eagar
2021-09-18Merge branch 'master' into temp_bmesh_multirestemp_bmesh_multiresJoseph Eagar
2021-09-18Merge branch 'master' into sculpt-devJoseph Eagar
2021-09-17UI: expose "Lasso Select" & "Extrude to Cursor" in menusCampbell Barton
- Show "Lasso Select" in menus (along with Box & Circle select) - Show "Extrude to Cursor" (along with other extrude actions). - Rename operators that add/extrude on Ctrl-Click since their names were inconsistent. This is mainly for discoverability.
2021-09-17UI: split screenshot area into a separate operatorCampbell Barton
While the screenshot operator showed an "Area" option, it wasn't usable from the main menu (unless accessed via menu search). Split screenshot area into an operator that depends on cursor.
2021-09-16Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-09-16Rename App Menu to Blender MenuDalai Felinto
"App" is a name reserved for the application templates at the moment. It may become its own term in the near future if Templates are separated from "Apps". So since this is a name not exposed to the users we should renamed it sooner than later. Note that this will require scripts to update since the name of the class is renamed here. This also requires an update in the User Manual. Differential Revision: https://developer.blender.org/D12523
2021-09-16Rename show_layout_ui > show_corner_split and remove from UIDalai Felinto
This breaks API compatibility. However we are now grouping this setting in the proper section (preferences.apps), so scripts had to update anyways. So they may as well do it for the final name. The reason to remove from the UI is that this is intended for app setup, and as such it should not be exposed to final users until we have apps better presented (for 3.1 hopefully). Differential Revision: D12516
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-15UI: Addition Changes to Freestyle PropertiesAaron Carlisle
- Material Properties: Use split column layout - Remove the redundent term 'Options' - Remove the redundent term 'Freesttle'
2021-09-13Cleanup: Remove duplicate codeRichard Antalik
Class SEQUENCER_PT_overlay as defined twice.
2021-09-13UI: Freestyle UI UpgradeIyad Ahmed
Suggested and funded by [[ https://blendernpr.org/| BNPR ]], this patch aims to update the long not-updated Freestyle UI **Why do the UI upgrade:** - Freestyle UI doesn't match the rest of Blender UI, it was neglected for a long time - The current UI makes Freestyle workflows tedious and distracting **Highlights:** For before/after screenshots see https://developer.blender.org/D10505 Video: https://youtu.be/qaXhuJW_c9U Workflow video (older revision): https://youtu.be/IqbjIq_A800 Doc patch (WIP): https://github.com/bnpr/FreestyleUIUpgrade/blob/main/freestyle-ui-upgrade-docs.diff Reviewed By: #user_interface, Blendify, HooglyBoogly, Severin Differential Revision: https://developer.blender.org/D10505
2021-09-11Geometry Nodes: Support modifier on curve objectsHans Goudey
With this commit, curve objects support the geometry nodes modifier. Curves objects now evaluate to `CurveEval` unless there was a previous implicit conversion (tessellating modifiers, mesh modifiers, or the settings in the curve "Geometry" panel). In the new code, curves are only considered to be the wire edges-- any generated surface is a mesh instead, stored in the evaluated geometry set. The consolidation of concepts mentioned above allows remove a lot of code that had to do with maintaining the `DispList` type temporarily for modifiers and rendering. Instead, render engines see a separate object for the mesh from the mesh geometry component, and when the curve object evaluates to a curve, the `CurveEval` is always used for drawing wire edges. However, currently the `DispList` type is still maintained and used as an intermediate step in implicit mesh conversion. In the future, more uses of it could be changed to use `CurveEval` and `Mesh` instead. This is mostly not changed behavior, it is just a formalization of existing logic after recent fixes for 2.8 versions last year and two years ago. Also, in the future more functionality can be converted to nodes, removing cases of implicit conversions. For more discussion on that topic, see T89676. The `use_fill_deform` option is removed. It has not worked properly since 2.62, and the choice for filling a curve before or after deformation will work much better and be clearer with a node system. Applying the geometry nodes modifier to generate a curve is not implemented with this commit, so applying the modifier won't work at all. This is a separate technical challenge, and should be solved in a separate step. Differential Revision: https://developer.blender.org/D11597
2021-09-10UI: File Browser Options FixHarley Acheson
With D12436 two File Browser properties were renamed but two references not changed in space_filebrowser.py See D12449 for details. Differential Revision: https://developer.blender.org/D12449 Reviewed by Hans Goudey
2021-09-09Sculpt dyntopo: Added a 'hard edge mode' optionJoseph Eagar
to forcibly set autosmooth_fset_slide to zero (i.e. treat face set boundaries as hard edges and not project them on the surface).
2021-09-09Fix T90317: Confusing File Browser PreferencesHarley Acheson
Preferences / File Browser section made less confusing. See D12436 for details and comparisons. Differential Revision: https://developer.blender.org/D12436 Reviewed by Campbell Barton and Julian Eisel
2021-09-09Geometry Nodes: fields and anonymous attributesJacques Lucke
This implements the initial core framework for fields and anonymous attributes (also see T91274). The new functionality is hidden behind the "Geometry Nodes Fields" feature flag. When enabled in the user preferences, the following new nodes become available: `Position`, `Index`, `Normal`, `Set Position` and `Attribute Capture`. Socket inspection has not been updated to work with fields yet. Besides these changes at the user level, this patch contains the ground work for: * building and evaluating fields at run-time (`FN_fields.hh`) and * creating and accessing anonymous attributes on geometry (`BKE_anonymous_attribute.h`). For evaluating fields we use a new so called multi-function procedure (`FN_multi_function_procedure.hh`). It allows composing multi-functions in arbitrary ways and supports efficient evaluation as is required by fields. See `FN_multi_function_procedure.hh` for more details on how this evaluation mechanism can be used. A new `AttributeIDRef` has been added which allows handling named and anonymous attributes in the same way in many places. Hans and I worked on this patch together. Differential Revision: https://developer.blender.org/D12414
2021-09-09Fix FONT objects cannot use Object Font anymorePhilipp Oeser
Mistake in {rB459974896228}. To use Object Fonts, (vertex) instancing needs to be enabled. So bring back the instancing panel and improve the instancing choice (similar to rB6c0c766bcaa0) by just giving the 'Vertex' choice (or 'None') and explain this is only used for Object Fonts on characters. Was reported in D11348 itself. Differential Revision: https://developer.blender.org/D12438
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-09-08VSE: Adding a panning angle for multichannel audio.Jörg Müller
The panning angle allows a more intuitive panning when the output is surround sound. It sets the angle on the horizontal plane around the listener. 0 degrees is to the front, negative values go to the left and positive ones to the right. +/-180 degrees is directly from the back. Technical detail: the panning value is linear with the panning angle with a factor of 90 degrees. For stereo this means that -1 is left and +1 right, since the speakers are exactly 90 degrees to either side. Differential Revision: https://developer.blender.org/D12275
2021-09-06UI: Blend Preview Thumbnails Showing WorkspaceHarley Acheson
This adds an option to use a capture of the entire main window as the blend file preview thumbnail. See D10492 for details and examples. Differential Revision: https://developer.blender.org/D10492 Reviewed by Campbell Barton
2021-09-06UI: Split Output Properties Dimensions panelAaron Carlisle
I remember when we originally decided on the Dimensions panel, one of the reasons we combined time and image size properties in the same panel, was simply because the 2.49 and previous UIs used fixed-size panels, so we often put two categories of properties inside a panel, using two columns. Now that we no longer do this, we could clarify and simplify some panels by splitting them, such as the Output > Dimensions panel {F6753690} Reviewed By: brecht, pablovazquez Differential Revision: https://developer.blender.org/D4440
2021-09-03UDIM: Show the UV grid even when images are loadedJesse Yurkovich
Allow the UDIM grid to be shown and adjusted when there are images loaded in UV edit mode. Right now the grid feature disappears once an image is loaded and many have found this to be confusing. Based on community and artist feedback, there was support to change this behavior[1] This patch does the following: - Allows the grid to be shown even when images are present - The max allowable dimensions for the grid has been increased from 10x10 to 10x100 to match the underlying maximum UDIM range that blender supports Note: This should not affect other Image editor modes like Paint/Mask or the Render Result viewer etc. Future work in this area is currently documented in a dedicated design task[2] [1] https://devtalk.blender.org/t/the-udim-tile-grid-design-and-feedback-thread/20136 [2] https://developer.blender.org/T90913 Differential Revision: https://developer.blender.org/D11860
2021-09-03Fix T91159: GPencil Smooth brush is using Affect Pressure but not usedAntonio Vazquez
The parameter wa sin the UI but was not used because it was replaced by Use Thickness.
2021-09-02Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-08-31Fix T90989: Annotation opacity must not be animatableAntonio Vazquez
All props of annotations are not animatable by design and opacity must be equal. As the opacity is reused by gpencil objects, a new prop has been created in order to use different props for annotations and GP objects.
2021-08-31Fix AssetBrowser UI errorsPhilipp Oeser
Steps to reproduce: - enable Extended Asset Browser - open a regular File Browser gives: "rna_uiItemR: property not found: FileSelectParams.asset_category" Now do proper poll. Differential Revision: https://developer.blender.org/D12350
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-31Cleanup: use new active_sequence_strip context attributeCampbell Barton
2021-08-28Merge branch 'master' into sculpt-devPablo
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-28Sculpt dyntopo: improved boundary smoothingJoseph Eagar
It's kind of hackish mathematically.
2021-08-28Sculpt dyntopo: added a smoothing factor for sharp boundariesJoseph Eagar
Works by projecting non-boundary verts onto boundary vert normals and weighting by boundary_smooth_Factor.
2021-08-27VSE: Transform overwrite modeRichard Antalik
Add mode to overwrite strips on overlap instead of resolving overlap. When overlap is created, 3 things can happen: - On partial overlap, handles of overlapped strip are moved - On complete overlap with smaller strip, overlapped strip is split - On complete overlap with larger strip, overlapped strip is removed This mode can be enabled in header. Reviewed By: fsiddi, mano-wii Differential Revision: https://developer.blender.org/D11805
2021-08-27Merge branch 'master' into sculpt-devPablo
2021-08-26Fix T90973: GPencil - Add buttons to move up and down vertex groupsAntonio Vazquez
These buttons were in Meshes but not for Grease Pencil. This patch add them in order to keep consistency. Reviewed By: HooglyBoogly Maniphest Tasks: T90973 Differential Revision: https://developer.blender.org/D12328
2021-08-26Cleanup: unused function from 082ddc9379b2bdc963635c1109fbd6c6bce91eedCampbell Barton
2021-08-26ToolSystem: increase the inset tool sizeCampbell Barton
The inset tool requires moving the cursor towards the center of the selection, making it nearly impossible to use the inset tool when the view was aligned with the vertical handle. Use custom settings for VIEW3D_GGT_tool_generic_handle_free to make it draw hollow, as large as the scale tool. Resolves T87991.
2021-08-26ToolSystem: support per-tool gizmo group propertiesCampbell Barton
Also add gizmo group example to the tool-template.