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-26Cleanup: use 'len_v2'Germano Cavalcante
Simplifies readability and avoids repeat casts.
2022-08-26Merge branch 'blender-v3.3-release'Germano Cavalcante
2022-08-26Transform: Use more general approach to node view updateGermano Cavalcante
With rBe6a557952ead, concerns were reported about missing updates when the view is moved other than through the Edge Pan system. Although the transform operator blocks navigation in general, it is good to avoid these cases.
2022-08-26Merge branch 'blender-v3.3-release'Germano Cavalcante
2022-08-26Fix T100632: Regression: Node border snap guide line not drawing properlyGermano Cavalcante
Caused by {rBd2271cf93926}. Color values were being used without being initialized.
2022-08-26Fix T100633: Node Editor: Edge scrolling breaks node snappingGermano Cavalcante
The view offset, calculated by the Edge Pan system, only affects the position of the nodes, but forget to update: - snapping data - final value of transform - values used for custom drawing Therefore, to avoid having to update a lot of scattered data, the `transformViewUpdate` utility has been implemented to recalculate input values when the view changes. This utility does more than is necessary to fix the bug, but with that, it can work in any situation.
2022-08-26Fix T100633: Node Editor: Edge scrolling breaks node snappingGermano Cavalcante
The view offset, calculated by the Edge Pan system, only affects the position of the nodes, but forget to update: - snapping data - final value of transform - values used for custom drawing Therefore, to avoid having to update a lot of scattered data, the `transformViewUpdate` utility has been implemented to recalculate input values when the view changes. This utility does more than is necessary to fix the bug, but with that, it can work in any situation.
2022-08-26Cleanup: use booleansCampbell Barton
2022-08-26Cleanup: reduce variable scopeCampbell Barton
2022-08-26Cleanup: spelling in comments, formatCampbell Barton
2022-08-25Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-25Fix T100255: Make RigidBodyWorld (and effector_weights) collections refcounted.Bastien Montagne
Those collections were so far mainly just tagged as fake user (even though a few places in code already incremented usercount on them). Since we now clear the fakeuser flag when linking/appending data, ensure that these collections are preserved by making these usages regular ID refcounting ones. Reviewed By: brecht Differential Revision: https://developer.blender.org/D15783
2022-08-25Keyframing: replace mat3_to_quat_is_ok with mat4_to_quatCampbell Barton
Added [0] which notes in most cases results are the same but in some cases the result seems better. While true at the time of writing since then mat3_to_quat has been improved and used for nearly all matrix to quaternion conversion. 0: 876cfc837e2f065fa370940ca578983d84c48a11
2022-08-25BLI_math: ensure non-negative matrices for mat3_to_quat calculationsCampbell Barton
Making the callers responsible for this isn't practical as matrices are often passed indirectly to a functions such as mat3_to_axis_angle, BKE_object_mat3_to_rot & BKE_pchan_mat3_to_rot. Or the matrix is combined from other matrices which could be negative. Given quaternions calculated from negative matrices are completely invalid and checking only needs to negate matrices with a negative determinant, move the check into mat3_to_quat and related functions. Add mat3_normalized_to_quat_fast for cases no error checking on the input matrix is needed such as blending rotations.
2022-08-25Fix matrix/quaternion conversion with negative scaled camerasCampbell Barton
2022-08-24Cleanup: Move outliner types to namespace, avoid C-style type definitionJulian Eisel
With C++ we should transition towards namespaces to avoid naming collisions. Having the namespace in place is the first step for that transition. Plus, the `typedef` isn't necessary for struct/class/enum definitions in C++, so avoid the verbosity it adds.
2022-08-24Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-24Cleanup warning about missing pointer casting.Bastien Montagne
2022-08-24Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-24LibOverride: Fix (unreported) crashes in some cases, preserve active object ↵Bastien Montagne
on Clear, general cleanup. Inconsistencies in update/tagging code between different code doing the same 'Clear. liboverride operation lead to crashes in some cases. Unify deg tagging and WM notifiers accross the three editor-level codepaths performing the common Make/Reset/Clear operations. Preserve if possible the active object accross Clear operation. Several cleanup/rename/re-arangement of code to make it more consistent.
2022-08-24Cleanup: rename new IDTemplate operator to create overrides to `make`.Bastien Montagne
Matches other operators' names and UI labels better.
2022-08-24Merge branch 'blender-v3.3-release'Campbell Barton
2022-08-24Fix T100606: Apply object transform fails with delta quaternion rotationCampbell Barton
Apply transform failed to clear delta quaternion & axis-angle rotation.
2022-08-24Merge branch 'blender-v3.3-release'Philipp Oeser
2022-08-24Fix T100590: Crash when changing active image texture nodePhilipp Oeser
Mistake in own rBc76d7f7bde35. Happened when no image was set in the Image Editor already (which is now checked for). Maniphest Tasks: T100590 Differential Revision: https://developer.blender.org/D15761
2022-08-24Cleanup: formatCampbell Barton
2022-08-23Fix T100494: Broken sculpt hide status undo/redoHans Goudey
Caused by 2480b55f216c31 using the undo step indices instead of the indices of vertices in the mesh, causing the hide values to be swapped around randomly in the mesh.
2022-08-23Cleanup: Avoid using invalid attribute domainHans Goudey
The number of attribute domains isn't an attribute domain, so storing ATTR_DOMAIN_NUM in a variable with an eAttrDomain type isn't correct. In the cases it was used, the value wouldn't be accessed anyway.
2022-08-23Depsgraph: use more fine grained update tags for scenesBrecht Van Lommel
Ref D15710, this avoids unnecessary sequencer updates for some operations.
2022-08-23Merge branch 'blender-v3.3-release'Richard Antalik
2022-08-23Cleanup: formatCampbell Barton
2022-08-23ImBuf: Optimize GPU memory by using 1 component format for grayscale imagesJeroen Bakker
This is done by checking the number of bitplanes from the image buffer. We assume that for float buffer to use the same bitplanes as it was a byte buffer. Then, the data of the image buffer is packed at the start of the `rect` or `float_rect` before upload. **Statistics - einar.v004.blend ** Note that not all grayscale textures have been stored as BW images so the amount of memory that can be reduced would be more. Without patch ``` 104 Textures - 3294.99 MB (3294.47 MB over 32x32), 37 RTs - 192.52 MB. Avg. tex dimension: 2201.88x1253.51 (2283.53x2202.13 over 32x32) 464 Buffers - 25.01 MB total 1.24 MB IBs 23.50 MB VBs. 3512.52 MB - Grand total GPU buffer + texture load ``` Patch applied ``` 104 Textures - 2917.66 MB (2917.14 MB over 32x32), 39 RTs - 215.45 MB. Avg. tex dimension: 2221.38x1252.75 (2323.28x2253.47 over 32x32) 467 Buffers - 25.01 MB total 1.24 MB IBs 23.51 MB VBs. 3158.13 MB - Grand total GPU buffer + texture load. ``` Reviewed By: fclem Differential Revision: https://developer.blender.org/D15484
2022-08-23I18n: make workspaces translatableDamien Picard
This makes workspaces more translatable: - New Workspace menu - header - preset menus - preset entries - workspace names upon factory file template load - new workspace name upon workspace addition To properly translate those names, an extraction function for workspace names from app templates was added as well. (Do not do anything when loading a user-saved file!) Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15727
2022-08-23Merge branch 'blender-v3.3-release'Philipp Oeser
2022-08-23Fix T99493: better syncing between Node Editor and Image EditorPhilipp Oeser
Since {rBb0cb0a785475}, changing the active texture in the Node Editor would also change the current image in the Image Editor. While this was an overall improvement, this was not desired when the image currently looked at was a `Render Result` or a `Viewer Node` (artists usually want to keep focus on these). With this patch, syncing the active texture change from the Node Editor to the Image Editor will now only happen if the Image Editor's current image is not a Render Result or a Viewer Node. NOTE: Syncing the active paint slot to the Image Editor still happens (even if the Image Editor's current image is not a Render Result or a Viewer Node), behavior was not changed since this is a much more explicit action while texture painting and probably desired in that case. Maniphest Tasks: T99493 Differential Revision: https://developer.blender.org/D15749
2022-08-23Merge branch 'blender-v3.3-release'Jacques Lucke
2022-08-23Fix T100579: internal links are drawn when sockets are hiddenJacques Lucke
2022-08-23Cleanup: match names between functions & declarationsCampbell Barton
2022-08-22Merge branch 'blender-v3.3-release'Bastien Montagne
Conflicts: release/scripts/startup/bl_ui/space_userpref.py
2022-08-22I18n: systematically tag all messages in `RNA_ENUM_ITEM_HEADING`.Bastien Montagne
Add missing labels, and also add tooltips. Unfortunately there is no way currently to extract two messages from a single 'function' call, so unless those type of macros become very widely used, would keep it as manual tagging. Also disambiguate `case` in text context, pretty sure English is one of the very rare languages to use this word for character case too.
2022-08-22I18n: disambiguate a few translationsDamien Picard
- Keying (keyframe insertion) - Roughness (particle children) - New image, collection, text (in menus) - Parents (particles) - Wrap (text) - Light (add menu) - Empty (volume add menu) - Empty (empty add menu) - Cycles (f-curve modifier) - Drag (workspace tool type) - Power (light intensity) - Power (math nodes) This last change also moves all math operations in nodes to the ID_nodetree context. It's needed only for some operations, but we can't be more granular here. Also... - Fix context extraction for interpolation mode headers in F-Curves and GPencil interpolation operator - Enable new translation: "Slot %d" in image editor - Fix an English message in the node editor: "Replace the input image's alpha channels by..." -> channel Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15694
2022-08-22Merge branch 'blender-v3.3-release'Bastien Montagne
2022-08-22Fix T100527: Right click in the attribute name field crashes blender.Bastien Montagne
`UI_context_active_but_prop_get_templateID` became much more widely used with recent rBfec254364884, which revealed that it did not do any check on actual type of data it accesses, resulting easily in undefined behavior. Now also check the callback function pointer, this should be safe enough. Patch by @Severin (Julian Eisel), many thanks!
2022-08-22Cleanup: match names between functions & declarationsCampbell Barton
Mostly update the declarations, in some cases rename in the function especially when the names used were inconstant with related functions.
2022-08-22Cleanup: move model authors from the doc-string to the implementationCampbell Barton
There is no need for details like this in API doc-strings.
2022-08-21Fix T100430: Restore larger node socket snap hitboxLeon Schittek
Restore old hitbox for connecting links to sockets. Commit rBd9d97db018d2 improved the node socket snapping when nodes are close together by decreasing the tolerance around the cursor when checking for nodes in front, that might occlude the socket. In doing so it also reduced the hitbox of the node socket itself that extended outside of the node. This commit restores the old node socket hitbox while keeping the improved behavior when nodes are close together with the following changes: 1) When looking for the socket under the cursor, iterate through the nodes front to back, which prioritizes node sockets in the foreground. 2) Instead of checking for another node underneath the cursor it checks if the socket is actually occluded by another node. The way the occlusion test for sockets is tweaked you can now connect to sockets that are only partially occluded, which is a bit more forgiving than previously. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D15731
2022-08-21Fix T100430: Restore larger node socket snap hitboxLeon Schittek
Restore old hitbox for connecting links to sockets. Commit rBd9d97db018d2 improved the node socket snapping when nodes are close together by decreasing the tolerance around the cursor when checking for nodes in front, that might occlude the socket. In doing so it also reduced the hitbox of the node socket itself that extended outside of the node. This commit restores the old node socket hitbox while keeping the improved behavior when nodes are close together with the following changes: 1) When looking for the socket under the cursor, iterate through the nodes front to back, which prioritizes node sockets in the foreground. 2) Instead of checking for another node underneath the cursor it checks if the socket is actually occluded by another node. The way the occlusion test for sockets is tweaked you can now connect to sockets that are only partially occluded, which is a bit more forgiving than previously. Reviewed By: Hans Goudey Differential Revision: http://developer.blender.org/D15731
2022-08-19Outliner: Workaround for big performance issue in Library Overrides modeJulian Eisel
When displaying the Hierarchies view of the Library Overrides display mode in a specific Heist production file, Blender would become unresponsive for about 30 seconds and every redraw in the Outliner would lag noticably. Issue is that the sum of hierarchy elements is multiple thousands, and that really brings the Outliner to its knees. I've looked into some improvents and committed a few minor ones already, but it seems it's really the big sum of elements causing the issue. There doesn't appear to be a single bottle-neck. To work around this, "lazy build" children, so that children of collapsed elements are not actually created. This brings the tree building down to some tens of miliseconds, and redrawing becomes rather lag-free again, even with big parts of the tree un-collapsed. Problem: Searching still needs to build the entire tree, so it's essentially unusable right now. Should we disallow searching altogether?
2022-08-19Outliner: Refactor how lazy-building of children is doneJulian Eisel
Makes the lazy-building (where children are only built when the parent isn't collapsed) more generic, so more display modes can use it. So far this was hardcoded for the "Data API" display mode. This will be used to work around a big performance issue with the Library Overrides Hierachies view in a complex production file, see following commit.
2022-08-19Outliner: Workaround for big performance issue in Library Overrides modeJulian Eisel
When displaying the Hierarchies view of the Library Overrides display mode in a specific Heist production file, Blender would become unresponsive for about 30 seconds and every redraw in the Outliner would lag noticably. Issue is that the sum of hierarchy elements is multiple thousands, and that really brings the Outliner to its knees. I've looked into some improvents and committed a few minor ones already, but it seems it's really the big sum of elements causing the issue. There doesn't appear to be a single bottle-neck. To work around this, "lazy build" children, so that children of collapsed elements are not actually created. This brings the tree building down to some tens of miliseconds, and redrawing becomes rather lag-free again, even with big parts of the tree un-collapsed. Problem: Searching still needs to build the entire tree, so it's essentially unusable right now. Should we disallow searching altogether?