This should not cause any problem since the depth test is required
in order to draw to the depth buffer and this is not altered by
this change.
To be on the safe side, we still restor the mask after altering it.
This workaround addresses T79533 and T79038 for Blender 2.90. The
solution isn't clear and needs more research and work. In order to
continue with blender 2.90 release it was proposed to add this work
around.
It has been tested with the test files provided in the reports.
Reviewed By: Dalai Felinto, Clément Foucault
Differential Revision: https://developer.blender.org/D8695
This workaround addresses T79533 and T79038 for Blender 2.90. The
solution isn't clear and needs more research and work. In order to
continue with blender 2.90 release it was proposed to add this work
around.
It has been tested with the test files provided in the reports.
Reviewed By: Dalai Felinto, Clément Foucault
Differential Revision: https://developer.blender.org/D8695
Use invert_m4_m4_safe_ortho when joining objects so zero scaled axis
doesn't cause all points to be scaled to zero.
Instead geometry is left un-scaled on degenerate axes.
Report a warning in this case since users may want to adjust the
active objects scale.
Unlike invert_m4_m4_safe, this calculates zeroed axes.
Useful when we need to use the inverse of an objects matrix,
keeping the valid axis, only filling in the zeroed ones.
This implements Snake Hook as a deform type for the cloth brush. This
brush changes the strength of the deformation constraints per brush step
to avoid affecting the results of the simulation as much as possible. It
allows to grab the cloth without producing any artifacts in the surface
and create more natural looking folds than any of the other deformation
modes.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8621
In 2.83 and previous versions there was a bug that was causing boundary
vertices to be detected incorrectly that was preventing the smooth brush
to work on boundaries if there was a pole on them.
In 2.90 the boundary vertex detection was fixed, but it was still using a
simplified version of the algorithm without any boundary smoothing. This
patch implements a similar smoothing algorithm to what I think it was
the intention of 2.83 and previous versions, but working correctly.
Reviewed By: sergey
Maniphest Tasks: T80008
Differential Revision: https://developer.blender.org/D8680
This is quite embarassing... it was returning the base instance instead of
the correct vao. No wonder that it was causing crash and at most drawing
issues.
This skips the subdivision operation if the mesh has no loops, avoiding
the crash.
Reviewed By: sergey
Maniphest Tasks: T80039
Differential Revision: https://developer.blender.org/D8696
Ensure that time source always is in the dependency graph, allowing to
tag the graph for time update prior it was fully built.
Collaboration of Philipp Oeser, Jacques Lucke and myself.
Thanks everyone :)
`TH_UV_OTHERS` is a theme option that isn't hooked to anything since
blender 2.80. This patch will remove the option and related code.
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D8669
This was caused by motion blur camera movement tagging the view as
invalid and thus resetting the temporal sampling.
Critical fix for 2.90. Need second look, but quite confident. This function
is only called once when Motion blur is off.
Reviewed by: jbakker
Differential Revision: https://developer.blender.org/D8676
This operator is dependent on mouse position (if the Use Cursor Position
option is used). The Channel property is irrelevant/unused in this case.
So it is not optimal displaying this property when calling this from the
menu (or even using the shortcut with default settings).
Now use a custom UI in the Adjust Last Operation panel in this case.
The properties are now drawn in relation to another then (Channel
underneath Use Cursor Position) next to some other minor layout
improvements.
Thx @HooglyBoogly for feedback (also providing UI code)
Maniphest Tasks: T79872
Differential Revision: https://developer.blender.org/D8625
This replace `GPU_clear()` by `GPU_clear_color()` and `GPU_clear_depth()`.
Since we always set the clear value before clearing, it is unecessary
to track the clear color state.
Moreover, it makes it clearer what we clear the framebuffer to.
This changes the state of occlusion queries quite a bit. Now scissors is
explicitely disabled and we enabled color write.
I still don't understand why we now need this. This patch is just trial and
error on an affected setup. Note that on the same computer, renderdoc
was not able to capture the regression (the regression did not manifest
during capture).
Regression likely introduced by rB5f414234ddea
Mistake in b077de086e. I did the same fix for a few operators there,
but missed the object "Join" one.
The joining operator changes the layer content. So it must send a
notifier for that.
Before b077de086e that didn't cause a noticeable issue, because the
Outliner happened to listen to other notifiers (active/selection
changes) the operator sent and fully rebuilt its tree in response. Now
missing these notifiers can be more problematic, since we try to avoid
more rebuilds.
Added comments to the notifier types to avoid at least this pitfall.
Since stone age of lib_query, the code would iterate over the current
list of active sequences (from a meta strip e.g.), and not over the
whole list of those.
This is a critical issue as it means in some cases (editing a meta strip
typically), some ID pointers would be missed/ignored by this foreach
looper, which is now at the center of most of our ID management code.
This caused a bug here at the studio, leading to loss of all sound IDs
used by sound strips when editing and undoing inside a meta strip, since
ID refcounting would not happen properly on strips using sounds outside
the meta-strip context during file reading of the undo steps.
To be backported to 2.83.
Differential Revision: https://developer.blender.org/D8671