This commit cleans up the flow emission code (i.e. the code that determines where flow is generated). It also addresses an issue with initial velocities.
Related issues (that might be fixed through this commit) are: T73422, T72949
Fluid domains with (auto-generated) particle systems were set to wireframe drawtype automatically. This was a convenience feature that made particles visible immediately. As the auto switching is sometimes a bit annoying though this has been removed. Instead, the Quick Liquid Operator switches the viewport shading type to wireframe.
- Initial velocities are no longer influenced by surface distance value.
- Added optimizations for different flow types (e.g. skip part of loop for liquid flow objects).
- Comments style cleanup and removed old todos.
This code is currently not in use and so removing it based on the YAGNI principle. If there really is need for a high-res emission loop it could be easily added again. However, I believe for the smoke noise it is sufficient to upscale the base emission map. A high-res emission map can easily be achieved by increasing the base resolution. Note also that in the new fluid system base loop and noise loop are decoupled making the need for a high-res emission loop even more unneccessary.
This fixes the crash with pose_ik_segments = 0 in old files.
Some files were saved with the property set to 0, so the versioning code
won't work in that cases. I also changed that to fix the crash in those
files.
Reviewed By: brecht
Maniphest Tasks: T73054
Differential Revision: https://developer.blender.org/D6663
In blender 2.79 you could use a render result as a camera background
image. This is useful during layout/compositing. During Blender 2.80
development there were 2 issues introduced that removed this feature.
* to receive a render result the image required a lock. This lock wasn't passed and therefore no image was read from the result. Generating an GPUTexture from an Blender image also didn't do the locking.
* the iuser->scene field wasn't set what is required for render results.
This change adds an optional `ibuf` parameter to `GPU_texture_from_blender` that can be passed when available.
Reviewed By: fclem, brecht
Differential Revision: https://developer.blender.org/D6684
Need to also offset markers in BKE_sequence_base_shuffle_time().
Also clarify/correct related comments.
Maniphest Tasks: T73014
Differential Revision: https://developer.blender.org/D6555
taking proportional size into account
Transform would always move all keyframes (e.g even when Proportional
size is 0.0).
'calculatePropRatio()' was setting td->factor correctly, but this was
not being considered in 'applyTimeTranslateValue()' if there was no
action [which greasepencil and masks do not have].
Maniphest Tasks: T55622
Differential Revision: https://developer.blender.org/D6697
button in the Image slot in the Brush panel
Caused/exposed by rBaf9ca138ba7b
Also relevant was rB828905190e12
Above commits moved the WM_UI_HANDLER_BREAK around so it would not be
returned anymore.
We need WM_UI_HANDLER_BREAK, otherwise we wont get through to to
KM_RELEASE. There are two places that explicitly check for KM_RELEASE
(call to `ui_do_but_extra_operator_icon` in both
`ui_do_but_SEARCH_UNLINK` / `ui_do_button`), and without the above we
only ever get here with KM_PRESS.
This patch restores the behavior regarding WM_UI_HANDLER_BREAK to what
is was before the two culprit commits.
Checked that both this report (T72089) and T69755 are working.
Maniphest Tasks: T72089
Differential Revision: https://developer.blender.org/D6363
Since changing the active particle system uses NC_OBJECT | ND_DRAW
for 'RNA_def_property_update()' we need to redraw/refresh
BCONTEXT_PARTICLE in 'buttons_area_listener()' as well.
Maniphest Tasks: T67654
Differential Revision: https://developer.blender.org/D6702
Try to never do operation twice and try to use MADD operations. Even if this
is very unlikely to make any difference, it can help compilers do some
optimization. I did not measure any difference as probes have much higher
impact on render time because of texture lookups.
Note that disk light is currently the most expensive light type so it
does not hurt to micro optimize.
This was due to the fact the drawing code was expecting the editpoints
to be equaly spaced. Reuse the code in particle.c to output the select
mask in red color channel of the particle (which is unused in new code).
This dependency was removed in fd0bc7e002,
as there already were dependencies ANIMATION -> PARAMETERS and
PARAMETERS -> CACHE, making ANIMATION -> CACHE unnecessary.
Upon subsequent inspection, the ANIMATION -> PARAMETERS dependency was
there due to the fallback behaviour in
`RNANodeQuery::construct_node_identifier()`. Now this is no longer
relied upon, and the required relation is made explicit again.
Instead of changing the modifiers behavior, we make sure to always use
the data->totcol instead of the ob->totcol. Also we centralize getting
this number to avoid future issues.
Fix T72593 Blender crashes when separating mesh
Fix T72017 Crash on set visibility change
Not fully fixing it for now since I do not see an easy way to remove freed
pointer from libmap, and it does not seem to be an actual, practical
issue currently, but eeek...
In a minimal render engine blender crashes as it cannot create a preview
of the material yet. This patch adds a failsafe test for this specific
scenario.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D6633
This was a missing notification because of wrong type. Also remove
the id tag as the changes are still picked up by workbench and does not
affect geometry or the particle system directly.