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-03-17UI: Tweak labels, descriptions, and panel layout for line artHans Goudey
Changes include: - Use `IFACE_` for UI labels set in the modifier panels - Use a sub-sub-panel for transparency - Fix grammar and spelling mistakes - Use more natural user-friendly wording - Make descriptions more specific and more useful - Don't capitalize "line art" in descriptions (tooltips) These changes are aimed at making the UI strings more consistent with the rest of the UI and being more helpful to someone trying to understand how to use the modifier. Differential Revision: https://developer.blender.org/D10750
2021-03-17UI: Correct icon and description for "Object Line Art"Hans Goudey
The icon should be the same as other object icons rather than "Cube", and the description was just the collection description copy and pasted.
2021-03-17Nodes: Add support to mute node wiresCharlie Jolly
This patch adds the ability to mute individual wires in the node editor. This is invoked like the cut links operator but with a new shortcut. Mute = Ctrl + Alt Cut = Ctrl Dragging over wires will toggle the mute state for that wire. The muted wires are drawn in red with a bar across the center. Red is used in the nodes context to indicate invalid links, muted links and internal links. When a wire is muted it exposes the original node buttons which are normally hidden when a wire is connected. Downstream and upstream links connected using reroute nodes are also muted. Outside scope of patch: - Add support for pynodes e.g. Animation Nodes - Requires minor change to check for muted links using the `is_muted` link property or the `is_linked` socket property. Maniphest Tasks: T52659 Differential Revision: https://developer.blender.org/D2807
2021-03-17Bugfix: properly rename Null audio device to NoneJörg Müller
2021-03-17Audaspace: add support for CoreAudio on macOSJörg Müller
This adds CoreAudio as audio backend on macOS. CoreAudio is the standard audio API on macOS. Ref T86590
2021-03-17Audaspace: add support for WASAPI on WindowsJörg Müller
This adds WASAPI as audio backend on Windows. WASAPI is the modern standard audio API on Windows introduced with Windows Vista. Ref T86590
2021-03-17Audaspace: add support for PulseAudio on LinuxJörg Müller
This adds PulseAudio as audio backend on Linux. PulseAudio is the main audio engine used on most, if not all, Linux distributions today. Ref T86590
2021-03-17Fix issues with automatic proxy buildingRichard Antalik
After merging patches and resolving conflicts, typo prevented correct operation. This uncovered crash on NULL dereference as well.
2021-03-17Geometry Nodes: Add initial version of mesh primitivesHans Goudey
This commit includes nodes to build the following primitives: - Cone - Cylinder - Circle - Cube - UV Sphere - Ico Sphere - Line - Plane/Grid In general the inputs are the same as the corresponding operators in the 3D view. **Line Primitive** The line primitive has two modes-- adding vertices between two end points, or adding vertices each at an offset from the start point. For the former mode, there is a choice between a vertex count and a distance between each point. **Plane Primitive** This commit includes the "Plane" and "Grid" primitives as one node. Generally primitives are named after the simpler form of the shape they create (i.e. "Cone" can make some more complex shapes). Also, generally you want to tweak the number of subdivisions anyway, so defaulting to plane is not an inconvenience. And generally having fewer redundant base primitives is better. **Future Improvements** A following patch proposes to improve the speed of the cylinder, cone, and sphere primitives: D10730. Additional possible future improvements would be adding subdivisions to the cube node and rings to the cone and cylinder nodes. Differential Revision: https://developer.blender.org/D10715
2021-03-16Grease Pencil: Add LineArt modifierYimingWu
This adds the LineArt grease pencil modifier. It takes objects or collections as input and generates various grease pencil lines from these objects with the help of the active scene camera. For example it can generate contour lines, intersection lines and crease lines to name a few. This is really useful as artists can then use 3D meshes to automatically generate grease pencil lines for characters, enviroments or other visualization purposes. These lines can then be baked and edited as regular grease pencil lines. Reviewed By: Sebastian Parborg, Antonio Vazquez, Matias Mendiola Differential Revision: http://developer.blender.org/D8758
2021-03-16VSE: Automatic proxy buildingRichard Antalik
Build proxies automatically when added to sequencer timeline and when switching preview size. This behavior can be disabled in user preferences. Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D10363
2021-03-16VSE: Simplify proxy settingsRichard Antalik
- Remove Full Render size from VSE preview size. Use just 100% instead. - Add Use Proxies checkbox to control whether proxies are used globally - Move preview size to top so it is most prominent - Set default to 100% preview size and use proxies Reviewed By: sergey, fsiddi Differential Revision: https://developer.blender.org/D10362
2021-03-16LibOverride: tweak log messages, fix crash in log code.Bastien Montagne
One of the log call could use freed memory.
2021-03-16Compositor: Redesign Cryptomatte node for better usabilityJeroen Bakker
In the current implementation, cryptomatte passes are connected to the node and elements are picked by using the eyedropper tool on a special pick channel. This design has two disadvantages - both connecting all passes individually and always having to switch to the picker channel are tedious. With the new design, the user selects the RenderLayer or Image from which the Cryptomatte layers are directly loaded (the type of pass is determined by an enum). This allows the node to automatically detect all relevant passes. Then, when using the eyedropper tool, the operator looks up the selected coordinates from the picked Image, Node backdrop or Clip and reads the picked object directly from the Renderlayer/Image, therefore allowing to pick in any context (e.g. by clicking on the Combined pass in the Image Viewer). The sampled color is looked up in the metadata and the actual name is stored in the cryptomatte node. This also allows to remove a hash by just removing the name from the matte id. Technically there is some loss of flexibility because the Cryptomatte pass inputs can no longer be connected to other nodes, but since any compositing done on them is likely to break the Cryptomatte system anyways, this isn't really a concern in practise. In the future, this would also allow to automatically translate values to names by looking up the value in the associated metadata of the input, or to get a better visualization of overlapping areas in the Pick output since we could blend colors now that the output doesn't have to contain the exact value. Idea + Original patch: Lucas Stockner Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D3959
2021-03-16Fix T86332: Error using lambda in annotations in Python 3.10Campbell Barton
Callbacks used in `bpy.props` didn't hold a references to the functions they used. While this has been the case since early 2.5x it didn't cause any problems as long as the class held a reference. With Python 3.10 or when using `from __future__ import annotations`, the annotations are no longer owned by the class once evaluated. Resolve this by holding a reference in the module, which now supports traverse & clear callbacks so the objects are visible to Python's garbage collector. Also refactor storage of Python data, moving from an array into a struct.
2021-03-15Spreadsheet: support showing data from original/unevaluated objectJacques Lucke
There are two caveats of the current implementation which still need to be resolved in a separate step: * In theory the data on the original object can be editable in the spreadsheet. * If a complex object is in edit mode, and its original data is displayed, the drawing code can be slow, because the bmesh is converted to a mesh every time. The proper solution is to draw the data from the bmesh directly. This should become easier after an upcoming refactor. Ref T86141. Differential Revision: https://developer.blender.org/D10701
2021-03-15Spreadsheet: add status barJacques Lucke
This implements the status bar as footer region in the spreadsheet editor. It shows the total number of rows and columns as well as how many rows are actually visible (based on the filter). The implementation stores the stats in a runtime struct during drawing and the status bar reads from that struct. Ref T86142. Differential Revision: https://developer.blender.org/D10693
2021-03-14Nodes: Add distance float socket typeHans Goudey
This is necessary to make float sockets display a value with the unit system. `PROP_DISTANCE` will be used quite a lot by the mesh primitives geometry nodes patch. Differential Revision: https://developer.blender.org/D10711
2021-03-13Geometry Nodes: Add Attribute Convert nodeCharlie Jolly
The Attribute Convert node provides functionality to change attributes between different domains and data types. Before it was impossible to write to a UV Map attribute with the attribute math nodes since they did not output a 2D vector type. This makes it possible to "convert into" a UV map attribute. The data type conversion uses the implicit conversions provided by `\nodes\intern\node_tree_multi_function.cc`. The `Auto` domain mode chooses the domain based on the following rules: 1. If the result attribute already exists, use that domain. 2. If the result attribute doesn't exist, use the source attribute domain. 3. Otherwise use the default domain (points). See {T85700} Differential Revision: https://developer.blender.org/D10624
2021-03-12LibOverride Auto Resync: Add option to disable it in Experimental userpref.Bastien Montagne
Some older .blend files won't react nicely to auto-resync, they need to get manually fixed with `resync enforce` first.
2021-03-12LibOverride: Add a new operation to Outliner to enforce resync of hierarchies.Bastien Montagne
This is basically done by ignoring override operations from old override affecting ID pointer properties, when the new (destination) one is not NULL. Fix T86501: New object added to overridden collection doesn't show up in linking file on Resync. This is more of a work-around actually, since there is no real way to fix the issue in a fully automated and consistent way, it is caused by older blender files being saved with 'broken' overrides. WARNING: This cannot ensure that some purposedly edited/overridden ID pointer properties won't be lost in the process.
2021-03-11LibOverride: First stage of detection of 'need resync'.Bastien Montagne
We can fairly easily detect some resync-needed cases when applying the overrides operations on a Pointer RNA property. This should cover all cases where an existing override's ID pointer is changed in its linked data. We still have to add code to detect when a not-yet-overridden linked ID needs to become overridden (because its relations to other data-blocks changed in a way that requires it). Part of T83811 & D10649.
2021-03-11Spreadsheet: expore more domains and point cloud dataJacques Lucke
Ref T86135. Differential Revision: https://developer.blender.org/D10681
2021-03-10DNA: add defaults for UnifiedPaintSettingsSiddhartha Jejurkar
Newly created scenes had unified paint settings zeroed. see T80164 Ref D10658
2021-03-10Spreadsheet: new spreadsheet editorJacques Lucke
This implements the MVP for the new spreadsheet editor (T85879). The functionality is still very limited, but it proved to be useful already. A more complete picture of where we want to go with the new editor can be found in T86279. Supported features: * Show point attributes of evaluated meshes (no original data, no other domains, no other geometry types, yet). Since only meshes are supported right now, the output of the Point Distribute is not shown, because it is a point cloud. * Only show data for selected vertices when the mesh is in edit mode. Different parts of Blender keep track of selection state and original-indices with varying degrees of success. Therefore, when the selected-only filter is used, the result might be a bit confusing when using some modifiers or nodes. This will be improved in the future. * All data is readonly. Since only evaluated data is displayed currently, it has to be readonly. However, this is not an inherent limitation of the spreadsheet editor. In the future editable data will be displayed as well. Some boilerplate code for the new editor has been committed before in rB9cb5f0a2282a7a84f7f8636b43a32bdc04b51cd5. It would be good to let the spreadsheet editor mature for a couple of weeks as part of the geometry nodes project. Then other modules are invited to show their own data in the new editor! Differential Revision: https://developer.blender.org/D10566
2021-03-09Graph Editor: FCurve Show Extrapolation ToggleWayde Moss
Adds toggle to graph editor (View->Show Extrapolation). When disabled, then fcurves only draw over the keyframe range. For baked fcurves and ghost fcurves, the range is all sampled points. It is intended for frequent use so anybody could assign hotkey or add to quick favorites that's why GE-View is the best place for it. Show Extrapolation is the default. Reviewed By: sybren, Stan1, looch Differential Revision: http://developer.blender.org/D10442
2021-03-09Cleanup: Document `ensure()`-like behaviour of `KeyMaps.new()`Sybren A. Stüvel
Document the fact that `bpy.types.KeyMaps.new()` will not create a new keymap but instead return an existing one, if one with the given name/space/region already exists. No functional changes.
2021-03-09Cleanup: add missing full stop to docstring of functionSybren A. Stüvel
No functional changes.
2021-03-09UI: Clean up sub-panel for new boolean modifier optionsHans Goudey
A few changes to make this consistent with other modifier panels: - Title case for UI labels - Use property split (and therefore decorators) - Declare sublayout variables after getting modifier info
2021-03-08Cleanup: Move LibOverride debug prints to CLOG.Bastien Montagne
2021-03-08Spreadsheet: add boilerplate code for new editor typeJacques Lucke
This adds the initial boilerplate code that is required to introduce the new spreadsheet editor. The editor is still hidden from the ui. It can be made visible by undoing the change in `rna_screen.c`. This patch does not contain any business logic for the spreadsheet editor. Differential Revision: https://developer.blender.org/D10645 Ref T86279.
2021-03-08UI: UVProject modifier: clarify aspect & scale are only for cameraPhilipp Oeser
projectors Make this clear in property UI descriptions and deactivate aspect & scale fields if no camera projectors are present. ref T86268 Maniphest Tasks: T86268 Differential Revision: https://developer.blender.org/D10634
2021-03-08Cleanup: add use prefix for booleanCampbell Barton
2021-03-08Speedup for usual non-manifold exact boolean case.Howard Trickey
The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles.
2021-03-05Cleanup: Rename func occurences to _fnSebastián Barschkis
Use _fn as a suffix for callbacks.
2021-03-05Animation: add function to apply a pose from an ActionSybren A. Stüvel
Add `BKE_pose_apply_action(object, action, anim_eval_context)` function and expose in RNA as `Pose.apply_action(action, evaluation_time)`. This makes it possible to do the following: - Have a rig in pose mode. - Select a subset of the bones. - Have some Action loaded that contains the pose you want to apply. - Run `C.object.pose.apply_pose_from_action(D.actions['PoseName'])` - The selected bones are now posed as determined by the Action. Just like Blender's current pose library, having no bones selected acts the same as having all bones selected. Manifest Task: T86159 Reviewed By: Severin Differential Revision: https://developer.blender.org/D10578
2021-03-05Asset Browser Space API: add `activate_asset_by_id()` functionSybren A. Stüvel
Add an RNA function `activate_asset_by_id(asset_id: ID, deferred: bool)` to the File Browser space type, which intended to be used to activate an asset's entry as identified by its `ID *`. Calling it changes the active asset, but only if the given ID can actually be found. The activation can be deferred (by passing `deferred=True`) until the next refresh operation has finished. This is necessary when an asset has just been added, as it will be loaded by the filebrowser in a background job. Reviewed By: Severin Differential Revision: https://developer.blender.org/D10549
2021-03-05UI: Add Presets for high framerate videoAaron Carlisle
It is quite common to high framerate video with modern cameras. To make it easier to edit this footage new framerate presets are added and the soft limit increased. Note there is a bug with preset ordering, Blender thinks "120" goes before "24" this bug needs to be fixed before these changes can be merged. Differential Revision: https://developer.blender.org/D10553
2021-03-05UI: save-preview tip now states that it's used for blend thumbnailsCampbell Barton
2021-03-04Fix T86209: Preference Defaults "Relative Paths" tooltip could be improved.Bastien Montagne
This UserPref setting is only used when no path is set yet.
2021-03-03Cleanup: make formatJacques Lucke
2021-03-03Fix (unreported) Outliner missing updates copying IDs via pythonPhilipp Oeser
Steps to reproduce: - switch to Scripting workspace - execute bpy.data.meshes['Cube'].copy() - Outliner will not show the new mesh immediately Now just send appropriate notifier. Differential Revision: https://developer.blender.org/D10584
2021-03-02Python API: Expose CurveMapping Reset View functionPatrick Busch
The Python API for the curve mapping widget offers the `update` function, but no way to reset the view to the clipping rectangle. This commit adds a blenkernel function for this operation, and exposes it to the CurvMapping RNA API. This allows addons to display a more user-friendly view of the data in this widget. Differential Revision: https://developer.blender.org/D10561
2021-03-02UI: Clean up labels and descriptions: "Draw" to "Display"William Reynish
In Blender, we used to use the term 'draw' to refer to information displayed to the user. For version 2.80, it was decided to change these instances to 'display' instead. This was to avoid the ambiguity between end-user drawing tools and display options. From the Oxford English Dictionary: - Draw: produce (a picture or diagram) by making lines and marks on paper with a pencil, pen, etc. - Display: show (data or an image) on a computer, television, or other screen. Therefore, we should use draw when referring to drawing tools for making marks, but use display when referring to information shown/displayed to the user. From a user POV, the computer displays certain information, whereas the user draws a mark. Apparently this change was not implemented consistently, so this patch changes all remaining relevant instances of "draw". Differential Revision: https://developer.blender.org/D10551
2021-03-02Cleanup: remove unused argumentsRichard Antalik
2021-03-02VSE: Refactor VSE strip loading codeRichard Antalik
Isolate RNA and operator logic from functions that create strips. - Operator specific code was removed from `SeqLoadInfo` structure and `SEQ_add_*` functions. - Strip loading code was removed from RNA and operator functions. - `SEQ_add_*` API was unified to work on `SeqLoadData` struct. Only exception is image strip, which require files to be loaded separately to strip creation itself. This is not ideal, but I think it's acceptable. - Some functions and variables were refactored so the code reads better. There are minor functional changes (coincidental bugfixes): - Operator errors are reported per-strip. Previously they were not reported at all? - `new_sound()` RNA API function now create sound with length of 1 if source file does not exist. Previously it created strip with length of 0. - Replace selection operator property wasn't working correctly. Fixed in this patch. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9760
2021-03-02Cleanup: RNA: Remove useless setter of PoseBone's custom shape.Bastien Montagne
If the property is properly tagged, RNA knows how to deal with ID usercount by itself, no need of a custom setter callback for that.
2021-03-01Fix T85981: Undo on linked rig with overrides loses custom shapes.Bastien Montagne
While generally speaking bone shapes objects should not be overridden, it can happens in some cases, and should be properly supported then.
2021-02-27Fix error converting simulated events press/release to clicksCampbell Barton
Move logic that sets previous event state into WM_event_add_simulate.
2021-02-27RNA: add Region.data member to access RegionView3DCampbell Barton
Without this, the RegionView3D could only be accessed from `context.region_data`, not the region.