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
2022-03-31OBJ: mark the new 3.1+ exporter as experimental for nowAras Pranckevicius
While it still has known issues/bugs/limitations. Also do not make it the very first export menu item, while at it. Differential: D14512
2022-03-23Fix T96515: Can not translate after selecting with Select CircleCampbell Barton
Correct ANY/PRESS value pairing with TWEAK/MOUSE event types.
2022-03-08Licenses: Attribution document for Blender 3.1Dalai Felinto
2022-03-08Docs: 3.1 release description for Linux appdataThomas Dinges
2022-03-08Fix T96228: TypeError on use of Copy from Active Track operationPratik Borhade
Issue was introduced after the python 3.10 switch Explicit conversion to int will fix the issue. Same issue is likely to happen with `MovieTrackingSettings.default_search_size` So I did the same change over there. Differential Revision: https://developer.blender.org/D14273
2022-03-07Fix T95591: Crash on drawing with measure tool with tweak fallback toolCampbell Barton
Using press to activate the Tweak tool doesn't work well when used a fallback tool as the drag event is often used by the current tool - making it impossible not to select when dragging (unless the fallback tool is disabled entirely). Resolve this by using CLICK events when the Tweak tool is used as a fallback. Even though this avoids the crash, check for null-pointer de-reference since changes to the key-map shouldn't cause operators to crash. Note that the ability for operators to access a gizmo before it's fully initialized is a more general problem that should be addressed, but out of scope for a bug-fix. Reviewed By: zeddb, JulienKaspar, Severin Maniphest Tasks: T95591 Ref D14231
2022-02-24Keymap: correct NDOF button roll assignmentCampbell Barton
NDOF ROLL CCW was used for both left & right roll.
2022-02-23Fix error with SPDX-License-IdentifierAaron Carlisle
2022-02-23Update RNA to user manual mapping fileAaron Carlisle
2022-02-23Fix T93331: Gizmo tool options reset when switching toolsCampbell Barton
Drag Action was constantly resetting itself to "move". Solve this by storing the tool settings per tool and no longer clear gizmo properties when activating a new tool.
2022-02-21Fix T92467: Path Selection broken when Drag is set to TweakCampbell Barton
When RMB-select uses "Select Tweak" as a fallback tool, ignore all bindings mapped to the Control key as these are used for path selection. This was fixed in 2a2d873124111b5fcbc2c3c59f73fd1f946c3548 however that caused shift-select to fail (T93100).
2022-02-17Fix T95368: wrong white point adaptation for Linear ACES color spaceBrecht Van Lommel
This affected loading of EXR files with set to Linear ACES colorspace, as well as the sky texture for in some custom OpenColorIO configurations. Use the builtin OpenColorIO transform from ACES AP0 to XYZ D65 to fix this.
2022-02-14Fix T95252: Move duplicate node doesn't do edge-panningHans Goudey
Set "view2d_edge_pan" to true for the NODE_OT_translate_attach operator, which is used by the duplication operator. This is done in the keymap so that it's not hard-coded. Differential Revision: https://developer.blender.org/D13934
2022-02-12Fix T91423: View Animation not working with stereoscopic animationsAaron Carlisle
The animation playback did not take into account individual stereoscopic views. This patch fixes this by playing back the active view render. Reviewed By: campbellbarton Maniphest Tasks: T91423 Differential Revision: https://developer.blender.org/D14070
2022-02-11Cycles: show Metal device in preferences also on Intel MacsBrecht Van Lommel
In anticipation of enabling AMD Metal support. Ref D14090, T92212
2022-02-11Remove 'New' from new Obj exporter menu entry.Howard Trickey
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-07Fix UI messages (typos etc.).Bastien Montagne
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-03Fix T93625: fallback tools don't work with RMB selectCampbell Barton
c9d9bfa84ad5cb985e3feccffa702b2f3cc2adf8 caused a regression in when the right-mouse select action was set to "Select & Tweak" (default). Now the fallback tool works with RMB select as it did before.
2022-02-02Draw Manager: Marked work around code.Jeroen Bakker
Mark the work around that was added for the VSE memory leak.
2022-01-283.1 splashscreenThomas Dinges
Credit: Lorenzo Aiello - https://orencloud.artstation.com/
2022-01-26Assets: allow creating preview image by rendering active objectJacques Lucke
For node groups there is no good default preview generation. Nevertheless, t would be useful to generate a preview image for a node group by rendering an object in some cases. This commit adds a new operator that allows updating the preview image for the active asset by rendering the active object. Note, the operator can also be used for other asset types, not just node groups. The operator can be found in a menu right below the refresh-preview button. Currently it is the only operator in that menu. In the future, more operators to create previews may be added. Differential Revision: https://developer.blender.org/D13747
2022-01-25Geometry Nodes: Initial merge by distance nodeHans Goudey
This implements a merge by distance operation for point clouds. Besides the geometry input, there are two others-- a selection input to limit the operation to certain points, and the merge distance. While it would be a reasonable feature, the distance does not support a field currently, since that would make the algorithm significantly more complex. All attributes are merged to the merged points, with the values mixed together. This same generic method is used for all attributes, including `position`. The `id` attribute uses the value from the first merged index for each point. For the implementation, most of the effort goes into creating a merge map to speed up attribute mixing. Some parts are inherently single-threaded, like finding the final indices accounting for the merged points. By far most of the time is spend balancing the KD tree. Mesh support will be added in the next commit. Differential Revision: https://developer.blender.org/D13649
2022-01-25Cycles: add Point Info nodeBrecht Van Lommel
With (center) position, radius and random value outputs. Eevee does not yet support rendering point clouds, but an untested implementation of this node was added for when it does. Ref T92573
2022-01-25Animation: Equalize Handle OperatorKevin C. Burke
The Equalize Handles operator allows users to make selected handle lengths uniform: either respecting their original angle from the key control point or by flattening their angle (removing the overshoot sometimes produced by certain handle types). Design: T94172 Reviewed by: sybren Differential Revision: https://developer.blender.org/D13702
2022-01-24Add workaround for broken interface query functions on Intel HD Graphics ↵Clment Foucault
4400 and 4600 Fixes T93680 For current drivers of Intel HD Graphics 4400 and 4600, various Program Introspection functions appear broken and return incorrect values, causing crashes in the current handling of SSBOs. Disable use of this feature on those devices. Add checks to features that use SSBOs (Hair and Subdivision Modifier). Reviewed By: fclem, jbakker Maniphest Tasks: T93680 Differential Revision: https://developer.blender.org/D13806
2022-01-24Geometry Nodes: Extrude Mesh NodeHans Goudey
This patch introduces an extrude node with three modes. The vertex mode is quite simple, and just attaches new edges to the selected vertices. The edge mode attaches new faces to the selected edges. The faces mode extrudes patches of selected faces, or each selected face individually, depending on the "Individual" boolean input. The default value of the "Offset" input is the mesh's normals, which can be scaled with the "Offset Scale" input. **Attribute Propagation** Attributes are transferred to the new elements with specific rules. Attributes will never change domains for interpolations. Generally boolean attributes are propagated with "or", meaning any connected "true" value that is mixed in for other types will cause the new value to be "true" as well. The `"id"` attribute does not have any special handling currently. Vertex Mode - Vertex: Copied values of selected vertices. - Edge: Averaged values of selected edges. For booleans, edges are selected if any connected edges are selected. Edge Mode - Vertex: Copied values of extruded vertices. - Connecting edges (vertical): Average values of connected extruded edges. For booleans, the edges are selected if any connected extruded edges are selected. - Duplicate edges: Copied values of selected edges. - Face: Averaged values of all faces connected to the selected edge. For booleans, faces are selected if any connected original faces are selected. - Corner: Averaged values of corresponding corners in all faces connected to selected edges. For booleans, corners are selected if one of those corners are selected. Face Mode - Vertex: Copied values of extruded vertices. - Connecting edges (vertical): Average values of connected selected edges, not including the edges "on top" of extruded regions. For booleans, edges are selected when any connected extruded edges were selected. - Duplicate edges: Copied values of extruded edges. - Face: Copied values of the corresponding selected faces. - Corner: Copied values of corresponding corners in selected faces. Individual Face Mode - Vertex: Copied values of extruded vertices. - Connecting edges (vertical): Average values of the two neighboring edges on each extruded face. For booleans, edges are selected when at least one neighbor on the extruded face was selected. - Duplicate edges: Copied values of extruded edges. - Face: Copied values of the corresponding selected faces. - Corner: Copied values of corresponding corners in selected faces. **Differences from edit mode** In face mode (non-individual), the behavior can be different than the extrude tools in edit mode-- this node doesn't handle keeping the back- faces around in the cases that the edit mode tools do. The planned "Solidify" node will handle that use case instead. Keeping this node simpler and faster is preferable at this point, especially because that sort of "smart" behavior is not that predictable and makes less sense in a procedural context. In the future, an "Even Offset" option could be added to this node hopefully fairly simply. For now it is left out in order to keep the patch simpler. **Implementation** For the implementation, the `Mesh` data structure is used directly rather than converting to `BMesh` and back like D12224. This optimizes for large extrusion operations rather than many sequential extrusions. While this is potentially more verbose, it has some important benefits: First, there is no conversion to and from `BMesh`. The code only has to fill arrays and it can do that all at once, making each component of the algorithm much easier to optimize. It also makes the attribute interpolation more explicit, and likely faster. Only limited topology maps must be created in most cases. While there are some necessary loops and allocations with the size of the entire mesh, I tried to keep everything I could on the order of the size of the selection rather than the size of the mesh. In that respect, the individual faces mode is the best, since there is no topology information necessary, and the amount of work just depends on the size of the selection. Modifying an existing mesh instead of generating a new one was a bit of a toss-up, but has a few potential benefits: - Avoids manually copying over attribute data for original elements. - Avoids some overhead of creating a new mesh. - Can potentially take advantage of future ammortized mesh growth. This could be changed easily if it turns out to be the wrong choice. Differential Revision: https://developer.blender.org/D13709
2022-01-24Cleanup: Grammar: its self vs. itselfHans Goudey
2022-01-21Fix: Object selection delay with many objectsRUben
With object collection properties open there was a huge delay when switching active objects in a large scene, (~10k objects, ~5m vertices). This is due to a non-optimal function to query all the collections the object is in. To solve this the code can be simplified by using `bpy.types.Object.users_collection` This returns all the collections the object is in removing the need to compute this in python.
2022-01-21Geometry Nodes: new Scale Elements nodesJacques Lucke
This node can scale individual edges and faces. When multiple selected faces/edges share the same vertices, they are scaled together. The center and scaling factor is averaged in this case. For some examples see D13757. Differential Revision: https://developer.blender.org/D13757
2022-01-21Geometry Nodes: Flip Faces NodeAlan Babu
Currently there is no way to flip normals in geometry nodes. This node makes that possible by flipping the winding order of selected faces. The node is purposely not called "Flip Normals", because normals are derived data, changing them is only a side effect. The real change is that the vertex and edge indices in the face corners of every selected polygon are reversed, and face corner attribute data is reversed. While there are existing utilities to flip a polygon and its custom data, this node aims to process an attribute's data together instead of processing all attributes separately for each index. Differential Revision: https://developer.blender.org/D13809
2022-01-21Attributes: add operator to convert generic attributes to other typesJacques Lucke
Editing of generic attributes on the original objects in edit modes is still very limited. However, when applying a geometry nodes modifier that generates new attributes. These attributes will show up in the Attributes panel. Currently, our exporters are not capable of exporting generic attributes. Therefore, for the time being, a work around is to apply geometry nodes and then convert a generic attribute to a task specific attribute like a uv map, vertex group or vertex color layer. Once more parts of Blender support generic attributes, this will become less important. Currently, only meshes are supported by the operator. However, it would be relatively easy to extend it to other geometry types. Differential Revision: https://developer.blender.org/D13838
2022-01-20Geometry Nodes: Curve Primitive ArcCharlie Jolly
This adds a new curve primitive to generate arcs. Radius mode (default): Generates a fixed radius arc on XY plane with controls for Angle, Sweep and Invert. Points mode: Generates a three point curve arc from Start to End via Middle with an Angle Offset and option to invert the arc. There are also outputs for arc center, radius and normal direction relative to the Z-axis. This patch is based on previous patches D11713 and D13100 from @guitargeek. Thank you. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D13640
2022-01-20Revert "Sculpt: Multires Heal Brush"Joseph Eagar
This reverts commit ae349eb2d50524b030f702b8ed3fd75531d4db7e.
2022-01-20Subdivision: add support for vertex creasingKévin Dietrich
This adds vertex creasing support for OpenSubDiv for modeling, rendering, Alembic and USD I/O. For modeling, vertex creasing follows the edge creasing implementation with an operator accessible through the Vertex menu in Edit Mode, and some parameter in the properties panel. The option in the Subsurf and Multires to use edge creasing also affects vertex creasing. The vertex crease data is stored as a CustomData layer, unlike edge creases which for now are stored in `MEdge`, but will in the future also be moved to a `CustomData` layer. See comments for details on the difference in behavior for the `CD_CREASE` layer between egdes and vertices. For Cycles this adds sockets on the Mesh node to hold data about which vertices are creased (one socket for the indices, one for the weigths). Viewport rendering of vertex creasing reuses the same color scheme as for edges and creased vertices are drawn bigger than uncreased vertices. For Alembic and USD, vertex crease support follows the edge crease implementation, they are always read, but only exported if a `Subsurf` modifier is present on the Mesh. Reviewed By: brecht, fclem, sergey, sybren, campbellbarton Differential Revision: https://developer.blender.org/D10145
2022-01-20Sculpt: Multires Heal BrushJoseph Eagar
This brush fixes the random spikes that occasionally happen in multires models. These spikes can be nearly impossible to fix manually and can make working with multires a nightmare.
2022-01-20Cleanup doc comments for sculpt_intern.hJoseph Eagar
2022-01-19Asset Browser: Add debug option to disable asset indexingJulian Eisel
Adds an "Asset Indexing" option (enabled by default) to Preferences > Experimental > Debugging. This is useful when working on the asset library loading.
2022-01-18Geometry Nodes: new Field at Index nodeJacques Lucke
This node allows accessing data of other elements in the context geometry. It is similar to the Transfer Attribute node in Index mode. The main difference is that this node does not require a geometry input, because the context is used. The node can e.g. be used to generalize what the Edge Vertices node is doing. Instead of only being able to get the position of the vertices of an edge, any field/attribute can be accessed on the vertices. Differential Revision: https://developer.blender.org/D13825
2022-01-18WM: batch rename support for volume & light object dataCampbell Barton
Also order items to match the "Add" menu.
2022-01-18WM: batch rename outliner support for various ID typesCampbell Barton
The outliner selection can now be used for renaming objects, object-data & materials.
2022-01-18Fix for batch rename operating on library collections & materialsCampbell Barton
2022-01-18Fix batch renaming selected meta-stripsCampbell Barton
2022-01-18WM: batch rename collections outside the outlinerCampbell Barton
Use selected objects collection instances to rename in the 3D view.
2022-01-18WM: batch rename collectionsRed Mser
User must activate the operator from the outliner, so that the selected collections can be determined. Reviewed By: campbellbarton Ref D13821
2022-01-18Cleanup: quite old-style-declaration warning, strip trailing spaceCampbell Barton
2022-01-17Texture/Vertex Paint: Add secondary color to the tool headerSebastian Parborg
Before we would only display the secondary color in the N-panel. Now we also display it in the tool header.
2022-01-17Alembic: add support for reading override layersKévin Dietrich
Override layers are a standard feature of Alembic, where archives can override data from other archives, provided that the hierarchies match. This is useful for modifying a UV map, updating an animation, or even creating some sort of LOD system where low resolution meshes are swapped by high resolution versions. It is possible to add UV maps and vertex colors using this system, however, they will only appear in the spreadsheet editor when viewing evaluated data, as the UV map and Vertex color UI only show data present on the original mesh. Implementation wise, this adds a `CacheFileLayer` data structure to the `CacheFile` DNA, as well as some operators and UI to present and manage the layers. For both the Alembic importer and the Cycles procedural, the main change is creating an archive from a list of filepaths, instead of a single one. After importing the base file through the regular import operator, layers can be added to or removed from the `CacheFile` via the UI list under the `Override Layers` panel located in the Mesh Sequence Cache modifier. Layers can also be moved around or hidden. See differential page for tests files and demos. Reviewed by: brecht, sybren Differential Revision: https://developer.blender.org/D13603
2022-01-14Info.plist: Bump LSMinimumSystemVersion to silence warningAnkit Meel
Didn't remove the key-value pair since old Xcode behavior is not known. warning: LSMinimumSystemVersion of '10.9.0' is less than the value of MACOSX_DEPLOYMENT_TARGET '10.13' - setting to '10.13'. (in target 'blender' from project 'Blender') Reviewed By: #platform_macos, brecht Differential Revision: https://developer.blender.org/D13831