Add percentage closer filtering to shadowmap sampling and a
`shadow_filter_radius` property to lights to control it.
Notes:
* This adds PCF to `eevee_shadow_tracing_lib`, but not to
`eevee_shadow_lib`, which is used by volumes (not required) and
thickness.
* PCF is computed based on the LOD0 size. This assumes that higher
LODs are only used when the shadowmap resolution is actually good
enough to match the render resolution.
Pull Request: https://projects.blender.org/blender/blender/pulls/118220
Pose-mode selection tools (box, lasso & circle select) now support
pose-mode when weight-painting.
Changes to the key-map [0] caused a regression where it was no longer
possible to select multiple bones because Shift-LMB is now used for
painting. The report #114981 proposes to support pose selection tools
in weight paint mode.
Note that in [1] added the tweak tool, this completes the change by
supporting other tools & fixing W-key shortcut access.
Resolves#114981.
[0]: 6de6d7267f
[1]: edcac1f48b
Various fixes to operator preset cleanup:
- Only remove properties that match exactly the properties to exclude
exactly (taking word boundaries into account).
- When the preset path doesn't exist, don't construct paths relative
to the working directory.
- Enforce UTF8 encoded text.
Other minor changes:
- Rename "properties" to "properties_exclude" for clarity.
- Use single underscore for private methods.
- Match each line against a single regex instead of constructing a
string and checking startswith(..) for every property to exclude.
- Use os instead of pathlib, as us used in blender's built in operators
that handle paths.
- Prefer doc-string over bl_description.
- Double quote strings.
- Use single indentation for lists to reduce right-shift.
Adds two nodes as "grid" equivalents to the existing volume nodes:
- **Grid to Mesh**
- **Distribute Points in Grid**
The code for the latter is just duplicated for now. In a later step
old node can be replaced by versioning with two new nodes.
Pull Request: https://projects.blender.org/blender/blender/pulls/118830
Armature deformation modifier for Grease Pencil v3.
Changes compared to GPv2:
- `multi` DNA field was unused and was removed.
- `vert_coords_prev` array is unused and was removed (gets passed to
armature functions but never gets allocated).
- GPv3 modifier uses the common `influence` struct to store the vertex
group name, for consistency. The
`GREASE_PENCIL_INFLUENCE_INVERT_VERTEX_GROUP` flag is copied to
`deformflag` as `ARM_DEF_INVERT_VGROUP` before evaluation, which is
used internally by armature functions.
- `BKE_armature_deform_coords_with_curves` is added as another variant
of the deform function, but uses C++ parameter types (spans instead
of raw pointers). It gets a `Span<MDeformVert>` directly instead of
deducing it internally from the object type. This is because we want
to do this curve-by-curve and already use arbitrary vector spans for
positions.
Pull Request: https://projects.blender.org/blender/blender/pulls/118752
This is a migration of the current Line Art modifier to GPv3.
Note:
- The modifier is using the exact same DNA structure as the old one, it's re-defined in a different name. At the moment all the variable names and placement after the `ModifierData` part should stay exactly the same until we do proper versioning of the modifier data and completely remove the GPv2 support.
- Vertex weight transfer feature no longer supports name initial matching ("group" used to match "group1","group2" etc). Now it will only transfer vertex weight from source vertex groups that has the exact same name as specified.
Pull Request: https://projects.blender.org/blender/blender/pulls/117028
- Remove name from "Add Remote Repository" popup,
the name is set automatically based on the host-name.
- URL text field is active for new remote repositories,
the name field is active for local repositories.
- When the custom-path is disabled, show the automatically created
directory name which is used.
- Use the host-name for the repository name when version patching
user preferences.
Resolves#118638 design task.
This allows it to be exposed in the user interface when the
custom-directory is disabled without having to use a label which can't
handle non UTF-8 characters which file-paths can contain.
This simple node finds the values of a volume grid at
positions in the local space used in geometry nodes
evaluation. There are three interpolation modes to
choose how to mix values between neighboring voxels.
For the implementation, first the values are sampled
with the grid's type directly, then implicit type conversions
are used to get the final type. This makes gives us flexibility
in case there aren't exact matches in support between grid
types and Blender types.
Pull Request: https://projects.blender.org/blender/blender/pulls/118397
Add this data as a layer attribute. It's usage was already implemented
by the modifier filtering generic code, but data itself did not yet
exist in GPv3 data.
Also add RNA accessors and handle it in conversion code.
Pull Request: https://projects.blender.org/blender/blender/pulls/118495
Ideally the operator itself should be renamed, but I went the conservative approach
since themes are not supported yet. Once they are supported I suppose the operators
could be unified.
Fluid (Smoke/Liquid) has its own UI (uses `PHYSICS_PT_cache` in
`properties_physics_fluid.py`), does not use `point_cache_ui` at all.
It seems 4235fe37d6 should have done this already.
Afaict, this is also not relevant for loading old (e.g. 2.79) files with
the old smoke system (since their caches wont be read anyways).
Pull Request: https://projects.blender.org/blender/blender/pulls/117404
Solo'ing bone collections was only possible from the Armature properties
panel. However, the bone collections shown on the Bone properties panel
should have the same functionality.
Pull Request: https://projects.blender.org/blender/blender/pulls/118512
Work around the limitation that `context.active_pose_bone` is `None` when
the active bone is hidden.
This also fixes the issue that the bone custom properties panel was using
the global context (`bpy.context`) instead of the one passed to the
`draw()` and `poll()` functions.
Pull Request: https://projects.blender.org/blender/blender/pulls/118510
This patch adds a new `Stretching Opacity` slider to the overlays panel in the UV Editor.
This allows users to tweak the opacity of the UV stretching overlay, so the image texture
can still be visible through it.
Pull Request: https://projects.blender.org/blender/blender/pulls/117381
Reduce the width size and align the URL with the UIList.
Adjustments that would still be welcome:
* Make URL label color the same as Advanced.
* Waste less space between URL and the [________________].
New name: Extensions
Now that we are gettting closer to a launch I need to refer to this
feature in the documentation. As such it was time to bring it up to
date.
I'm also pointing the experimental feature to the task where the Alpha
launch is being coordinated (#117286). Once that task is all ticked we
will likely be ready to go out of experimental.