Age | Commit message (Collapse) | Author |
|
This is a variation of older hach which was setting is_rendering
to truth to tell window manager to not do dependency graph update.
In the nowadays reality window manager is supposed to do dependency
graph update during rendering, that was the whole purpose of CoW
project. This works fine for rendering, since render engines has
their own dependency graphs.
Physics, on the other hand, is using same dependency graph as used
for the viewport, and what's worse: it modifies objects from it.
For example, in a single threaded evaluation ASAN instantly catches
case when cached BVH constructed by smoke is referencing looptri
layer which is freed by viewport's update.
Now we are locking interface, allowing only a subset of navigation
operators to run. This seems to be safest way of dealing with the
problem. There are following variations which we can consider
doing:
- Allow viewport navigation, which will require making it so draw
manager does not write to the objects.
A bit dangerous, since smoke simulation might in theory modify
data which is also used by a draw manager.
- Make physics simulation to have own dedicated dependency graph,
solving all threading conflicts all together.
This fixes crash when baking smoke. Steps to reproduce:
- Call "Quick Smoke"
- In smoke panel, click "Bake".
|
|
|
|
This is a variation of legacy dependency graph update check based on
G.is_rendering. Now it is ensured, that locked interface does not
tempter around with the dependency graph.
|
|
|
|
Was missing a return of OPERATOR_RUNNING_MODAL for that subcommand.
|
|
This makes previewing thick smoke a bit more plausible with better shadows.
The shadowing is clamped so that nothing is completely black. That said the
lower bound is pretty low.
This is not an option but could become one if users do not like it in
all situations.
|
|
The option is per domain and only affects the solid / xray / wireframe view.
Eevee is not yet supported.
|
|
|
|
|
|
|
|
After some thinking, since the tree itself does always use floating
point numbers, it is better to use the threshold - but correctly.
|
|
|
|
|
|
Cursor motion was often causing redraws.
Distance to scrollbars that don't exist in hidden regions
caused redraws (for alpha fading).
Check if scrollbars are used before calculating fade.
|
|
While this shouldn't ever happen there have been reports
of tooltip creation failure - keep this until the issue is resolved.
|
|
|
|
From D3846 by @kostex
|
|
Compared to previous implementation, the following has been changed:
* Threshold: is now an absolute value. This allows a comparison with e.g. radii
that are much larger than selected radius. This is also consistent with
`CURVE_OT_select_similar`
* Radius in world space is the average of the radius scaled in x, y and z
directions
* Since MetaBalls are symmetrical, rotation is only considered from 0 to π/2.
So for example rotations of 90° and -90° are considered equal.
This is also consistent with the way `CURVE_OT_select_similar` works.
Fix/changes from committer (Dalai Felinto):
* Drawing not updating after changes. (see original patch for details).
Reviewers: dfelinto
Differential Revision: https://developer.blender.org/D3895
|
|
|
|
Also update names to match enum.
|
|
|
|
Based on D3893 by Habib Gahbiche.
|
|
|
|
|
|
This can be done via WM_OT_context_set_enum
|
|
|
|
Implemented the following methods:
* SIMCURHAND_TYPE
* SIMCURHAND_RADIUS
* SIMCURHAND_WEIGHT
* SIMCURHAND_DIRECTION
Limits:
* DIRECTION does not support surfaces, because `BKE_nurb_bpoint_calc_normal`
does not work with Nurbs of type `CU_CARDINAL`. This also didn't work prior
to this patch, so we wait until surfaces are properly supported in EditMode.
* Also DIRECTION should take scaling into consideration. We need our own
versions of BKE_nurb_bpoint_calc_normal/bezt.
* Threshold default is too large. Not sure if it's better to change the default
or scale the threshold in code.
Differential Revision: https://developer.blender.org/D3846
Changes from committer (Dalai Felinto):
* Moved nurb_bpoint_direction_worldspace_get/bezt to functions.
* Comments hinting at the mode (direction) that require scaling to be
taken into account - to be addressed by patch creator in a future
patch.
|
|
Matches ePaintTexture2D, less verbose.
|
|
Replace grease pencil specific brush select operator.
|
|
|
|
This parameter is only used for Box projection type.
|
|
|
|
Use simpler premultiplied blending.
|
|
|
|
Take the full derivative and compute its length instead of using fwidth.
|
|
Before it was triggering shader recompilation. Include small cleanup/opti.
|
|
This was causing bad behavior of the node Normal.
|
|
Although the normal was normalized when evaluating the lighting, the normal
is often used for other purpose. In this case using the non normalized
normal maybe the source of errors.
|
|
|
|
This only affect renders and static viewport accumulation.
It reduces helps reduce noise when lots of half transparent surfaces
overlaps.
|
|
This fits Cycles better even if it is only for grey scale values. This only
work if the blend mode is Alpha Blend or Alpha Hashed.
|
|
|
|
Also add API call WM_toolsystem_ref_sync_from_context
(was in rna_workspace_api.c)
|
|
Was temporarily replace with code that used the tool-system,
bring back logic which cycles and toggles brushes.
Tool slots are used for the initial brush,
after that toggle or cycle is used.
|
|
Setting the tool added a brush if none was found
but wasn't checking for existing brushes.
|
|
|
|
|
|
Leaves more room for the actual breadcrumbs path, and it's less intrusive.
Thanks Luciano for the suggestion!
|
|
* Area and Workspace duplicate.
* Toggle Area Fullscreen
* Operator Search
* Workspace reorder to front/back (arrows help to know which direction means front/back)
|
|
From own changes in that area... Now we also enforce handling shortcuts
in case relevant drawflag of searchbutton is set. Should allow to cover
all cases, hopefully.
|