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-01-17Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-17Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-17RNA: report an error when the name property is set twiceCampbell Barton
This helps avoid copy-paste errors which have happened a few times, no functional changes.
2021-01-17Fix workspace tool name propertyCampbell Barton
The fallback tool was used as the tool name. Regression in a8ce9a143abbb51eae28e5d0cae1fb310bd0c24c
2021-01-16GPencil: Add new parameteres to transform layersAntonio Vazquez
When using grease pencil for drawing Storyboards, it's very common to require a transform of the layers. This transform can be done using the offset modifier, but in some cases, the scene requires a lot of modifiers and makes the file hard to work. This new feature adds a transforms Location, Rotation and Scale at Layer level, and allows to transform the layer without using a modifier, keeping the scene more clean. {F9480695} This feature was suggested by @pepeland after receiving feedback from several artists. Also, done some code cleanup and rename some functions to get a better naming. Maniphest Tasks: T83660 Differential Revision: https://developer.blender.org/D9761
2021-01-16Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-16Add Object Tool: remove from experimentalCampbell Barton
Based on feedback from @dbystedt, include this in 2.92 with some updates (coming next).
2021-01-15Cleanup: Remove Unused tracking propertiesAaron Carlisle
These properties are unused and serve no purpose. Reviewed By: sergey, #motion_tracking Differential Revision: https://developer.blender.org/D9803
2021-01-15LibOverride: fix/update/re-enable ID-related debug checks in diffing code.Bastien Montagne
We should now have the tools to ensure consistency of ID pointers diffing in `rna_property_override_diff_propptr`. As a reminder, for most ID pointers we just check the actual pointer value, but this is not possible for embedded IDs like root node trees or master collections, and for fake embedded ones like shapekeys, so those should be handled as mere sub-data of their owner IDs in override context.
2021-01-15Fix T84373: Overrides : shapes keys driven by armature don't work on second ↵Bastien Montagne
instance. Code generating override operations would not deal properly with Pointer RNA properties, trying by default to use and check pointers' names properties like it does with items of a collection. However, using name property in pointer RNA property case makes no sense, so specialize the `no_prop_name` flag for each case (pointer or collection). here, since second override would generate local data-blocks with different names than the linked data ones, name matching would fail and breck handling of override diffing in shapekeys. Note that shape keys are the only one concerned by that problem, since other embedded IDs (root node trees and master collections) are fully real ones, so they always get the same names.
2021-01-15Fix T84373: Overrides : shapes keys driven by armature don't work on second ↵Bastien Montagne
instance. Code generating override operations would not deal properly with Pointer RNA properties, trying by default to use and check pointers' names properties like it does with items of a collection. However, using name property in pointer RNA property case makes no sense, so specialize the `no_prop_name` flag for each case (pointer or collection). here, since second override would generate local data-blocks with different names than the linked data ones, name matching would fail and breck handling of override diffing in shapekeys. Note that shape keys are the only one concerned by that problem, since other embedded IDs (root node trees and master collections) are fully real ones, so they always get the same names.
2021-01-15RNA: support range-based for loops in C++ apiJacques Lucke
Cycles has a lot of code like this: ```lang=c++ BL::Object::modifiers_iterator b_mod; for (b_ob->modifiers.begin(b_mod); b_mod != b_ob->modifiers.end(); ++b_mod) { ``` Range-based for loops allow us to simplify this to: ```lang=c++ for (BL::Modifier &b_mod : b_ob->modifiers) { ``` In order to support this, a collection (such as `b_ob->modifiers`) must have a `begin()` and `end()` method, that take no parameters and return an iterator. The `end` method already exists, but the `begin` method takes the iterator as argument currently. This patch adds a new `begin` method that returns the iterator. The old `begin` method is still available to avoid breaking existing code. My assumption is that the old `begin` method took the iterator as parameter so that the iterator is not copied or moved, i.e. its memory address is stable and the destructor is only called once. I'm not sure if both of these requirements are really necessary to ensure that the iterators work correctly. To be on the safe side, I deleted the copy/move constructors/assignment operators. Since C++17 there is "guaranteed copy elision" which basically allows us to return a non-copyable and non-movable type from a function. To make that work, I had to add a new constructor to `CollectionIterator` that calls `begin` on itself. Reviewers: brecht Differential Revision: https://developer.blender.org/D10120
2021-01-15Gpencil Noise - Add noise offset parameterCody Winchester
This patch adds a noise offset option to the grease pencil noise modifier. It allows the user to animate the noise along the length of the stroke to create movement that is currently not possible. It works by adding an offset to the noise table and adding the remaining floating point value to the noise table sampling. Reviewed By: #grease_pencil Differential Revision: https://developer.blender.org/D10021
2021-01-15Use mmap() IO for reading uncompressed .blendsLukas Stockner
Instead of submitting tons of tiny IO syscalls, we can speed things up significantly by `mmap`ing the .blend file into virtual memory and directly accessing it. In my local testing, this speeds up loading the Dweebs file with all its linked files from 19sec to 10sec (on Linux). As far as I can see, this should be supported on Linux, OSX and BSD. For Windows, a second code path uses `CreateFileMapping` and `MapViewOfFile` to achieve the same result. Reviewed By: mont29, brecht Differential Revision: https://developer.blender.org/D8246
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
2021-01-14GPencil: Noise Modifier - Move noise seed value outside of randomize subpanelCody Winchester
Currently the grease pencil noise modifier seed value is under the randomize subpanel. Moved the seed value outside of this panel because it doesn't only change the noise when using the randomize option. Moving the seed value prevents it from being hidden/greyed out so the user can manually keyframe it to control the noise animation. Reviewed By: #grease_pencil, antoniov Differential Revision: https://developer.blender.org/D10020
2021-01-13Fix T84686: Node vector socket default values not animate-ableHans Goudey
{rB1d3b92bdeabc} disabled animating other properties of the socket default values, like the "min" and "max" properties, as well as the "default_value" of the "default_value". That naming confusion lead to the commit inadvertently removing animation for the vector socket in RNA. I checked that the other socket types don't have the same issue.
2021-01-13Geometry Nodes: Add "Point Translate" and "Point Scale" nodesHans Goudey
The translate node moves every point in the geometry, and the scale node multiplies the "scale" attribute of the input geometry by its input. While these operations are already possible with the "Attribute" nodes, these new nodes fit nicely with the nodes specifically for changing the "rotation" attribute that already exist, and they provide a simpler way to do the same thing. Differential Revision: https://developer.blender.org/D10100
2021-01-13UI: Use capital letters for X Y and Z axesHans Goudey
Also add another comma and use plural "axes".
2021-01-13Geometry Nodes: Rename "Rotate Points" to "Point Rotate"Hans Goudey
This is consistent with the other node names, giving (almost) all of the nodes in the "Point" category the same prefix.
2021-01-13UI: Revert design changes to data-block selector for the 2.92 releaseJulian Eisel
Partially reverts 2250b5cefee7. Removing the user count and fake user count icons was controversial (which was expected) and there are a few further changes needed, that won't make it in time for the release, see D9946. While there is a design to bring back the user count and fake user indicators, a new design idea was proposed that the UI team wants to follow. This came too late for the 2.92 release, the new design is targeted at the 2.93 release now. Meanwhile, UI team decision was to simply revert the design changes. The new design is being worked on in https://developer.blender.org/T84669. Note that this commit does not revert some internal changes done in 2250b5cefee7. Namely the introduction of `ed_util_ops.c` and data-block operators in there. These will still be needed in the new design.
2021-01-13Geometry Nodes: improve Point Distribute nodeJacques Lucke
This greatly simplifies the Point Distribute node. For a poisson disk distribution, it now uses a simpler dart throwing variant. This results in a slightly lower quality poisson disk distribution, but it still fulfills our requirements: have a max density, minimum distance input and stability while painting the density attribute. This new implementation has a number of benefits over the old one: * Much less and more readable code. * Easier to extend with other distribution algorithms. * Easier to transfer more attributes to the generated points later on. * More predictable output when changing the max density and min distance. * Works in 3d, so no projection on the xy plane is necessary. This is related to T84640. Differential Revision: https://developer.blender.org/D10104
2021-01-13RNA: allow editing pointer IDProperty values from the UI.Alexander Gavrilov
Currently it is not possible to edit bare IDProperty pointer values which are not explicitly defined through python via UI fields. This is likely mostly because, unlike numeric values, pointers aren't marked PROP_EDITABLE by default. However there are also some bugs in the RNA code that need fixing. The Geometry Nodes modifier uses bare properties to store input settings for the node group it wraps, so supporting Object and Collection sockets requires editable pointers. This patch marks bare IDProperties editable, and ensures that changing ID pointers rebuilds the dependency graph. A type check is needed because an IDPROPERTY PointerPropertyRNA can actually wrap a group value rather than an ID pointer. Making pointers editable is not likely to accidentally affect UI fields that were not intended to be editable, because a simple `layout.prop` cannot determine which datablocks to display in the menu and remains read-only. The PROP_NEVER_UNLINK flag is also removed: it seems it was added because the edit field that couldn't produce a menu to set the pointer used to still display the unlink button, but that seems not to be the case anymore. Actual support for Object & Collection inputs in the modifier is added in D10056, which can be used to test this code. Differential Revision: https://developer.blender.org/D10098
2021-01-13RNA: fix a crash when setting bare IDProperty pointers.Alexander Gavrilov
The rna_idproperty_check call should be done before accessing the prop pointer so that it can detect IDProperty values and replace them with the actual PointerPropertyRNA object. Ref D10098
2021-01-13Asset System: Disable Asset Browser as experimental featureJulian Eisel
The Asset Browser will be disabled and not available for the 2.92 release. In alpha/beta builds, there will be an "Asset Browser" option under Preferences > Experimental, if the developer extras are enabled. Note that this also disables related UI elements (e.g. "Mark Asset" buttons, Preferences settings for asset libraries, etc.). The code is still in master of course, development and testing will continue there. But there simply needs to be too much polishing and fixing before the 2.92 release, plus there are some design decisions to be reevaluated. Check the milestone 1 project to follow ongoing work: https://developer.blender.org/project/view/124/
2021-01-13Compositor: "Save as Render" for the file output nodeRobert Guetzkow
This commit adds the "Save as Render" feature to the file output node, that allows to disable the application of the configured view transform and other color management settings on the image. If disable it uses the standard view transform instead. This feature was originally suggested in T83842 and is part of the color management improvements task in T68926. With this feature it is possible to toggle the application of the color management settings for each input socket of the File Output node individually. Reviewed By: brecht Maniphest Tasks: T68926, T83842 Differential Revision: https://developer.blender.org/D9921
2021-01-13Cleanup: rename enum for event value itemsCampbell Barton
This contains all value items (with overlapping values), name this to make it clear it contains all items.
2021-01-13Fix WM_event_print error printing tweak events valueCampbell Barton
2021-01-13Fix Event.value RNA access with tweak event typesCampbell Barton
Accessing event.value would return unrelated values such as PRESS, RELEASE, CLICK... etc. instead of NORTH, SOUTH... etc.
2021-01-13Cleanup: clang-format, trailing spaceCampbell Barton
2021-01-13UI: Clarify the property name of "F-Curve Visibility"Hans Goudey
"F-Curve Visibility" is a bad UI label for a property that only affects the display of unselected F-Curves. This commit clarifies the property name by making it more specific with the word "Unselected", and by using the word "Opacity". "F-Curve" is redundant in the UI label anyway because it is included in the panel title. Resolves T82587 Differential Revision: https://developer.blender.org/D10027
2021-01-12Geometry Nodes: new Align Rotation to Vector nodeJacques Lucke
This adds a new Align Rotation to Vector node based on the mockup in T83669. Reviewers: HooglyBoogly, simonthommes Differential Revision: https://developer.blender.org/D10081
2021-01-12Fix T84588: Cache access in rna_Particle_uv_on_emitterRobert Guetzkow
The function `rna_Particle_uv_on_emitter` did not handle the case where `particle->num_dmcache` was `DMCACHE_ISCHILD`. This resulted in an incorrect offset for the `mtface` pointer. The commit checks for the case and sets the offset accordingly, similar to existing code in e.g. `particle_calculate_parent_uvs`. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10072
2021-01-11Geometry Nodes: Attribute Vector Math NodeHans Goudey
This patch implements the same operations and interface as the regular vector math node, but it runs for every element of the attribute. This should expand what's possible with geometry nodes quite a bit. Differential Revision: https://developer.blender.org/D9914
2021-01-11Cloth: add a vertex group setting to exclude from object collision.Alexander Gavrilov
This can be useful as a workaround on the boundary with the pinned vertices in some situations among other things, and completely copies the existing design of the self collision vertex group setting. Differential Revision: https://developer.blender.org/D10043
2021-01-11Collision: allow disabling collision without removing the modifier.Alexander Gavrilov
The `object.collision.use` flag was treated as a redundant marker of the existence of the modifier, going as far as adding/removing it when the value was changed, which is not actually very useful. Removing the modifier loses its position in the stack, and requires a dependency graph rebuild. It feels it may be a legacy flag? What would be useful however is the ability to toggle collisions dynamically without removing the modifier. This patch adjusts the code to keep the modifier when the flag is disabled, and add it if it doesn't exist when the flag is enabled. The modifier now checks the flag at the start and quickly exits after cleaning up stale data. The redesigned setting is exposed in the UI. Collisions can't be disabled by simply using the modifier enable flags because the modifier merely saves a snapshot of the mesh at a certain point of the modifier stack for other objects to use, and thus has to be able to clear the stale data. Differential Revision: https://developer.blender.org/D10064
2021-01-11Fix T84516: ID properties have incorrect names in Python dir() listBrecht Van Lommel
Caused by not going through the proper accessor function to access the property identifier.
2021-01-11Fluid: Adjusted viscosity strength step size in UISebastián Barschkis
Step size was too small.
2021-01-10UI: Improve node group input / output list interfaceHans Goudey
This commit replaces the two-column list for editing node group inputs and outputs with a cleaner solution with two panels. The new layout has several benefits: - It uses the vertical space in the node editor sidebar better. - It should be more familiar because of similarity with other UI lists. - It should look better with consistent alignment and icons. Note that displaying the "Name" property outside of the list itself is a bit inconsistent and could possibly be removed in the future. Differential Revision: https://developer.blender.org/D9683
2021-01-10Fix T83777: Crash when enabling guidesSebastián Barschkis
Also adjusted adjusted guiding UI parameters so that guiding will not get invalidated when changing domain values.
2021-01-08Scenes: forbid deleting last local sceneJacques Lucke
Previously, it was only forbidden to delete the last scene. This can lead to the situation where a .blend file only contains linked scenes. This is problematic, because linked data might not always be available or can be removed from a .blend file without having an additional check for remaining scenes. Now there always has to be at least one local scene. Reviewers: mont29 Differential Revision: https://developer.blender.org/D10049
2021-01-08Cleanup: clang formatPhilipp Oeser
2021-01-08Fix T84475: Outliner missing update when adding IDs to main via RNAPhilipp Oeser
Was reported for meshes, but was true for any type. Now add appropriate notifier to refresh the Outliner. Maniphest Tasks: T84475 Differential Revision: https://developer.blender.org/D10030
2021-01-08Use the term "N-gon" instead of "Polygon" for triangulation methodPhilipp Oeser
This was reported for the Triangulate geometry node, but was also true for the triangulate modifier and in exporters. Note the modifier was introduced with "Ngon Method" in rBa7b44c82e5b9 but was renamed to "Polygon Method" in rBf4762eb12ba5. Since quads are also polygons (and quads have their own method), the term "N-gon" is more appropriate here and is also described in the glossary https://docs.blender.org/manual/en/2.92/glossary/ index.html#term-N-gon Docs have been updated in rBM7539 (partially - the method would also have to be renamed once this patch lands). Note this also fixes the wrong enum used for the alembic exporter. Fixes T83907 Maniphest Tasks: T83907 Differential Revision: https://developer.blender.org/D10022
2021-01-07Fix T83497: missing relations update when group node changesJacques Lucke
Changing which node group a group node references needs a depsgraph relations update in some cases. Differential Revision: https://developer.blender.org/D10018
2021-01-07RNA: document Python instancing for ID's and RNA typesCampbell Barton
Document some of the less obvious implications for re-using Python instances.
2021-01-07UI: Fix various issues with UI textYevgeny Makarov
- Use the name "Point Cloud" instead of "Pointcloud" - Fix a typo in UV_OT_smart_project. - Use the name "Install Light" to for the installation operator for MatCaps, HDRIs, and Studio Lights. Fixes T83585, T65291, and T54921 Differential Revision: https://developer.blender.org/D9867
2021-01-06UI: Use the 3D cursor icon for the RNA structHans Goudey
Since there is a specific icon to represent the 3D cursor it makes sense to add it to the RNA struct. This struct's icon is only displayed in the Data API section of the outliner.
2021-01-06Fix T84202: Sculpt lasso mask crash after remesh.Bastien Montagne
'Caused'/revealed by rBd29a720c45e5: Operators that fully re-create the mesh would previously rely on `sculpt_update_object` called from update code to get required sculpt-specific data layers re-added to the new mesh. Now instead put all code adding data to orig mesh for sculpt purpose into a new util function (`BKE_sculpt_ensure_orig_mesh_data`), and call that function when entering sculpt mode, and from voxel remesher code. This is contonuing effort to more clearly separate orig data from evaluated data handling/usage in sculpt code. TODO: there are likely other code paths that would need to call that new function? Reviewers: @sergey, @pablodp606 Subscribers:
2021-01-06Fix T83372: Point.select can be True when unselectedCampbell Barton