Age | Commit message (Collapse) | Author |
|
|
|
The term color is misleading, it's an integer id that happens to be
written to a color in some cases, then converted back to an integer.
|
|
`deg_backup_object_runtime()`
Committing this since it does fix broken logic (previously in that
condition obdata would always be set to NULL, since
`BKE_object_runtime_reset()` is called before).
However, this has presumably been broken that way since 05/2018, so
maybe that whole condition is not needed anymore? Or NULL pointer was
working as well here?
@sergey eyes are required here I guess ;)
|
|
Caused by rBae2b677dcb5a70f5, Object.runtime has lot of weird specific
handlings in depsgraph...
For now modified `deg_backup_object_runtime()` and
`deg_restore_object_runtime()` to mimic previous behavior regarding
Object bbox (i.e. pass it around, instead of wiping it clean).
Reported in T61660.
|
|
The dependency graph now handles updating image users to point to the current
frame, and tags images to be refreshed on the GPU. The image editor user is
still updated outside of the dependency graph.
We still do not support multiple image users using a different current frame
in the same image, same as 2.7. This may require adding a GPU image texture
cache to keep memory usage under control. Things like rendering an animation
while the viewport stays fixed at the current frame works though.
|
|
|
|
The initial idea of using char pointer was to save some
memory since the dependency graph was kind of the one
with the main database.
Nowadays dependency graph should be separatable from the
main database and being self-sustainable.
Other issue which was caused by this pointer is the
re-tagging of operations during relations update: it is
possible to have node which as tagged for update but had
the owner of the name removed (i.e. driver or bone was
removed).
|
|
|
|
While \file doesn't need an argument, it can't have another doxy
command after it.
|
|
|
|
When bmesh was in a branch we had both edit_mesh and edit_btmesh,
now there is no reason to use this odd name.
|
|
|
|
This reverts "Depsgraph: Don't tag original IDs", commit:
5f814cb3b47df9255724e979458e05a42ed40f9a.
|
|
|
|
Is mainly used by drivers variables. The slow part was about
iterating over all pose channels to find the one which has a
given constraint.
Now we build a look up table, so this operation is way cheaper,
Brings down relations update time from 0.7sec to 0.4 with Spring
production file.
|
|
Currently should have no functional changes, but allows to
implement runction optimizations more localized and easily.
|
|
|
|
|
|
Previously was only shown on --debug-depsgraph-build which
had other unwanted noise.
|
|
This partially reverts bf2c5217 and makes it so animation is evaluated
for datablocks which were never evaluated within the dependency graph.
Not ideal, but safest way currently.
Animation for already evaluated datablocks will only be evaluated on
manual edits, so the initial bugfix is still valid.
|
|
|
|
This is unreliable for cases when multiple dependency graphs
are to be updated.
The only reason why it was attempted to be made is to deal
with cases when ID appears in the dependency graph for the
first time. But even then it should be smart enough bring
itself to an up-to-date state without any extra tricks.
|
|
Ensures that object which is set for instance-vert or instance-face
is evaluated prior to metaball. This is because metaball will request
list of instances during evaluation.
This should fix issue reported T61431 in release build. The assert is
still there and is to be addressed separately.
|
|
Mainly getting rid of old and somewhat misleading and unclear
comments.
|
|
This makes it so modifiers are using object transform prior
to the rigid body simulation, and then result of modifier
stack is fed to the solver.
Solves dependency cycle which was happening when object's
modifier was dependent on the modifier transform.
While now it is not possible to change simulation, things
are somewhat more clear and reliable in other ways.
For example previously, solver was using derives mesh from
a previous step in time, which causes unfixable simulation
issues (with intersections and such)
Fixex T57589: 2.79 Rigid Body Sim. Does Not Behave The Same In 2.8
Fixex T61256: Compositing scenes causes crash, but rendering separately does not
Fixes T61262: Armature and rigid body crash
Fixes T61346: Rigid body with modifiers incorrect work
|
|
This is what modifiers are to use to indicate that they depend
on a transformation of the object itself.
Currently should be no functional changes, but in the future
this will allow to easily change transform operation depending
on whether there is a simulation associated with the object.
|
|
|
|
Fix T61406: Particles don't render
Consider initial dependency graph evaluation as a file load.
Is still resetting too much, but that we can solve later.
|
|
Special case of handling update tag of 0 was using wrong update
source, causing unwanted point cache resets on file load.
|
|
Only flush copy-on-write to animation when user makes changes.
|
|
|
|
Was introduced by point cache reset on manual edits. Needed to
split evaluation and introduce an explicit init key, which allows
to hook up relations which are "monitoring" manual edits to the
channel.
Noticed while looking into T61190.
|
|
Automatic edits failed for indented comment blocks,
removed indentation & adjusted.
|
|
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
|
|
Now collection and objects can be either:
* Disabled for all the view layers.
* Hidden for a view layer but not necessarily for all others.
* Visible for a view layer but not necessarily for all others.
Regarding icons: Whatever we decide to use for the "Hidden for all view
layers" needs to be a toggle-like icon. Because when viewing "Scenes"
instead of "View Layer" in the outliner we should be able to edit the
collection "Hidden for all the view layers" as an on/off option.
The operators are accessible via a Visibility context menu or shortcuts:
* Ctrl + Click: Isolate collection (use shift to extend).
* Alt + Click: Disable collection.
* Shift + Click: Hide/Show collection and its children (objects and collections)
Things yet to be tackled:
* Object outliner context menu can also get a Visibility sub-menu.
* Get better icons for viewport enable/disable.
Note:
* When using emulate 3 button mouse alt+click is used for 2d panning.
In this case users have to use the operator from the menu.
See T57857 for discussion.
Patch: https://developer.blender.org/D4011
Reviewers: brecht and sergey
Thanks to the reviewers and William Reynish and Julien Kasper in
particular for the feedback.
|
|
[re-committing]
We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.
If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.
Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.
Development Note:
Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.
If this proves to be too slow, we can change.
|
|
No local work copy is expected to need preview data, at least it should
not. Part of copy flags cleanup, done in separate commit in case
something goes wrong here...
|
|
Those two first sets of flags should represent some common use cases.
The goal here is to reduce verbosity of calls to BKE_id_copy_ex, and
help make it more obvious the 'common behaviours' of ID copying across
codebase.
|
|
Time to follow conventions for that one as well.
|
|
This was used in *one* place only... much better to have a dedicated
helper for that kind of things. ;)
|
|
Following removal from C source code.
See: 8c68ed6df16d8893
|
|
Needed for clan-format not to wrap onto one line.
|
|
Missed when removing contributors.
|
|
Manual edits to object or its dependencies should reset the
point cache. Added special relations for this now.
|
|
Quite often we need to create nodes which defines various
evaluation stages.
|
|
|
|
Hopefully, this is the last one.
|
|
All done in separate commits, so it's easier to bisect just in case.
|
|
|
|
|