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-08-10Merge branch 'blender-v3.3-release'Aras Pranckevicius
2022-08-10Render: remove camera shift hard limitsBrecht Van Lommel
There is no need for these to be limited to -10..10, soft limits are enough. Contributed by fundorin. Differential Revision: https://developer.blender.org/D15650
2022-08-10Realtime Compositor: Add evaluator and engineOmar Emara
This patch adds the core realtime compositor evaluator as well as a compositor draw engine powered by the evaluator that operates in the viewport. The realtime compositor is a new GPU accelerated compositor that will be used to power the viewport compositor imminently as well as the existing compositor in the future. This patch only adds the evaluator and engine as an experimental feature, the implementation of the nodes themselves will be committed separately. See T99210. Differential Revision: https://developer.blender.org/D15206 Reviewed By: Clement Foucault
2022-08-09WM Modal Keymaps: Add accessors to modal event values.Bastien Montagne
It is currently impossible to access modal keymaps' event values (from `propvalue` enum) from python code (for API introspection). This is needed for i18n messages extraction (see D15607). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15643
2022-08-09WM Modal Keymaps: Add accessors to modal event values.Bastien Montagne
It is currently impossible to access modal keymaps' event values (from `propvalue` enum) from python code (for API introspection). This is needed for i18n messages extraction (see D15607). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15643
2022-08-09Cleanup: use own username in code-comment tagsCampbell Barton
2022-08-06Merge branch 'blender-v3.3-release'Howard Trickey
2022-08-06LineArt: Usability improvement for "Enclosed Shapes".YimingWu
This patch removes the [rather confusing] separate checkbox for enclosed shapes in favour of integrating that option into illumination filtering, with the benefit of not limiting the selection to cached result. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D15327
2022-08-04Attempt to fix build errors on MSVCJulian Eisel
Same as 03cd79411924, but using a different cast (see 9b9417b66150).
2022-08-04Outliner: Use UI names and grouping for library overrides propertiesJulian Eisel
NOTE: This is committed to the 3.3 branch as decided by Bastien, Dalai and me. That is because these are important usability fixes/improvements to have for the LTS release. Part of T95802. Showing properties with an RNA path in the UI isn't very user friendly. Instead, represent the RNA path as a tree, merging together parts of the RNA path that are shared by multiple properties. Properties and "groups" (RNA structs/pointers) are now shown with their UI name and an icon if any. The actually overridden properties still show the Library Overrides icon. See the patch for screenshots. Also: When a RNA collection item, like a modifier or constraint was added via a library override, indicate that item and show all collection items in the list, since the complete list of items and their orders may be important context. Differential Revision: https://developer.blender.org/D15606
2022-08-04Cleanup: Move RNA path functions into own C++ fileJulian Eisel
NOTE: This is committed to the 3.3 branch as part of D15606, which we decided should go to this release still (by Bastien, Dalai and me). That is because these are important usability fixes/improvements to have for the LTS release. Adds `rna_path.cc` and `RNA_path.h`. `rna_access.c` is a quite big file, which makes it rather hard and inconvenient to navigate. RNA path functions form a nicely coherent unit that can stand well on it's own, so it makes sense to split them off to mitigate the problem. Moreover, I was looking into refactoring the quite convoluted/overloaded `rna_path_parse()`, and found that some C++ features may help greatly with that. So having that code compile in C++ would be helpful to attempt that. Differential Revision: https://developer.blender.org/D15540 Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-08-04UI: Pass modifier & constraint icon to the corresponding RNA base typeJulian Eisel
NOTE: This is committed to the 3.3 branch as part of D15606, which we decided should go to this release still (by Bastien, Dalai and me). That is because these are important usability fixes/improvements to have for the LTS release. This basically lets the UI use the constraint or modifier icon, whenever refering to constraints/modifiers via RNA pointers. Used by D15606, so that the "Modifiers" tree element to group the individual modifiers together gets the right icon without hardcoded handling.
2022-08-04Fix T99460: Allow creation new datablocks from evaluatedSergey Sharybin
This changes makes it possible to copy evaluated result and put it to the original bmain. Prior to this change from the API point of view there was false perception that it is possible, while in practice it was very fragile: it only worked if the ID did not reference any evaluated IDs. This change makes it so `id.copy()` Python API call will make it so the copied ID only references original data-blocks. This sounds a bit implicit, so here is motivational aspect why it is considered better approach to all other: - There needs to be a way to support the described scenario, in the lest fragile way. Requiring to always use an explicit function call or an argument is too verbose and is easy to be missed. - The `id.copy()` is already doing implicit thing: it always adds the result to the bmain. So it might as well ensure the copied result does not reference evaluated data-blocks. - Added clarity in the documentation should address possible confusion. The limitation of this change is that the copy() of evaluated geometry will clear its reference to the shape key. This is because the key is only referenced for validness of RNA paths for drivers and the key itself might not match topology of evaluated geometry due to modifiers. Differential Revision: https://developer.blender.org/D15611
2022-08-04Outliner: Use UI names and grouping for library overrides propertiesJulian Eisel
Part of T95802. Showing properties with an RNA path in the UI isn't very user friendly. Instead, represent the RNA path as a tree, merging together parts of the RNA path that are shared by multiple properties. Properties and "groups" (RNA structs/pointers) are now shown with their UI name and an icon if any. The actually overridden properties still show the Library Overrides icon. See the patch for screenshots. Also: When a RNA collection item, like a modifier or constraint was added via a library override, indicate that item and show all collection items in the list, since the complete list of items and their orders may be important context. Differential Revision: https://developer.blender.org/D15606
2022-08-04UI: Pass modifier & constraint icon to the corresponding RNA base typeJulian Eisel
This basically lets the UI use the constraint or modifier icon, whenever refering to constraints/modifiers via RNA pointers. Used by D15606, so that the "Modifiers" tree element to group the individual modifiers together gets the right icon without hardcoded handling.
2022-08-04Cleanup: quiet unused warningCampbell Barton
2022-08-04Fix T97251: Store generated type information for each UDIM tileJesse Yurkovich
Various situations can lead to un-saved UDIM tiles potentially losing their contents. The most notable situation is a save and re-load of a .blend file that has "generated" UDIM tiles that haven't been written to disk yet. Normal "generated" images are reconstructed on demand in these circumstances but UDIM tiles do not retain the information required for reconstruction and empty tiles are presented to the user. This patch stores the generated type information for each tile to solve this particular issue. It also shifts the Image generation info into the 1st tile. The existing DNA fields are deprecated but RNA was modified as to not break API compat. There's two broad changes here that merit special callout: - How to distinguish between a tile that should be reconstructed vs. a tile that should remain empty because loading failed for the UDIMs - How to better handle Image Source changes The first issue is addressed as follows: - Each time a tile is filled with generated content we set a new IMA_GEN_TILE flag - Each time a tile is saved to disk we remove the IMA_GEN_TILE flag - When requesting an ibuf: If the ibuf is null, we check to see if IMA_GEN_TILE is set. If it is set, go ahead and re-create the tile. Otherwise, do nothing. The second set of changes have to do with ensuring that information is carried along as far as possible when the, sometimes destructive, act of changing an Image Source is performed. Behavior should be a bit more natural and expected now; though users will rarely, or should rarely, be modifying this property. The full table describing the behavior is in the differential. Differential Revision: https://developer.blender.org/D14885
2022-08-04Cleanup: spelling, code-blocksCampbell Barton
2022-08-02Cleanup: Simplify functions for adding and removing color attributesHans Goudey
The specific functions for vertex colors and and sculpt vertex colors can be replaced by more generic attribute functions internally. Also remove a paramter from one function.
2022-08-02Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-02Fix T100133: Crash when linking an evaluated object to a collection.Bastien Montagne
Note that ideally, we should have a protection mechnism at global RNA level, making e.g. any evaluated data read-only... But for now, give better (and more consistent) protection for the collections' link/unlink of children collections and objects.
2022-08-01Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-01tweaks & fixes to UI messages.Bastien Montagne
2022-07-29Cleanup: Replace reinterpret_cast<> with static_cast<> in UI codeJulian Eisel
2022-07-29Fix attempt for MSVC build error after 42ccbb7cd1d5Julian Eisel
2022-07-29Cleanup: Move RNA path functions into own C++ fileJulian Eisel
Adds `rna_path.cc` and `RNA_path.h`. `rna_access.c` is a quite big file, which makes it rather hard and inconvenient to navigate. RNA path functions form a nicely coherent unit that can stand well on it's own, so it makes sense to split them off to mitigate the problem. Moreover, I was looking into refactoring the quite convoluted/overloaded `rna_path_parse()`, and found that some C++ features may help greatly with that. So having that code compile in C++ would be helpful to attempt that. Differential Revision: https://developer.blender.org/D15540 Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-07-29Cleanup: quiet warnings in recent BLF and rna_ui changesCampbell Barton
2022-07-29Cleanup: Use const context argument for UIList callbacksHans Goudey
2022-07-27Fix build include for rna_curves.cThomas Dinges
* Since curves are no longer experimental, this should be included at any time.
2022-07-27Geometry Nodes: Rename "Field on Domain" to "Interpolate Domain"Hans Goudey
This name doesn't require understanding of fields, and is phrased as an action which is consistent with other nodes. Discussed in the latest geometry nodes sub-module meeting.
2022-07-26Python: Expose property to mute action groupsFalk David
This patch adds a `mute` RNA property on `ActionGroup`s that allows them to be easily muted/unmuted from python. This uses the existing `AGRP_MUTED` flag which was also accessible from the user interface. Reviewed By: sybren Differential Revision: https://developer.blender.org/D15329
2022-07-26Fix T98798: tag collection geometry when changing instance offsetJacques Lucke
Changing the instance offset moves the entire "collection geometry". So other features that depend on the geometry should be reevaluated.
2022-07-26Fix T98982: cannot change default value of some node group input typesJacques Lucke
2022-07-26GPencil: Update curve handle display after change overlay optionAntonio Vazquez
The handles were not updated after changing the settings. This is a partial fix of T99984
2022-07-25UI: Nishita sky: Increase Sun Elevation UI sensitivity and remove min/maxClément Foucault
This now use default angle precision which matches the sun rotation. Feeling is much more natural.
2022-07-24Render: Update lightgroup membership in objects and world if lightgroup is ↵Lukas Stockner
renamed As discussed, this only updates objects in and the world of the scene to which the view layer belongs, which also avoids the problem of not having a BMain available. Differential Revision: https://developer.blender.org/D14740
2022-07-21Cleanup: add ISMOUSE_MOTION macroCampbell Barton
Replace verbose ELEM(..) usage, now each kind of mouse event has it's own macro.
2022-07-21Cleanup: spelling in comments, typos in tool-tipsCampbell Barton
2022-07-20Fix T99340: Image.frame_duration returning wrong value when image not loadedBrecht Van Lommel
The logic here was broken in d5f1b9c, it should load the image first.
2022-07-20IDManagement: Speedup ID unique name assignment by tracking used ↵Aras Pranckevicius
names/basenames/suffixes An implementation of T73412, roughly as outlined there: Track the names that are in use, as well as base names (before numeric suffix) plus a bit map for each base name, indicating which numeric suffixes are already used. This is done per-Main/Library, per-object-type. Timings (Windows, VS2022 Release build, AMD Ryzen 5950X): - Scene with 10k cubes, Shift+D to duplicate them all: 8.7s -> 1.9s. Name map memory usage for resulting 20k objects: 4.3MB. - Importing a 2.5GB .obj file of exported Blender 3.0 splash scene (24k objects), using the new C++ importer: 34.2s-> 22.0s. Name map memory usage for resulting scene: 8.6MB. - Importing Disney Moana USD scene (almost half a million objects): 56min -> 10min. Name map usage: ~100MB. Blender crashes later on when trying to render it, in the same place in both cases, but that's for another day. Reviewed By: Bastien Montagne Differential Revision: https://developer.blender.org/D14162
2022-07-20Constraints: add checks to specially handle the custom space target.Alexander Gavrilov
- The custom space target never needs B-Bone data (used by depsgraph). - When drawing the relationship lines use the space matrix directly. - Don't use the custom target to control the target space type dropdown. Differential Revision: https://developer.blender.org/D9732
2022-07-20Point Cloud: Remove redundant custom data pointersHans Goudey
Similar to e9f82d3dc7eebadcc52, but for point clouds instead. Differential Revision: https://developer.blender.org/D15487
2022-07-20Curves: Remove redundant custom data pointersHans Goudey
These mutable pointers present problems with ownership in relation to proper copy-on-write for attributes. The simplest solution is to just remove them and retrieve the layers from `CustomData` when they are needed. This also removes the complexity and redundancy of having to update the pointers as the curves change. A similar change will apply to meshes and point clouds. One downside of this change is that it makes random access with RNA slower. However, it's simple to just use the RNA attribute API instead, which is unaffected. In this patch I updated Cycles to do that. With the future attribute CoW changes, this generic approach makes sense because Cycles can just request ownership of the existing arrays. Differential Revision: https://developer.blender.org/D15486
2022-07-19Fix T99583: Missing update for option in particle edit modePratik Borhade
Missing Ui refresh when property is accessed through shortcut. Use RNA_def_property_update to solve this. Differential Revision: https://developer.blender.org/D15431
2022-07-19Cleanup: Remove compile option for curves objectHans Goudey
After becb1530b1c81a408e20 the new curves object type isn't hidden behind an experimental flag anymore, and other areas depend on this, so disabling curves at compile time doesn't make sense anymore.
2022-07-19RNA: Don't allocate empty char pointer propertiesHans Goudey
Instead of allocating a single 0 char, set the `char *` DNA pointer to null. This avoids the overhead of allocating and copying single-bytes. rBeed45b655c9f didn't do this for safety reasons, but I checked the existing uses of this behavior in DNA/RNA. Out of 43 total `char *` members, this change only affects 7 recently added properties. For a complete list, see the patch description. Differential Revision: https://developer.blender.org/D14779
2022-07-19Nishita sky: Increase elevation rangeClément Foucault
The Nishita sky texture currently only allows moving the sun to the zenith. The problem is if you want to animate the passing of a full night-day-night cycle. Currently it's not easy to do due to this limitation. The patch makes it so users can easily animate the sun moving from sunrise to sunset by expanding the max sun elevation to go 360° instead of 90°. Reviewed By: fclem Differential Revision: https://developer.blender.org/D13724
2022-07-19Animation RNA: Add `clear()` method to FCurveKeyframePointsColin Basnett
Add `FCurveKeyframePoints.clear()` method to delete all keyframe points from an FCurve. Reviewed By: sybren Differential Revision: https://developer.blender.org/D15283
2022-07-18Subdiv: remove unused GPU device choice, fix crash with libepoxy on initBrecht Van Lommel
openSubdiv_init() would detect available evaluators before any OpenGL context exists, causing a crash with libepoxy. This test however is redundant as we already check the requirements on the Blender side through the GPU API. To simplify things, completely remove the device detection in the opensubdiv module and reduce the evaluators to just CPU and GPU. The plan here is to move to the GPU module abstraction over OpenGL/Metal/Vulkan and so all these different backends no longer make sense. This also removes the user preference for OpenSubdiv compute device, which was not used for the new GPU subdivision implementation. Ref D15291 Differential Revision: https://developer.blender.org/D15470
2022-07-15Render: camera depth of field support for armature bone targetsDamien Picard
This is useful when using an armature as a camera rig, to avoid creating and targetting an empty object. Differential Revision: https://developer.blender.org/D7012