Age | Commit message (Collapse) | Author |
|
|
|
For Customdata layer copying, interpolation with the mixfactor is only
done for certain mix modes, now set the UI inactive if the mixfactor is
not in use.
Namely, the modes are the "Above / Below Threshold" which are only used
for flags, colors and normals and mixing is not supported in these cases.
Spotted while looking into T81914.
Differential Revision: https://developer.blender.org/D9327
|
|
|
|
|
|
Send appropriate notifiers (via rna_Volume_update_display).
Maniphest Tasks: T82079
Differential Revision: https://developer.blender.org/D9351
|
|
|
|
Draw the handles for the active keyframe only when the interpolation type
is set to Bézier. This now matches the behaviour of handles of regular
(non-active) keyframes.
|
|
Activate an FCurve only on selecting, and not on deselecting a keyframe
or a handle.
Reviewed By: HooglyBoogly, Severin, looch, #animation_rigging
Differential Revision: https://developer.blender.org/D9328
|
|
|
|
the camera is shifted
Code was assuming frustrum planes are symmetrical which is not the case
for shifting. This lead to a shrinking region if shift was negative (and
a growing region if shift was positive)
So instead of only keeping track of plane on one side (and mirroring
over in code) get the actual planes after shifting and use these
instead.
This code corrects this for ortho and perspective cameras, it does not
touch panoramic cameras.
Reviewed By: brecht
Maniphest Tasks: T69911
Differential Revision: https://developer.blender.org/D9342
|
|
Now that volume is a dedicated geometry type in Cycles, we need to re-allocate
the geometry when a mesh changes into a volume.
|
|
|
|
|
|
Account for custom normals for edit-mesh tools:
- Limited Dissolve
- Split
- Split (Edges/Vertices)
- Triangulate
|
|
Conflicts:
source/blender/blenkernel/intern/armature.c
|
|
Use new `BKE_pose_ensure` utils, and do so for reference linked object
too everywhere.
|
|
Avoids having to spread the check logic everywhere in the code.
|
|
|
|
Add check for an image space type.
Ref D9347
|
|
|
|
This patch improves the single core performance of the lattice deform.
1. Prefetching deform vert during initialization. This data is constant for
each innerloop. This reduces the complexity of the inner loop what makes
more CPU resources free for other optimizations.
2. Prefetching the Lattice instance. It was constant. Although performance
wise this isn't noticeable it is always good to free some space in the
branch prediction tables.
3. Remove branching in all loops by not exiting when the effect of the loop
isn't there. The checks in the inner loops detected if this loop didn't
have any effect on the final result and then continue to the next loop.
This made the branch prediction unpredictable and a lot of mis
predictions were done. For smaller inner loops it is always better
to remove unpredictable if statements by using branchless code patterns.
4. Use SSE2 instruction when available.
This gives 50% performance increase measured on a
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz with GCC 9.3.
Also check other compilers.
Before:
```
performance_no_dvert_10000 (4 ms)
performance_no_dvert_100000 (30 ms)
performance_no_dvert_1000000 (268 ms)
performance_no_dvert_10000000 (2637 ms)
```
After:
```
performance_no_dvert_10000 (3 ms)
performance_no_dvert_100000 (21 ms)
performance_no_dvert_1000000 (180 ms)
performance_no_dvert_10000000 (1756 ms)
```
Reviewed By: Campbell Barton
Differential Revision: https://developer.blender.org/D9087
|
|
|
|
This looks like a optimizer bug where it makes wrong assumptions.
The code inside lib_id_delete:264 on rBafd13710b897cc1c11b
`for (id = last_remapped_id->next; id; id = id->next) {..}`
is not executed in release/relwithdebinfo builds.
This can be "fixed" by several ways:
- Adding a line that prints the `last_remapped_id->name` right before
the said for-loop starts.
- Turning off optimization for the whole function `id_delete`:
`#pragma clang optimize off/on` Ray Molenkamp
- Marking `last_remapped_id` volatile. Julian Eisel
- Marking `tagged_deleted_ids` volatile. But it adds a warning when
calling `BLI_addtail`: discards volatile qualifier. Discovered by
accident.
Fix T81077
Reviewed By: mont29
Maniphest Tasks: T81077
Differential Revision: https://developer.blender.org/D9315
|
|
|
|
Finaly managed to reproduce, we not only have to ensure pose data is up
to date for the override armature, but also for the reference linked
data.
|
|
|
|
More operators missing the mandatory undo flag...
|
|
Without this, there was no way of finding out which object, modifier
combination caused the error, making the logs not very useful
for debugging.
|
|
|
|
|
|
Set property split in the higher level panel functions so that it carries
over to buttons added after. Also discard the redundant "Symmetry"
to make sure there is enough space for the checkbox label.
|
|
The now redundant "X" checkbox is removed since it's also present in the
Symmetry panel above. The Topology Mirror is moved into the Symmetry
panel also.
This was needed because `Mesh.use_x_mirror` has recently been turned into
different functionality, and its old functionality now lives under
`Mesh.use_mirror_vertex_group_x`. Something went wrong in the UI in This
transition.
Differential Revision: https://developer.blender.org/D9287
|
|
Intern definitions are moved to sequencer/intern/sequencer.h
BKE_sequencer.h was also cleaned up a bit to make sure that functions
and structs are in correct category.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9259
|
|
|
|
Recursion happens in case when scene strip point to it's own scene
indirectly by using SEQ_SCENE_STRIPS option.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9264
|
|
It is possible to create scene strips pointing to each other. This is
sanitized when rendering, but in dependency graph such setup will cause
infinite loop.
This patch fixes loop in dependency graph, but same problem exists in
audaspace
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9262
|
|
Main DB and it's structs can point to different address after undoing.
In this case problem was that bmain was not updated. Same fix was
done for scene as well.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9240
|
|
|
|
When using local area, all nodes need to build their constraints first
before activating them for simulation. THis ensures that nodes get their
structural constraints from the initial location of each symmetry pass.
Reviewed By: sergey
Maniphest Tasks: T81904
Differential Revision: https://developer.blender.org/D9303
|
|
The plane deformation falloff was introduced in the first version of the
cloth brush, but due to the lack of all the new features and fixes in the
solver it was causing a lot of artifacts for deformation brushes. In
order to avoid that, the cloth brush was always using radial falloff for
the grab brush.
Now the plane falloff is properly implemented using the deformation
constraints.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9320
|
|
This adds a tool property for sculpt line gesture tools (line and
project) to limits its effect to the segment of the gesture instead of
using the infinite line to bisect the mesh in two parts.
To achieve that, the line gesture now has two extra side planes that can
be enabled/disabled for getting the nodes from the PBVH and to test the
vertices.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D9307
|
|
This adds an operation mode to the Face Set Edit tool which deletes the
geometry of a Face Set by clicking on it.
The operator also checks for the mesh having a single Face Set to avoid
deleting the entire object by accident.
This is also disabled for Multires to avoid modifying the limit surface
without control (it is not an important limitation as base meshes for
multires are usually final, but maybe it can be supported in the future).
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8938
|
|
This commit contains some improvements to this function to make this
function more purposeful and readable.
- Split updating information of the old button to a new function.
- Remove some 7 year old code disabled with `#if 0`.
- Add comments explaining some of the less obvious aspects.
Differential Revision: https://developer.blender.org/D9117
|
|
This is a followup to rBa308607a533, using the macro in a few places
that were missed.
|
|
A cell with winding number > 1 for the second operand was incorrectly
included in the output.
|
|
A cell with winding number > 1 for the second operand was incorrectly
included in the output.
|
|
The previous fix forgot the case where there is an intermediate
edge and everything isn't in one plane.
|
|
The previous fix forgot the case where there is an intermediate
edge and everything isn't in one plane.
Differential Revision: https://developer.blender.org/D9336
|
|
Approximately 141 changes of capitalization to conform to MLA title style.
Differential Revision: https://developer.blender.org/D8392
Reviewed by Julian Eisel
|
|
The versioning code to default to old booleans for old files was
faulty because really old files had a 'solver' field (later removed,
but then added back for new booleans).
|