Age | Commit message (Collapse) | Author |
|
|
|
Refactors Cycles mesh export a bit to avoid unnecessary copies and to be in
sync with the Blender baker.
|
|
|
|
|
|
|
|
Without this clang-format may wrap them onto a single line.
|
|
Prevents clang-format wrapping text before comments.
|
|
|
|
|
|
|
|
Unused since 2.4x.
|
|
Fixes T60251.
|
|
Needed to port operator to use evaluated particle system.
But also changed interface to always show Convert button when
draw type is set to Path (Hair particle system is forced to
be draws as path). This avoid rather expensive lookup on every
redraw, but will show Convert button for un-baked particle
emitter.
Probably, an acceptable compromise.
|
|
in viewport.
See D4163
Thanks to Habib Gahbiche (@zazizizou) for the fix.
|
|
Caused by rB36ca072375deea4803df4681716c1d3224095e07
[one instance of `DEG_get_original_object` was neccesary, the other one
breaks getting the parent in `BLI_ghash_lookup`]
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D4154
|
|
Same as with the other modifiers' binding ops, those need to be
performed outside of regular depsgraph eval.
|
|
Use rna naming conventions for unit-settings callbacks.
|
|
|
|
# Conflicts:
# release/scripts/addons
# release/scripts/addons_contrib
# source/blender/blenkernel/BKE_rigidbody.h
# source/blender/blenkernel/intern/rigidbody.c
# source/blender/depsgraph/intern/builder/deg_builder_relations.cc
# source/blender/editors/physics/rigidbody_constraint.c
# source/blender/makesrna/intern/rna_rigidbody.c
|
|
|
|
|
|
- Silence harmless error print about relation.
Object with particle system which doesn't use physics will
not have point cache component.
- Tag relations for update when particle system physics type
change.
This ensures correct state of point cache component.
This is all part of T59258.
|
|
Reviewers: brecht, dfelinto
Maniphest Tasks: T59500
Differential Revision: https://developer.blender.org/D4094
|
|
|
|
|
|
While the operator needs a depth to work as intended,
it feels buggy if the initial drag does nothing until a depth is found.
If the cursor isn't over any geometry calculate an initial depth.
|
|
Setting the light orientation would read depth from the light wireframe.
|
|
|
|
Part of T59335.
|
|
|
|
This restores the object->data to a non-modifier evaluated state.
So this allow us to change evaluated object modifier stack directly and
get BKE_mesh_new_from_object() for the evalauted object.
|
|
Build error introduced on: 285cfef695e18a63eba81a385f9fd82bcbccdabc.
|
|
|
|
|
|
|
|
|
|
|
|
also for now disabled "Geometry limitation tree", intent was to accelerate voronoi + bisect
by only processing "necessary" new geometry (and omitting unchanged), but doesnt work correctly
|
|
Basically what we address here is to make sure the active object and the cage
are not interferring with the baking result (e.g., when baking Combined).
To do so, we take advantage of the fact that we create our own depsgraph
for baking. So now we can change the cowed objects, instead of the
original ones.
Note: There is still a way to get a crash. If you try to bake from
selected to active when is_cage, but with no cage object, we get an
assert:
```
BLI_assert failed: //source/blender/blenkernel/intern/DerivedMesh.c
mesh_calc_modifiers(), at
(((Mesh *)ob->data)->id.tag & LIB_TAG_COPIED_ON_WRITE_EVAL_RESULT) == 0
```
We can bypass this by passing ob_low instead of ob_low_eval to
bake_mesh_new_from_object on object_bake_api.c:847 . But then the edge
split modifier change will take no effect.
|
|
# Conflicts:
# source/blender/modifiers/intern/MOD_boolean.c
|
|
Since we started using looptris we no longer need a triangulation
modifier in the highpoly object. In fact having was causing a bug
where baking would be utterly broken.
This fix normal baking. Combined pass still needs a fix to hide the
objects during baking.
|
|
The fix itself simply is to store the cage object as a pointer instead
of a string/name.
That said baking with or without cage is yielding very different results
than in 2.7.
|
|
There were at least three copies of those:
- OB_RECALC* family of flags, which are rudiment of an old
dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
as a separate set since the graph itself did not handle
particle systems.
- DEG_TAG_* which was used to tag IDs.
Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.
Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.
Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.
Fixes T58632: Particle don't update rotation settings
|
|
We had two different ways of doing it, SurfaceDeform and LaplacianDeform
would do it through a special modifier stack evaluation triggered from
binding operator, while MeshDeform would do it through a regular
depsgraph update/eval (also triggered from its binding op).
This enforces the later to search back for orig modifier data inside
modifier code (to apply binding on that one, and not on useless CoW
one).
Besides the question of safety about modifying orig data from threaded
despgraph (that was *probably* OK, but think it's bad idea in general),
it's much better to have a common way of doing that kind of things.
For now it remains rather dodgy, but at least it's reasonably consistent
and safe now.
This commit also fixes a potential memleak from binding process of
MeshDeform, and does some general cleanup a bit.
|
|
|
|
|
|
Binding and unbinding *has* to happen outside of 'normal' depsgraph
evaluation of modifiers now that we have CoW, otherwise persistent data
stored in modifier data are always lost!
Note that this is only first step of the fix, modifiers code needs also
some work. Surfacedeform one is in next commit, Laplacian case is much,
much more complicated to handle, given how it uses its cached data. :(
|
|
Fixes T58747
|
|
Matches behavior for other modes.
|
|
|