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
path: root/source
AgeCommit message (Collapse)Author
2020-10-15Fix T76597: Support Keyframe: Copy To SelectedWayde Moss
Reviewed By: Sybren, Luciano Muñoz Sessarego Differential Revision: https://developer.blender.org/D7783
2020-10-15Fix error in previous commitJulian Eisel
Missing null-check, could lead to null-pointer dereference.
2020-10-15Cleanup: Refactor lookup for hovered Outliner element for renamingJulian Eisel
* Use existing and optimized lookup function, rather than own duplicated logic. * Move low-level coordinate check into general function, alongside similar ones.
2020-10-15Fix T81675: Renaming collapsed collection in Outliner renames nested itemsJulian Eisel
* `do_outliner_item_rename()` enables the rename mode for the item under the cursor. Issue is, collapsed children end up having stored the same coordinate as their parent, so they too would get the rename mode enabled (there is no early-exit that would hide this). * The items displayed as inline icons do get the proper coordinates of the icons, so they are not mistaken as being under the cursor. After rBb077de086e14, the Outliner tree is rebuilt less often, so the coordinates are cleared less often too. As far as I can see we can always clear coordinates of invisible items now. No code seems to depend on keeping the old coordinates anymore.
2020-10-15Silence warningDalai Felinto
2020-10-15Fix T81580: No doversion for Emission StrengthDalai Felinto
The new parameter made so that previously keyed Alpha values were lost and instead the new "Emission Strength" was keyed. Issue introduced with the original commit of Emission Strength: b248ec97769f Note: Files created since the issue (September 17) that keyframed the Emission Strength will have to fix their files manually. Differential Revision: https://developer.blender.org/D9221
2020-10-15Fix Cloth brush grab artifacts in the affected areaPablo Dobarro
The cloth brush grab mode was creating constraints at 1.0 strength in the area of the brush where the fade was evaluated to 1. This was causing stability issues in the simulation and not producing ideal results. Now the constraint strength is scaled with an empirically found factor. The values in this patch may require further tweaking after experimenting a little bit more with them. Reviewed By: sergey, zeddb Differential Revision: https://developer.blender.org/D9201
2020-10-15Fix T81743: Changed behaviour in RGB Curves node interpolationSybren A. Stüvel
Restore the old `correct_bezpart()` (pre-rBda95d1d851b4) function as `BKE_curve_correct_bezpart()`, and use that where the old behaviour was desired (that is, curve maps like used by the RGB Curves shader node). The new (post-rBda95d1d851b4) function is also renamed to `BKE_fcurve_correct_bezpart()` to avoid confusion.
2020-10-15Fix brush tip delta orientation with anchored strokesPablo Dobarro
When using anchored stroke, the stroke operator was modifying the coordinates on the "mouse" rna property by setting them to the original position. Because of this, all the sculpt delta calculation was failing and the delta for these brushes was set randomly (with a 0 vector) at the beginning of the stroke. There is now an extra property that uses the unmodified coordinates of the mouse to calculate the delta. Now delta orientation works as expected in all brushes and features that require brush tip orientation. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9183
2020-10-15Fix T81649: Cloth simulation dynamic area mode tearing the meshPablo Dobarro
Dynamic area should use the radius instead of the initial radius to get the nodes as the radius can now change during the stroke. In case of anchored strokes, the current radius can be bigger than the initial radius, simulating vertices outside the falloff area and breaking the mesh. Reviewed By: sergey Maniphest Tasks: T81649 Differential Revision: https://developer.blender.org/D9181
2020-10-15Sculpt: Use mpoly flags to sync Face Sets visibilityPablo Dobarro
Previously, all Face Set visibility logic was using mvert flags directly to store the visibility state on the vertices while sculpting. As Face Sets are a poly attribute, it is much simpler to use mpoly flags and let BKE_mesh_flush_hidden_from_polys handle the vertex visibility, even for Multires. Now all operators that update the Face Set visibility state will always copy the visibility to the mesh (using poly flags) and the grids, all using the same code. This should fix a lot of visibility glitches and bugs like the following: - Sculpt visibility reset when changing multires levels. - Multires visibility not updating in edit mode. - Single face visibible when surrounded by visibile face set, even when the face set was hidden. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9175
2020-10-15Fix Multires edge adjacency info returning wrong vertex indicesPablo Dobarro
ME_POLY_LOOP_NEXT and ME_POLY_LOOP_PREV expect the offset of the loop in the poly as an argument, in other words, corner index of the poly. This was violated in some places. It didn't cause issues when base mesh consists of only quads due to the way how modulus worked inside of the macro. However, if mesh had non-quad faces adjacency information was returning wrong vertex indices. This was causing multiple brushes to work erratically, including brushes like Face Set, Boundary automasking, mesh relax, and others. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9173
2020-10-15Sculpt: Add global automasking settings support in filtersPablo Dobarro
When using the sculpt filters, global automasking settings that affect all brushes were ignored because the automasking system was not implemented for filters, making filters and brushes react differently to the global sculpt settings which creates confusion. This makes all filter tools (mesh, cloth, color) use the same general automasking settings and features as the brush tools. Filters will now use the settings in the options panel to limit their effect. This also removes the "use Face Sets" option from the Mesh filter code, as it was duplicated from the automasking code just to have that funcitonality. This is now handled by the regular automasking system. The "Use Face Sets" option is still available in the cloth filter as that option limits the action of the forces, not the displacement. After this, it is possible to initialize the automasking system independently from the StrokeCache and Brush settings, so it can also be added to more tools and features in the future. Fixes T81619 Reviewed By: dbystedt, sergey Maniphest Tasks: T81619 Differential Revision: https://developer.blender.org/D9171
2020-10-15Sculpt: Use cursor depth in trimming gesturesPablo Dobarro
This adds an operator property to use the paint cursor radius and position for the depth of the trimming shape created by the trimming tools. When enabled, the shape is located in the surface point when the gesture started and it will have the depth of the cursor radius. When the cursor is not over the mesh, the shape will be positioned at the center of the depth of the whole object from the viewport camera. Reviewed By: dbystedt, sergey Differential Revision: https://developer.blender.org/D9129
2020-10-15Sculpt: Show paint brush cursor in all toolsPablo Dobarro
This patch enables the paint brush cursor with all tools in sculpt mode, even with the ones that are not brushes. The motivations for this change are: - The filters are using the position of the active vertex for certain features without any visualization of what the active vertex is. - You can call operators like mask expand (which depends on the brush cursor position and active vertex) with a non brush tool enabled. - Having the cursor in the rest of the tools allows to have a scene scale representation of the radius and a direct control of radius and strength (using the current brush shortcuts), which will allow to make features more intuitive without relying on modifying values in the topbar. For example, the brush radius can be used to control the depth of the cut in the trimming tools or the size of the sphere in the sphere mesh filter Reviewed By: #user_interface, dbystedt, pablovazquez Differential Revision: https://developer.blender.org/D9071
2020-10-15Fix mask expand creating wrong masks when the cursor is not over the meshPablo Dobarro
This forces the mask expand modal operator to use the maximum iteration when the cursor is not over the mesh, masking the entire connected component. This fixes the issue for both expanding masks and face sets. Reviewed By: sergey Differential Revision: https://developer.blender.org/D9105
2020-10-15Sculpt: Experimental Pen Tilt SupportPablo Dobarro
This adds support for pen tilt in sculpt mode. For now, pen tilt is used by tweaking the tilt strength property, which controls how much the pen angle affects the sculpt normal. This is available in Draw, Draw Sharp, Flatten, Fill, Scrape and Clay Strips brushes, but it can be enabled in more tools later. The purpose of this patch is to have a usable implementation of pen tilt in a painting mode, so users can test and see in which hardware and platforms this feature is supported and how well it works. If it works ok, more tools and features that rely on pen tilt can be implemented, like brushes that blend between two deformations depending on the angle. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8893
2020-10-15Fix T80625: Trimming tools not working with transformed objectsPablo Dobarro
The code to handle object transforms was wrong. Now the trimming mesh and depts is calculated in world space, using the real view origin and normal and then stored in object space in the mesh and in the original coordinates array. As now both meshes for the boolean operation are in the same object space, the space conversion code can also be removed from the boolean function. Reviewed By: sergey Maniphest Tasks: T80625 Differential Revision: https://developer.blender.org/D8852
2020-10-15Improve Voxel Remesher volume projection artifacts on sharp edgesLeha
The voxel remesher was using the voxel size to limit the shrink-wrap projection distance. Now that distance is increased to help preserving more detail on hard surface edges. Reviewed By: pablodp606 Differential Revision: https://developer.blender.org/D6204
2020-10-15Fix T81697: Property search crash with python handlersHans Goudey
Previously I used `CTX_copy` to create a mutable copy of the context in order to set its area and region fields to temporary variables. This was a tradeoff to avoid casting away `const` for `bContext`. However, `bpy.context` is set to this new temporary value, which is fine for a single `wm_draw_update` pass, but in the next main loop, `bpy.context` is still set to this value, which was freed at the end of `property_search_all_tabs`. It would be possible to reset the `bpy.context` variable ath the end of the function, but this patch contains an alternate solution: just don't copy the context. It looks like this was the only use of `CTX_copy` anyway, maybe for good reason. Differential Revision: https://developer.blender.org/D9216
2020-10-15UI: Add reset to default value to keymapHans Goudey
With all the work on DNA defaults for 2.91, it's nice to expose this convenient operator. This was already hardcoded in the UI code to the backspace key, adding it to the keymap instead will make the shortcut automatically show in the button right click menu. Differential Revision: https://developer.blender.org/D9219
2020-10-15Cleanup: Use DNA defaults for grease pencil modifiersHans Goudey
This will make "Reset to Default Value" work properly for grease pencil modifiers. See T80164 for more information.
2020-10-15Cleanup: Animation, simplify channel selection codeSybren A. Stüvel
Split up `ANIM_deselect_anim_channels()` into `ANIM_anim_channels_select_set()` and `ANIM_anim_channels_select_toggle()`. `ANIM_anim_channels_select_set()` is equivalent to the old `ANIM_deselect_anim_channels(..., false, ACHANNEL_SETFLAG_xxx)`. `ANIM_anim_channels_select_toggle()` is equivalent to the old `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_ADD)`. `ANIM_deselect_anim_channels(..., true, ACHANNEL_SETFLAG_CLEAR)` was also called once. The `true` parameter suggested the "toggle" behaviour was intended, but the `ACHANNEL_SETFLAG_CLEAR` argument prevented any toggling. This is now replaced with `ANIM_anim_channels_select_set(ac, ACHANNEL_SETFLAG_CLEAR)` to make this explicit. No functional changes, just a cleanup in order to better understand how the selection works.
2020-10-15Cleanup: Animation, rename function to match operatorSybren A. Stüvel
Rename `animchannels_deselectall_exec` → `animchannels_selectall_exec` so that it matches the operator `ANIM_OT_channels_select_all`. No functional changes.
2020-10-15Cleanup: rename BPy_GetContext -> BPY_context_getCampbell Barton
Matching BPY_context_set.
2020-10-15Cleanup: remove duplicate context variable (__py_context)Campbell Barton
The context was stored both in __py_context & bpy_context_module. This avoids duplicate functions to update them too.
2020-10-15Fix T80768: Subdivision Surface modifier uses viewport subdivision settings ↵Janusch Patas
when rendering in edit mode Being in render 'context'was not taken into account in code evaluating modifiers for meshes in Edit mode. Reviewed By: #modeling, mont29 Differential Revision: https://developer.blender.org/D9217
2020-10-15Cleanup: Do not compare bool value to 0.Bastien Montagne
2020-10-15Cleanup: use defined sizes when accessing file date/timeCampbell Barton
Also add static assert for struct size assumption.
2020-10-14Cleanup: Comment formatting, grammarHans Goudey
2020-10-14Fluid: Add phystype to fluid particle settingsSebastián Barschkis
When creating a particle system to display simulated particles, the phystype needs to be set to 'no physics' so that particle positions are just copied and not integrated.
2020-10-14UI: Show more information in open file tooltipJuanfran Matheu
This shows the file's full path, its modification date, and its size in the tooltips for the open recent fiels menu. When no file path is set, the original operator description is used. Differential Revision: https://developer.blender.org/D9028
2020-10-14Fix T81633 Workbench: TAA never resolve when enabling both X-Ray and cavityClément Foucault
This was caused by a wrong flag equality check when in xray mode because the xray mode was masking the effect option flags that are not supported in this mode. This means the never passed and the TAA was reset before every redraw, leading to infinite rendering.
2020-10-14Fix T81004 Python: Images drawn in the Sequence Editor have wrong colorsClément Foucault
This was caused by the sequencer using a sRGB buffer without using the sRGB transform. This patch make it so that the framebuffer is rebound using the sRGB transform before the python draw callbacks.
2020-10-14GL: FrameBuffer: Set GL_FRAMEBUFFER_SRGB if neededClément Foucault
This makes possible to rebind the same GPUFrameBuffer to enable or disable sRGB encoding transform.
2020-10-14Fix warning for duplicate field in DNA defaultsHans Goudey
Caused by a typo in rBd3b59d1358424371. Thanks to @ankitm for reporting.
2020-10-14Fix Asan warning in property editor texture tabHans Goudey
When there is no active texture, a NULL pointer was dereferenced. It didn't crash because the dereference was for the first item at the pointer, the ID. To fix this, return with no data when `texture is NULL.
2020-10-14UI: New option to invert search filter in DopesheetAntonio Vazquez
A lot of animator request an option to invert the filter of the dopesheet channels. This patch adds that invert filter option. This is not for Grease Pencil only, affect to all modes. {F8983328} Note: I have seen the new button has a rounded borders on the left. It would be better get rectangle shape, but not sure how to do it. Reviewed By: campbellbarton, pepeland Maniphest Tasks: T81676 Differential Revision: https://developer.blender.org/D9182 c68a2a
2020-10-14UI: Change Invert Filter icon for UIListAntonio Vazquez
This makes the icon equals to the invert icon used in all modifiers. {F8986444} Reviewed By: #user_interface, Severin, Blendify Differential Revision: https://developer.blender.org/D9194 3bb3b2
2020-10-14Cleanup: Use enum for return typeHans Goudey
This just follows up rB90a27d5aa91a1 with a few changes where changes were missed.
2020-10-14Fix compile error in lite build after recent commitHans Goudey
Mistake in my own commit rBd3b59d1358.
2020-10-14BLI_ghash_performance_test: Fix memory leaksAnkit Meel
Reviewed By: mont29 Differential Revision: https://developer.blender.org/D9210
2020-10-14Cleanup: Use DNA defaults for fluid modifierHans Goudey
This will make the "Reset to Default Value" operator in button right click menus work for the fluid modifier. Before they always reset the values to 0. Differential Revision: https://developer.blender.org/D9206
2020-10-14Fix T81688: BPY_thread_save crashes with Python 3.9Campbell Barton
Calling PyEval_ReleaseLock() was crashing with Python 3.9 because it accessed the NULL pointer set by PyThreadState_Swap(). This happened when calling ViewLayer.update() for example. While the existing logic could be fixed by swapping the thread-state back before calling PyEval_ReleaseLock(), this depends on functions which are tagged to be removed by v4.0. Replace use of deprecated functions by calling PyEval_SaveThread(), instead of inlining the logic, using _PyThreadState_UncheckedGet() to prevent Python aborting. The call to PyEval_ThreadsInitialized has been removed as threads are now initialized with Python. This could be replaced with Py_IsInitialized() however it doesn't look like this is necessary. This is compatible with Python 3.7 & 3.9.
2020-10-14Cleanup: reduce indentation level in bpy_class_validate_recursiveCampbell Barton
2020-10-14Fix crash starting Blender with Python 3.9Campbell Barton
In 3.8 and older the class held a reference to methods, this is no longer the case in 3.9.
2020-10-14Cleanup: multi-line comment blocksCampbell Barton
2020-10-14Cleanup: commented includesCampbell Barton
2020-10-14Fix T81511: Loop-cut overlay doesn't follow deformed cageCampbell Barton
With constructive + deform modifiers, loop-cut visualization wasn't following the displayed mesh. This now gets the coordinates from the cage when available.
2020-10-14Cleanup: spellingCampbell Barton