WM_modalkeymap_operator_items_to_string() wasnt checking
WM_keymap_active(), so it was possible that e.g. when using the Industry
Compatible keymap, the shortcut from the Blender keymap was shown.
This also fixes the (now exposed) bug that the Industry Compatible keymap
would not have a ADD_CUT_CLOSED kmi defined for the Knife Tool [mandatory
for the status bar].
Maniphest Tasks: T67084
Differential Revision: https://developer.blender.org/D6748
The code removed was left there from an early prototype and it was not
doing anything.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6741
Lacunarity parameter determines scaling of subsequent octaves in fractal
noises. For example, Noise node have this scaling hardcoded to 2.0. Each
octave have twice bigger scale than previous one, resulting in finer details.
By design fractal noises that generate octaves with same seed should not
have Lacunarity set to 1.0, since then it just stacks up identical noises.
Differential Revision: https://developer.blender.org/D6742
This is a small optimization that makes sure the adaptive domain only considers active inflow objects. Ones with disabled fluid flow are skipped and thus the adaptive domain will not try to cover them.
The erase mode has an option to change the erase mode from soft/hard/stroke.
However, there are 4 brush types: hard/soft/point/stroke. Hard and Soft here are similar (they are both "soft" erase mode) only having different strengths.
The erase mode should be soft (Maybe this should be renamed to something more generic like "fade"), point, stroke.
Reviewed By: #user_interface, #grease_pencil, billreynish, antoniov
Differential Revision: https://developer.blender.org/D6733
When using duplicate linked meshes, objects that are not in edit-mode will be drawn as
it is in edit mode, when another object with the same mesh is in edit mode.
This will not be the case when one of the objects are influenced by modifiers. The change
reflects more how it was done in Blender 2.79.
The current change introduces a draw manager method that checks in detail who is responsible
for the drawing (render engine or overlay engine). If the edit mesh is not the original or
the object that is drawn doesn't draw the original mesh the object will be drawn by the render
engine.
Known Limitation of this patch is that the rendering outside edit mode doesn't reflect the
latest changes until the user switches between object and edit mode. When there are no
modifiers in use, the updating is done immediately.
IMO this would be sufficient for blender 2.82, it also fixes parts of T72733.
The updating of the surface batches requires more development and is
post-poned for now.
Reviewed By: fclem, brecht
Differential Revision: https://developer.blender.org/D6737
Added sanity check in the flow / obstacle object loops that check if the modifier data is valid. Ideally this should not be needed. However, in remove_particle_systems_from_object() the fluid modifier can get freed. It is not yet clear whether the modifier free call is really needed or not.
Font duplicator was not outputing dupli-objects using evaluated object
pointers, leading to crash because original object are not supposed to
be drawable.
This moves the backface culling to the fragment shader to avoid all the
limitations of the current system. This has a cost but it is unlikely that
bone drawing will be a bottleneck.
Usual issue from those dear Bone pointers in pose data...
Note that this is more like minimal-risk, quick fix, it's nothing like
'nice to have' code. Think proper solution would be to refactor handling
of those kind of 'caches' to ensure they are valid/up-to-date in a much
easier way, at the very least.
Ideal solution being to get fully rid of those horrors, of course, but
let's not dream here. ;)
The function `gpu_texture_create_tile_array` checked for a valid
tile ibuf when determining the packing location. During the actual packaging it didn't.
As the tiles are already ignored when selecting the packing location, we
can also ignore it when copying it to the glTexture. Therefore this
patch removes the existing BLI_assert and replaces it with a NULL check.
Reviewed By: Brecht van Lommel
Differential Revision: https://developer.blender.org/D6738
This meant a non-active selected object would be skipped based on the
mode last used, mostly an issue with 'Lock Object Modes' disabled.
Other transform operators (such as snap) don't do this.
Partially reverts b8aff06466
Pixar recently released USD 20.02 [1]. I think it's important for people
to be able to figure out which version of the USD library is used in
Blender.
[1] https://github.com/PixarAnimationStudios/USD/releases/tag/v20.02
This commit exposes the USD library information via `bpy.app.usd`, and
includes that info in the `system-info.txt` saved via Help → Save System
Info.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D6724
This patch fixes {T73051}. The cause of the issue was the absence of
relations in the depsgraph between IK solvers of overlapping IK chains.
Reviewed By: sergey, brecht
Differential Revision: https://developer.blender.org/D6700
Dont act on a base which cannot be found in the viewlayer.
Oversight in rB41858a73111d.
Maniphest Tasks: T73499
Differential Revision: https://developer.blender.org/D6721
- Remove the only_render arg from ED_editors_flush_edits
was only used in one place, the '_ex' version can be used instead.
- Split out the single object version of this function as currently
flushing is being done in-line, often only accounting for edit-mode,
ignoring sculpt mode for e.g.