Now it's possible to trace a sequence of images and not just a single one
When the trace is for more than one image, a bacth job is started to process all frames.
Note: All trace data is generated by Potrace library.
Differential revision: https://developer.blender.org/D9316
We already had the ability to bake fcurves but no way to convert the
baked result back without using python. This patch adds and operator
that is available now next to the bake operator in the drop down menu,
Reviewed By: Sybren
Differential Revision: http://developer.blender.org/D6379
Not sure why Collection was the only ID for which depsgraph building did
not check for potential recursion?
Reviewed By: sergey
Maniphest Tasks: T82149
Differential Revision: https://developer.blender.org/D9365
Previously, only predefined and limited set of intrinsics combinations
could have been refined. This was caused by a bundle adjustment library
used in the early days of the solver.
Now it is possible to fully customize which intrinsics are to be refined
during camera solving. Internally solver supports per-parameter settings
but in the interface they are grouped as following:
* Focal length
* Optical center
* Radial distortion coefficients (which includes k1, k2, k3, k4)
* Tangential distortion coefficients (which includes p1, p2)
Differential Revision: https://developer.blender.org/D9294
Historically the refine options had a hardcoded list of possibilities.
This was caused by an old bundle adjustment code which did not support
all possible combinations.
Now the bundle adjuster is based on Ceres solver, allowing to refine
anything in any combination.
Introduced recently in 09139e41ed.
While this worked in the cases it was used, '--threads' for example
was failing to parse the number when it's pass was set to 0.
Increase the enum values to start at 1 &
add asserts so this wont happen again.
Avoid passing the pass argument to BLI_argsAdd, instead set this
once for each group of passes.
This means we can add new passes without having to bump the arguments
to BLI_argsAdd.
This function from 2017 came with a comment: "TODO Nuke this once its
only user has been correctly converted to use generic IDmanagement"
Since it is unused after rB91462fbb31ba, now is time to remove it.
Differential Revision: https://developer.blender.org/D9368
`sys.executable` is documented to be a Python interpreter or None.
This was set to Blender's executable which caused the multiprocessing
module to spawn new instances of Blender instead of Python on WIN32.
See issue described in D7815.
Deprecate 'bpy.app.binary_path_python' & warn when using.
Blender's executable remains accessible via `bpy.app.binary_path`.
ASAN reported a use after free in after rB15d78ea85b602c. This commit
removed a reassignment of the `data` variable here that was actually
required because it may have been freed earlier in the function. This
sort of error would be avoided if the same variable wasn't reused for
different purposes.
The new option to filter the layers used by the Fill tool was not using the boundary strokes. The problem was the layers were skipped and any boundary stroke was not used.
Now, the layer is not skipped, but the strokes that are not boundary are skipped.
The logic of `BKE_sculpt_update_object_for_edit` was not correct. such
low-level functions should typically never preform depsgraph evaluation
themselves, they should be able to rely on getting a fully evaluated
depsgraph and just get needed data from there.
Supporting that required fixing other broken code higher in the
callstack, namely:
* `ED_object_sculptmode_enter_ex` was freeing evaluated data, for no
valid reason it would seem.
* `sculpt_undosys_step_decode` was ensuring an evaluated depsgraph
**before** calling `ED_object_mode_generic_exit`, which would
invalidate a lot of evaluated data.
Note that it is fairly difficult to track down all code paths leading to
`BKE_sculpt_update_object_for_edit`, so there may be still cases where
this gets called with improperly evaluated depsgraph.
Reviewed By: sergey
Maniphest Tasks: T81854
Differential Revision: https://developer.blender.org/D9270
When selecting multiple layers, the redo operator might not correctly
update the pose data. To make sure it is in a good state we have to
ensure that the pose data is good.
Reviewed By: Bastien
Differential Revision: http://developer.blender.org/D9354
The simple subdivision as a type only causes issues like no-continuous
normals across edges, inability to reliably switch the type and things
like this.
The new subdivision operators supports wider variety of how to add
details to the model, which are more powerful than a single one-time
decision on the subdivision type.
The versioning code is adjusting topology converter to specify all
edges as infinitely sharp. The reason for this (instead of using
settings.is_simple) is because in a longer term the simple subdivision
will be removed from Subsurf modifier as well, and will be replaced
with more efficient bmesh-based modifier.
This is finished up version of D8436.
Differential Revision: https://developer.blender.org/D9350
Sub-systems that use directories from BKE_appdir needed to be
initialized after parsing '--env-system-datafiles'.
This meant the animation player needed to call IMB_init it's self.
Avoid this complication by having a pass that can be used to setup
the environment before Blender's resources are accessed.
This reverts the workaround from 9ea345d1cf
Improved user experience by using viewport focal length
to calculate the new camera distance.
Also resizing the border to the same aspect ratio as
the window will help not zooming in more than expected.
Ref D9341
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
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