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-18Cleanup: Declare variables where initialized in context.cHans Goudey
2020-10-17Fix T81761: EEVEE enabled AO pass affects render resultDalai Felinto
This was a regression introduced on 68651534c263.
2020-10-17Cleanup: Miscellaneous improvements in wm directoryHans Goudey
- Reduce variable scope. - Use LISTBASE_FOREACH macros. - Return early in some cases to reduce to reduce indentation.
2020-10-17Fix T81594: Unable to reassign effect inputsRichard Antalik
This was caused by canceling operator if strip has more than 0 inputs. Logic should be reversed - cancel only if strip has 0 inputs. BKE_sequencer_render_loop_check() arguments had to be sanitized because seq_effect_find_selected() can set seq1,2,3 to NULL Reviewed By: sergey Differential Revision: https://developer.blender.org/D9197
2020-10-17Cleanup: Reduce variable scope in screen directoryHans Goudey
Also return early and use LISTBASE_FOREACH in a few places
2020-10-17Cleanup: Reduce variable scope in area.cHans Goudey
2020-10-17UI: Tweak decimate modifier layoutHans Goudey
- Expand the "Type" toggle at the top. This is consistent with other modifiers where there is a "Type" option at the top. It conveys the property's importance and makes it faster to switch it. - Expand the "Delimit" option vertically so the text isn't squashed. There isn't enough space on one line for this, and is has to be expanded because more than one option can be selected. This is also consistent with how "multi-select" enums are often displayed, like the 3D view snapping settings. | Before | After | | {F9000996} | {F9000985} |
2020-10-16UI: Align related propertiesHans Goudey
The start and end frame properties are generally aligned in one block.
2020-10-16Property Search: Reset panel expansion when exiting searchHans Goudey
This patch implements panel expansion saving and resetting for property search. While search is active, the panel expansion is based on whether or not it has a search result. When the search finishes, the panel expansion returns to its state before the search started. However, any panels interacted with during the search won't reset their expansion. This requires adding a new runtime flag for panels to store whether to use search result status as expansion. It also requires better handling for animation when panel expansion changes with another new runtime flag. `UI_panel_is_closed` gets the search-dependent expansion, but it is intentionally not used to access expansion in every case-- sometimes it's necessary to use `PNL_CLOSED` directly. Differential Revision: https://developer.blender.org/D8984
2020-10-16Cleanup: reduce variable scopesJacques Lucke
2020-10-16Cleanup: reduce variable scopesJacques Lucke
2020-10-16Fix misuse of alloc inside a loopDalai Felinto
Alloc will only free its memory when the function is returned. Issue introduced in c866075dfbd9. Thanks Sergey for spotting this.
2020-10-16Animation: Snap Cursor Value operatorSybren A. Stüvel
Add operator to snap the 2D Cursor value to selected keyframes. This is doing almost the same as the "Cursor to Selected" operator, except that it doesn't affect the current frame, just the Y-coordinate (the value) of the 2D cursor. The "snap cursor" operators are added to the Key → Snap menu and to the Snap pie menu. This means that these menus are now extended in meaning, to not only mean "snap the selected keyframes to the cursor", but also for some options "snap the cursor to selected keyframes". This fixes T76596.
2020-10-16Cleanup: Animation, split up frame jump operatorSybren A. Stüvel
Split up `GRAPH_OT_frame_jump` exec function and added some local variables to give names to the cryptic `ked.f1`, `ked.f2`, and `ked.i1`. No functional changes.
2020-10-16Cleanup: clang-tidyJacques Lucke
2020-10-16Fix (reported by studio team) crash in relocate lib code.Bastien Montagne
We do not always find a matching ID in new library.
2020-10-16Fix T81027: Multires objects in sculpt mode can't be linked via collections.Bastien Montagne
Just clear all non-object mode flags from linked objects at read time. Reviewers: brecht Subscribers:
2020-10-16Fix T81591: Align view to active is not working in sculpt modeCampbell Barton
Remove sculpt/paint checks in getTransformOrientation_ex This code goes back a long time (early 2.5x). I couldn't find any reason why sculpt/paint checks were being made. This makes the following changes: - When in object mode, the object must be selected. Since this function typically operates on the selected items. - When in paint/particle modes, the objects matrix is always used regardless of selection, since object selection can't be controlled in these modes. - When there is no active object, the first selected object is no longer used as it's quite an arbitrary decision & not something done elsewhere with objects in Blender.
2020-10-16Fix T54526: Data Transfer modifier's Max Distance field working strangely.Bastien Montagne
Based on investigation by Philipp Oeser (@lichtwerk) and solution by Alexander Gavrilov (@angavrilov) in D5206, thanks!
2020-10-16EEVEE: SSR: Fix unreported smoothstep instability when border factor is 0Clément Foucault
From the GLSL documentation: `Results are undefined if edge0 ≥ edge1.` This is the case without this patch.
2020-10-16UI: Make node theme settings to conform to UI rulesDalai Felinto
Basically first letter of (most) words is to be capitalized. These settings (Noodle curving and Grid levels) had this wrong since their first commit (2011 and 2020 respectively).
2020-10-16Cleanup: remove debug printf()Sybren A. Stüvel
No functional changes.
2020-10-16Fix T62463: unable to select anim channel for unselected nodeSybren A. Stüvel
Remove the code that synchronises selection state of shader node animation channels. This code is only used in a few cases where selection of these animation channels is changed, and then potentially does the wrong thing and disallows selection of animation channels altogether. This removal is meant to be a temporary situation, to unblock animation channel selection. See T74159 for the overall effort to improve selection sync.
2020-10-16Cleanup: Animation, remove unused parametersSybren A. Stüvel
No functional changes.
2020-10-16PyAPI: unregister add-ons when exitingCampbell Barton
This lets add-on authors avoid false positive leaks when exiting. In particular GPUShaders's although it applies to any PyObject that stores memory allocated by guarded-alloc. While this does add overhead on exit, on my system it's under 1/100th of a second with all addons enabled. See: T71362
2020-10-16RNA: support building WITH_PYTHON=OFFCampbell Barton
2020-10-16Cleanup: spellingCampbell Barton
2020-10-16Windows: Fix build issue on windowsRay Molenkamp
TBB includes Windows.h which defines a min/max macro leading to issues when you want to use std::min and std::max. This change prevents Windows.h from defining them sidestepping the issue.
2020-10-16Fix build error with clean buildsJulian Eisel
Needed after d1b3439b80fd6e. Think the error only happened with fresh builds, where dna_type_offsets.h didn't already exist. We have to do the same in other places too, see 8594cdb45684.
2020-10-15Outliner: Use operator option to decide which item to renameJulian Eisel
The `outliner.item_rename` operator needs to decide if it should rename the active or the hovered item. Previously it checked if the event is a press event, which is a hacky way of doing this and limit how the operator can be used in the keymap. Now use a operator option to let this be controlled on the keymap level. Doesn't change any default behavior.
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