Remove the filtering of factors from the brush distance calculation
function to simplify its responsibilities and to allow passing a custom
radius from the outside. Factor filtering is now done in a separate
function. Also rename the distance calculation functions.
Code was using seq->start + seq->len to figure out where the "right
side of content" is, seemingly since forever (i.e. since 997b5fe4
added strip thumbnails). But that is incorrect starting with 3.3,
where seq->len is "number of frames / samples in source media",
but that does not necessarily match number of frames in the timeline.
For movies this happens when media framerate does not match
sequencer framerate.
Use SEQ_time_content_end_frame_get instead to calculate where the
content ends.
Pull Request: https://projects.blender.org/blender/blender/pulls/124081
Cancelling operator with RMB is hardcoded but some wants RMB to invoke
the operation as well. In such case, don't use RMB to cancel operator
and reset the radius, i.e. when both `rc->init_event` and `event->type` is RMB
Pull Request: https://projects.blender.org/blender/blender/pulls/123053
Only apply EEVEE-Next material shadow versioning to materials with
surfaces. Otherwise this will break the rendering of some materials
(E.g. Volumetrics) by making the surface opaque to the camera.
Pull Request: https://projects.blender.org/blender/blender/pulls/124076
Caused by 9d4d1aea98. Not every operator
that uses lasso gesture has `smooth_stroke/radius` properties defined,
they are sculpt tool specific. When using `node link cut` tool, console
is flooded with the "property not found error".
Pull Request: https://projects.blender.org/blender/blender/pulls/124040
This patch allows the size of the Glare node to be below 6. This is not
really a fix, but it is targeting the release branch because of concerns
about this limitation which din't exist for old EEVEE bloom.
Pull Request: https://projects.blender.org/blender/blender/pulls/124092
The Bloom mode of the Glare node crashes if the input image is too
small. This is because bloom is computed using a down-sampling followed
by an up-sampling chain, and if the user supplied size is not maximum,
the computed chain length might be zero or negative, which is not
handled gracefully. To fix this, we just sanitize the chain length.
Pull Request: https://projects.blender.org/blender/blender/pulls/124089
- Report when a repository is added since it's not so clear from the
popup that a new repository has been added.
- Fix for missing redraw after selecting all/none tags.
- Also access the tags property once instead of getting it for each
button.
Part of #118145.
Multithread the loop over all grid vertices, replace the PBVH vertex
iterator macro, and avoid subtractingt the limit positions in the first
loop, since we do that later anyway.
The `sample_disk` returns samples inside a disk of radius 1
which was spanning 2 pixels. The blackmann-haris filter has
not much energy at the edge of the filter and since we
don't importance sample the filter, we have very low weight
samples at some time steps. Improve this by biasing the
distribution towards the center.
This is a temporary solution until we have proper importance
sample of the filtering function for this case.
Fix#123630
The output of the Texture node in the compositor does not update when
the texture settings or the texture type is adjusted. That's because
texture evaluations are cached, and the cache is not invalidated when
needed.
This happens because we rely on the depsgraph to tag changes to textures
so that the cache is invalidated. The tagging doesn't happen because the
texture ID is actually not part of the depsgraph in some cases. This is
so because the Texture ID property in the node does not update depsgraph
relations when it changed, so the depsgraph is out of sync with the node
tree.
This patch fixes that by invoking a depsgraph relations updates when
ever an ID property used by the compositor is changed.
Pull Request: https://projects.blender.org/blender/blender/pulls/124050
This patch cleanup and refactors the render pipeline compositor render
code to deduplicate code and clarify usage.
The unused this_scene arguemenet was removed, per-node functions were
introduced to simplify loops, C++ Set was used instead of GSet, and
scene change is now detected by any rendered scene in the set.
Pull Request: https://projects.blender.org/blender/blender/pulls/124028
Don't store pointers to `blender::Map` items since, unlike `std::map`,
they're not guaranteed to stay valid.
This resulted in shader binaries being loaded into the wrong
specialization.
Pull Request: https://projects.blender.org/blender/blender/pulls/124051
This is a workaround to allow user to keep working without loss of data
when an issue like #124049 happens.
This commit also expose again the `use_all_linked_data_direct` debug
option, no idea why that one was removed.
Barycentric coordinates are used for the wireframe shader. It was
already implemented, but was made broken or when we change the depth
range or when we added support for fallback of shader viewport/layer
rendering. The previous implementation didn't use the correct
EmitVertex leading to incorrect depths. Also the shader layouts where
not Vulkan compliant.

Pull Request: https://projects.blender.org/blender/blender/pulls/124048
Since the initial commit (015d5eda88) the interpolation
from the "back" plane has been unused. Since it's been this way for
three years, I will assume this is the way it's mean to work and clean
up the code while keeping the behavior unchanged.
Part of #118145.
Since the initial commit (015d5eda88) there has been a logic
mistake in the code for this brush where a variable was unused. The code
has worked for years in that state, so I left it in. The next commit
will clean up the unused code.
Part of #118145.
This implementation is quite simple, it's similar to the draw
brush and the draw sharp brush, but it also restores from the
original positions on each update step.
HiZ update performs a read/write on different buffers, this lead
to write-after-write hazards as the resources where added multiple
times in the same pipeline barrier with different access masks.
This is fixed by merging pipeline barriers based on their resource.
Pull Request: https://projects.blender.org/blender/blender/pulls/124036
Adds debug print function to output a node with its inputs and outputs.
Also keep track of the name of the resource (only images) what will
be presented. Tracking of the resource name is only done in debug builds.
Pull Request: https://projects.blender.org/blender/blender/pulls/124033
The root cause was some code that tries to omit keying loc, rot, or
scale based on the current transform mode and pivot type. The idea is
sound, but for it to work properly it also needs to know if more than
one object is being transformed or not. Notably, this bug affected the
scale transform mode as well, not just the rotation transform mode as
reported in #123961.
This fixes the issue by passing a flag down that informs that code
whether more than one object is being transformed, and using that flag
to correctly omit loc/rot/scale when possible.
PR #123998
Pull Request: https://projects.blender.org/blender/blender/pulls/123998