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-17Geometry Nodes: hide Attribute Remove node when fields are enabledJacques Lucke
2021-09-17WM: expose the "any" state of KeyMapItem modifiersCampbell Barton
Change KeyMapItem.alt/ctrl/shift/oskey to integer types, where -1 is used to ignore the modifier when matching key-map items. It was only possible to set all modifiers to -1 at once from RNA using the 'any' property. Afterwards individual modifiers could be set back to true/false. Although these key-map items could not be exported/imported. Exposing the values directly avoids the need for cumbersome workarounds.
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-15Geometry Nodes: Add fields version of material nodesHans Goudey
This commit moves the old material nodes to a "legacy" folder and adds versions of the nodes that work with fields. The "Select by Material" node is a field node now, so it doesn't have a geometry output. This is an improvement because there are fewer links to connect, and it's more easily usable in different situations. It's also called "Material Selection", since it's more of an input than an action now. It's sometimes necessary to use the attribute capture node to get a more predictable interpolation to mesh faces. This is because the selection field input is always evaluated on the face domain, so attribute inputs are interpolated before they are booleans, so they cannot use the new interpolations from rB5841f8656d9580d7b9. Differential Revision: https://developer.blender.org/D12456
2021-09-15Fix Asset Browser cannot open containing file anymorePhilipp Oeser
In {rB9cff9f9f5df0} asset_library was renamed → asset_library_ref. Missed to update this in assets.py. Differential Revision: https://developer.blender.org/D12497
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-15GPencil: Dot dash modifier.YimingWu
Create dot-dash effect for grease pencil strokes. User can manually edit the length, gap and styles for each segment of dashed lines. The values in each segment can all be key-framed to make animations. Reviewed By: Hans Goudey (HooglyBoogly), Antonio Vazquez (antoniov) Differential Revision: http://developer.blender.org/D11876
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-14Update RNA to User Manual MappingsAaron Carlisle
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-13Various UI messages fixes and updates.Bastien Montagne
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-10Geometry Nodes: Add versioning to change legacy node ID namesHans Goudey
Recently we have decided to avoid fancier versioning for nodes with string inputs for attribute names when updating the attribute workflow for 3.0. In that case we would just duplicate any node that will have an updated version to work with fields. We want to be able to use the "proper" ID names for the new versions of the nodes though, so this patch adds "Legacy" to the IDs of all nodes that will be replaced in 3.0. This commit also removes the nodes from the add menu when the fields experimental preference is enabled, in order to make it clear what has been updated and what hasn't. Nodes in the "Maybe" categories in versioning_300.c can be renamed later if necessary. For now it's probably better to be conservative, and to keep the list complete. Differential Revision: https://developer.blender.org/D12420
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-08Fix non-exiting property in keymapRichard Antalik
In e6a1d488ab79 `deselect_all` property was removed from `sequencer.select` operator but some keymap items were missed, which was caught by tests by buildbot.
2021-09-08Cleanup: VSE select operatorRichard Antalik
Operator combines more features and it wasn't very transparent which properties are used in which feature and how they are used. Features linked_time, side_of_frame and linked_handle are isolated, logic moved into own function. deselect_all property was removed as it practically equals to !extend in all cases. Functional change: Dragging existing selection will not change active strip. Previously this could happen if click happened on strip that wasn't active. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D12320
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-05Compositor: New Posterize NodeAaron Carlisle
The posterize node limits the number of colors per channel. This is useful to generate masks or to generate stylized images Both the tiled and full-frame implementation are included in this patch {F10314012} Reviewed By: manzanilla, jbakker Differential Revision: https://developer.blender.org/D12304
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-02GPencil: Change default Scale Thickness to True in 2D templateAntonio Vazquez
This parameter is more logic as true because is better scale thickness when the size of the stroke changes. Reviewed by: @mendio @pepeland
2021-09-02Merge branch 'master' into temp_bmesh_multiresJoseph Eagar
2021-09-02commit before mergeJoseph Eagar
2021-09-01Fix T91054: Editing group custom property gives errorHans Goudey
This commit fixes the custom property edit operator for the the case of editing group properties. Currently this isn't supported very well, the data is converted to a string, but the operator shouldn't fail anyway. This allows editing properties created like this: C.object['abuse'] = {'parent' : ['child1', 'child2']} These changes reflect some issues with the design of the operator. Requiring guessing the type of the data does not work well at all, and makes code more complicated. In the future this operator can be updated to use a type drop-down. Differential Revision: https://developer.blender.org/D12364