According to the OptiX denoising guide lines, renders should be in the
0..10000 range. As a result, clamping was applied to renders
prior to GPU denoising.
However this lead to a issue where denoising of bright images would
behave differently between CPU OIDN and GPU OIDN as this same clamping
was also applied to the GPU OIDN denoiser.
According to Attila Áfra, a developer working on OIDN, this clamping
isn't neccesary for OIDN. So this commit removes the clamping from
OIDN.
Pull Request: https://projects.blender.org/blender/blender/pulls/137879
Adjust keymap poll function of markers keymap. i.e. when no marker
exists, return false from the keymap so marker operations are not
invoked from key press. Also check whether marker region is visible.
If its is hidden, we can skip the markers keymap.
Pull Request: https://projects.blender.org/blender/blender/pulls/137803
Add the new Manifold solver to the list, and make it the default. Though
it doesn't handle non-manifold sculpt meshes, it makes sense to make it
the default because it's so much faster than the other options, making
the trim tool much more compelling.
Also, instead of joining the object's mesh and the trim mesh as a BMesh,
then running the boolean operation (which requires four conversions
between mesh and BMesh for the non-float solvers), use the same API
as the mesh boolean geometry node. The "join" case is handled
separately now.
Pull Request: https://projects.blender.org/blender/blender/pulls/137915
The object to world transform was applied to the result (which was
meant to be in world space), rather than the inverse. However, the
processing of transforms is more complicated than necessary. Instead
of passing around a separate "target transform" that's meant to be used
inverted after the boolean operation, just make the input transforms
transform the input meshes into the desired transform space of the
output (object-local space for the modifier).
Pull Request: https://projects.blender.org/blender/blender/pulls/137919
Saves a tiny amount of time computing the loose vertices cache
after a boolean operation. Since the boolean output is just created
from faces, there are no loose vertices (there are also no loose
edges because of the call to `mesh_calc_edges`, which itself
tags the loose edge cache).
Object conversion operator used to fail silently when encountered
unsupported object types. Now it will show a warning message instead
so users will have a visual feedback when nothing is happening.
Pull Request: https://projects.blender.org/blender/blender/pulls/134827
pprop pointer created before initialization of op->customdata i.e.
`text_open_init()`. This triggers crash due to accessing member of
nullptr object `pprop->prop`
Pull Request: https://projects.blender.org/blender/blender/pulls/137880
Null check the operator member as this is documented to be null
and is checked elsewhere in the handler logic.
Co-authored-by: Kabinet0 <m3kabin@gmail.com>
Ref !137506
Adding the additional check is more of a "technical" correction,
for the callback to return 0 the sort implementation would have
to compare an element in the array with itself.
Co-authored-by: Zheng-Ze <zheng-ze@noreply.localhost>
Ref !137723
615100acda added support to
`NODE_OT_add_image` to open multiple images, This makes the NW
operator redundant, also `NODE_OT_add_image` can open multiple
images at drag-n-drop. The only difference is that this operator adds
the new image nodes as collapsed nodes.
Pull Request: https://projects.blender.org/blender/blender/pulls/128443
The wireframe preview for rigid body collision shape cannot be turned OFF.
Now exclude them when "extras" from overlays panel is disabled.
(This behavior was proposed by @lichtwerk in the original issue)
Pull Request: https://projects.blender.org/blender/blender/pulls/136523
Add another exception for collection exporting (similar to #137507).
It's possible to avoid these workaround but this involves bigger changes
which are likely API breaking.
The new wording shows the new value before the old one, so that this
information can be seen even on small screens, and rearranges the phrasing to
be more succinct.
Pull Request: https://projects.blender.org/blender/blender/pulls/137579
Adds the 'manifold' solver option to the Boolean geo node and to
the Boolean modifier. This solver is about as fast, or faster,
than the current float solver, and is robust against floating
point issues like the Exact solver. But currently it only
works on mesh arguments that are strictly manifold.
See https://projects.blender.org/blender/blender/issues/120182
for many more details.
We can apply the `V2D_KEEPZOOM` and `V2D_KEEPOFS_Y` flags to the main VSE
region to make sure this happens. If `V2D_KEEPZOOM` is set, we should update
the view2d's `oldwinx` and `oldwiny` in `ui_view2d_curRect_validate_resize`
just like the `V2D_KEEPASPECT` case.
Divide-by-zero is a real possibility here, since initialization status of
`oldwinx/y` cannot be determined from the `resize` boolean alone (e.g. loading
regions from disk on startup yields a `true` `resize` parameter, so any old
regions that have `KEEPZOOM` added through versioning will get this error since
their `oldwinx/y` is uninitialized). Avoid by initializing `oldwinx/y` if it is zero in
`ui_view2d_curRect_validate_resize`.
Addresses #136508.
Pull Request: https://projects.blender.org/blender/blender/pulls/137802
Viewport shading mode descriptions improved. "Display only edges of
geometry without surface shading", "Display objects with flat lighting
and basic surface shading", "Preview materials using predefined
environment lights" and "Preview the final scene using the active
render engine".
Pull Request: https://projects.blender.org/blender/blender/pulls/137699
Simplification of the text on the "Save Startup" Confirmation dialog,
trying to reduce jargon and instead focus on the user effect. Title
of "Overwrite Startup File" and body of "Blender will start next time
as it is now." Similar wording for template startups.
Pull Request: https://projects.blender.org/blender/blender/pulls/134429
When performing an undo in Sculpt Mode with Dyntopo enabled, it is
possible that the active color attribute exists in the original mesh but
not on the BMesh used by Dyntopo. When attempting to extract this color
data, this can then lead to a crash.
To prevent this, use the BMesh as the source of truth for existence of
generic attributes when mode inside Sculpt Mode when Dyntopo is enabled.
Pull Request: https://projects.blender.org/blender/blender/pulls/137828
Move most `uiLayout` and `uiItem` functions to a separate
`UI_interface_layout.hh` header file. `uiItem` and `uiLayout` structs
are moved from `interface_layout.cc` to `UI_interface_Layout.hh` in
preparation for switching to an object oriented API style.
`UI_block_layout*` functions are moved to `UI_interface_Layout.hh` too,
since their implementation is also in `interface_layout.cc`
Types shared by `UI_interface_Layout.hh` and `UI_interface_c.hh`
are moved to `UI_interface_types.hh`.
Ref: #117604
Pull Request: https://projects.blender.org/blender/blender/pulls/136717
This patch introduces some optimizations to Clay Strips, resulting in a
speedup of approximately 1.22x.
- The translations are calculated more efficiently using the local
space, similar to the approach used for the Plane brush.
- Plane trimming is computed in local space.
- Strength is applied to the offset vector, avoiding an extra per-vertex
multiplication.
- The local space is constructed such that vertices affected by
the brush have a positive z-coordinate.
Note: this patch doesn't alter the way the brush works. Any
difference should be considered a bug.
Pull Request: https://projects.blender.org/blender/blender/pulls/137558
Changes
- `Main` and `NodePlacementContext` are never-null, so use references
where possible for these types.
- Move the node placement and node caching logic inside the
NodePlacementContext class itself.
- Remove effectively dead code which checked return value of
`node_add_static_node` for built-in node types.
Pull Request: https://projects.blender.org/blender/blender/pulls/137797
By default, the Ctrl-M shortcut is not working in the VSE preview.
This PR aims to address the issue and provide a working iteration of
the feature.
In my view, it would be preferable for this operator to not only flip
the `flip_x` and `flip_y` values, but also manipulate the transform and
rotation of the strips in a way that keeps the strip in the same
location on the screen, rather than flipping them to the other side.
I decided to implement the feature with this correction functionality,
as it seems more coherent with how the mirror works in other areas of
Blender.
Pull Request: https://projects.blender.org/blender/blender/pulls/136343
Normally, the dope sheet will not show the directly-assigned Action,
when that Action has no animation data for the data-block.
However, when that data-block uses the NLA, and one or more NLA strips
have an animated property (like their influence), the Action is shown in
the dope sheet for some reason.
This caused the "draw the summary line for this Action" to fail, because
it assumes there must be a slot (because normally when it's drawn, it
implies there is animation data, and thus a slot).
This assumption has been fixed, and the "no slot" case is now handled
properly.
Pull Request: https://projects.blender.org/blender/blender/pulls/137844