Revision a344f20 by Hans Goudey March 2, 2021, 18:43 (GMT) |
UI: Rename search button variable I landed D10527 in rB1a8aee0a7cec accidentally, and the version there was missing a name change discussed in review. This commit just renames the boolean variable controlling the special behavior for attribute search. Original message meant for this change: For geometry nodes we will use search buttons to display a list of attributes available the last time the node tree was executed (D10519). Because this list is just a hint, we need to be able to enter any string, not just strings from the search items. This patch adds a boolean option to string buttons to enable this. The change is quite simple, changes to behavior are only required in two places. The type-specific button struct changes help a lot here. Differential Revision: https://developer.blender.org/D10527 |
Revision 81c7709 by Sebastián Barschkis March 2, 2021, 18:08 (GMT) |
CMake/deps: Append platform CFLAGS and LDFLAGS to Python build to ensure compatibility with minimum macOS version Similarly to other dependencies, the Python build should make use of the default CMake arguments. On macOS, for example, these arguments are required to set the deployment target correctly. See also: https://devtalk.blender.org/t/compiling-latest-branch-on-macos-fails-undefined-symbol/17649 Reviewed By: brecht, sybren Differential Revision: https://developer.blender.org/D10498 |
March 2, 2021, 17:58 (GMT) |
UI: Clean up labels and descriptions: "Draw" to "Display" 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 |
Revision 1a8aee0 by Hans Goudey March 2, 2021, 17:42 (GMT) |
UI: Expose an "is first search" boolean to search button callbacks Currently when you open an RNA collection search button, like a vertex group selector, the search filter isn't applied until you start typing, in order to display every option at the start. Otherwise they wouldn't be visible, since the search filter would run for the current text. Currently this check happens in one place, but it relies on the `changed` value of `uiBut`. This is fine in the interface directory, but anywhere else it would require exposing `uiBut.changed`, which is probably too low-level to expose. The solution is adding an `is_first` argument to the search callbacks, which is nice for a few reasons: - They work at a higher level of abstraction, meaning they don't have to worry about how exactly to tell if this is the first search. - It makes it easier to do special behavior when the search menu is first opened. - Then, obviously, it makes that state accessible without including `interface_intern.h`. Needed for attribute search: T85658 Differential Revision: https://developer.blender.org/D10528 |
Revision 5a3b7c5 by Hans Goudey March 2, 2021, 17:08 (GMT) |
Fix Node UI Storage Threading Issues Since the same node tree can be used in modifiers on different objects, there can be multiple threads writing to the maps in the node tree UI storage at the same time. The additions for attribute name hints and error messages made it so this would often cause a crash or at least an ASAN report. This patch adds locks to prevent multiple threads from using the maps concurrently. In a brief test I actually didn't observe a crash without the global `bNodeTree` UI storage mutex, but I think it's necessary for the change to be correct, and I did notice some unfreed memory without it anyway. Ideally it would be in a node tree runtime struct though. Differential Revision: https://developer.blender.org/D10577 |
Revision 3a29c19 by Clément Foucault March 2, 2021, 17:00 (GMT) |
EEVEE: Fix incorrect volumetric light shadowing The shadowing was computed on the light distance squared, leaking to much light since it was integrating the extinction behind the ligth itself. Also bump the maximum shadow max step to the actual UI values. Otherwise we get shadowing under evaluated because `dd` is too small. |
Revision 3d7a00b by Philipp Oeser March 2, 2021, 16:54 (GMT) |
Fix (unreported) light cache bake crash missing NULL check if there is no cache there to begin with. Differential Revision: https://developer.blender.org/D10581 |
Revision 9c604ab by Richard Antalik March 2, 2021, 16:47 (GMT) |
Fix Fuild error with lite build With audaspace disabled, function SEQ_add_sound_strip was declared as prototype. |
Revision 82e7032 by Pablo Dobarro March 2, 2021, 15:53 (GMT) |
Sculpt: Expand Operator Expand is a new operator for Sculpt Mode which is intended to be the main tool for masking, Face Set editing, interacting with the filters and pattern creation. The fundamentals of the tool are similar to the previous sculpt.mask_expand operator. It shares the same default shortcuts and functionality, making the previous operator obsolete. The shortcuts to execute the operator are: - Shift + A: Expand mask - Shift + Alt + A: Expand mask by normals - Shift + W: Expand Face Set - Shift + Alt + W: Resize current Face Set The main changes compared to the previous sculpt.mask_expand operator are: - Modal keymap, all operator options can be changed in real time while the operator is running. - Supports creating Mask, Face Sets and Sculpt Vertex Colors. - Much better code, new features can be easily integrated. Limitations: - All Mask operations are supported for Sculpt Vertex colors, but not exposed by default as their support is still experimental. - Dyntopo does not support any Face Set or Sculpt Vertex Colors. functionality (they are not implemented in general for Dyntopo). - Multires does not support any feature related to geodesic distances. - Multires does not support vertex colors. - Multires does not support recursions. - In Multires, Face Sets snaping does not initialize all current enabled Face Sets when toggling snapping. - In Multires, Face Sets are created at base mesh level (works by this by design, like any other tool). - Unlike the previous mask_expand operator, this one does not blur the mask by default after finishing Expand as that does not fit the new design. The mask can still be blurred by using the mask filter manually. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10455 |
Revision 7f36498 by Jeroen Bakker March 2, 2021, 15:21 (GMT) |
Fix T86026: Crash Opening Cryptomatte File. Not sure this fixes the root cause. It seems that memory corruption happens in dynstr. This patch replaces dynstr with a streamstring. |
Revision b3886c1 by Richard Antalik March 2, 2021, 14:21 (GMT) |
Fix crash on NULL dereference Caused by e1f3996d740c, `seq_update_meta_disp_range()` did not check if sequencer data exists. |
Revision ca2044f by Jeroen Bakker March 2, 2021, 13:27 (GMT) |
Fix T86122: Performance Debug View Viewport Not Working The performance debug menu isn't used that often anymore as render doc also show the timings. This patch will make sure that enabling the performance debug view (21) does not crash blender. |
Revision fece538 by Richard Antalik March 2, 2021, 13:21 (GMT) |
Cleanup: remove unused arguments |
Revision 8d6a79f by Clément Foucault March 2, 2021, 13:11 (GMT) |
Revision b9e1cc9 by Clément Foucault March 2, 2021, 12:56 (GMT) |
Fix T86138 EEVEE: Bake Indirect Lighting crash in 2.93 with older files This was caused by a missing version check. |
Revision f094b4f by Jacques Lucke March 2, 2021, 12:29 (GMT) |
Fix T86172: check if attribute is actually accessible The crash happened when the density in the Point Distribute node was above zero but so small, that no point was generated. In this case, there was a point cloud component, but the point cloud was empty, making some attributes unavailable. One could also make more attributes available in this case, but that can be done separately if necessary. |
Revision 1e7d8a4 by Clément Foucault March 2, 2021, 12:08 (GMT) |
EEVEE: Depth of field: Do not shrink highlights when using overblur This fixes the issue of bokeh size being smaller when using overblur. The additional overblur needs to be centered on the outer radius. |
Revision e1f3996 by Richard Antalik March 2, 2021, 11:54 (GMT) |
VSE: Refactor meta operators Move low level logic to module code and versioning logic to versioning code. Metas strip position was handled in diffrent way compared to other strips. This was introduced in c8b0d25794be as bugfix for T28158. I disagree with such design. Meta strips should be handled in same way as any other strips. I have tested this change and haven't found any problems. No problems after checking T28158 as well. There should be no functional changes on user level. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D9972 |
Revision b3005bf by Bastien Montagne March 2, 2021, 11:41 (GMT) |
Fix T85981, part II: bone's custom shape disappear on undo in some cases. Nicely hidden bug in pose read library code, it was using the library from the wrong ID as reference to relink the custom shape object pointer (pose is data from Object, not Armature). |
Revision bbb1936 by Richard Antalik March 2, 2021, 11:23 (GMT) |
VSE: Refactor VSE strip loading code 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 |
|
|
|


Master Commits
MiikaHweb | 2003-2021