Age | Commit message (Collapse) | Author |
|
Original sequence lookup failed, becase name changed in another thread.
Fix is same as 0471349c90df - stop prefetching before changing content
of seqbase.
I have covered more cases, and added assert so it is more obvious that
issue is in lookup, and it shouldn't fail.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8592
|
|
It makes no sense to generate/update overrides from missing (broken
linked) reference data, just keep existing ones unchanged then.
|
|
Reviewers: zeddb
Differential Revision: https://developer.blender.org/D8562
|
|
Missed this comment when updating fix for T77409.
|
|
This was a regression in deaff945d0b9 which skips copying a mesh.
Dupli-verts/faces were not updated to account for this.
This supports iterating over edit-mesh vertices & faces,
since falling back to a full copy (as we do in some places)
will be slow while transforming geometry.
This commit looks as if it would change behavior with orcos,
since any edit-mesh deformation causes them to be assigned.
However in practice there is no functional change, details in comments.
|
|
Two sided faces aren't supported and would cause many issues elsewhere.
|
|
Dupli verts/faces named these arguments differently.
|
|
Replace the evaluated mesh with VertexDupliData.mvert since only
vertices are used. This makes dupli-vert similar to how dupli-face
was already working.
|
|
De-duplicate mesh access & comments.
|
|
Needed for supporting edit-mode dupli-verts.
Currently the un-scaled short values are used to avoid
changing behavior (noted in comments).
|
|
|
|
Make it obvious which values are used read-only, which are written to.
|
|
This is particular important because 2.90 will coexist with 2.83 LTS, so
we should warn the users of potential loss of data when going from 2.90
to 2.83 and back.
Differential Revision: https://developer.blender.org/D8488
|
|
saving with 'Remap Relative' option
Caused by rBf7386b97571e.
Logic in BKE_bpath_traverse_main calls the callback multiple times [as
often as there are images in the strip].
Prior to above commit, the callback was
'bpath_relative_convert_visit_cb' [this one did not have this problem -
since it returned early if the path was already made relative once]
After rBf7386b97571e though, the 'bpath_relative_rebase_visit_cb' is
used [this one should not be entered multiple times, it would modifiy the
directy again and again].
Luckily, we have a flag (BKE_BPATH_TRAVERSE_SKIP_MULTIFILE) that can be
used to prevent this (this will take care of only calling the callback
once in BKE_bpath_traverse_main for the VSE case)
Could be backported to 2.83 I think.
Maniphest Tasks: T79676
Differential Revision: https://developer.blender.org/D8536
|
|
directly in the master collection.
Old and new collections are the same data in Master collection case
here, so we cannot consider the `gobject` listbase of `collection_old`
as always immutable.
|
|
This reverts commit 9adedb26055f03263fefba380980ee2abcb5327e. It changes
how duplis work, and by that altered how Alembic and USD files are
written. This was signalled by a failing Alembic unit test.
|
|
|
|
|
|
Support duplicators in edit-mode without creating a mesh copy.
|
|
|
|
The problem is caused by a lack of prediction in the `isect_line_segment_tri_v3`
that incorrectly confirms some intersections of coplanar segments to the triangle.
The solution is to use another algorithm to detect intersections.
This also resulted in a slight improvement in the performance:
- 1min 17sec to 1min 6sec in my test file
Differential Revision: https://developer.blender.org/D8500
|
|
In last set of refactoring patches, code implementing this feature
has been accidentally removed.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8449
|
|
This replaces header include guards with `#pragma once`.
A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`),
because they are used in other places.
This patch has been generated by P1561 followed by `make format`.
Differential Revision: https://developer.blender.org/D8466
|
|
In an upcoming bugfix we'll use OpenVDB data structures directly to build mesh
for sparse OpenVDB volumes, loading them OpenVDB grids earlier and removing any
references to Blender data structures makes that easier.
This also makes changes to Blender volumes to support this, so Cycles can take
ownership of a grid without Blender having to keep its own reference to it.
This should also be useful in a future Python API.
Ref D8401
|
|
|
|
Reviewers: sybren, sergey
Differential Revision: https://developer.blender.org/D8464
|
|
The default material was missing its init code.
|
|
This uses the vertices per grid instead of quads to set the limit of
grids per PBVH Node. This should create more leaf nodes in lower
subdivisions levels where the duplicates count is high, producing more
uniform performance across different levels.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8454
|
|
source object.
|
|
Face Sets where only set and updated on the PBVH after starting a sculpt
tool. In order to preserve the visibility they store when changing
levels, they need to be updated and sync also on PBVH creation
Reviewed By: sergey
Maniphest Tasks: T78665
Differential Revision: https://developer.blender.org/D8225
|
|
Duplicates of a grid corner adjacent to an edge which are on the
adjacent grid of the same face were not added when requested.
Needed for D8356 to work, it may also fix some other bug in Multires.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8385
|
|
|
|
Allows to identify pose channels more reliably than by the pointer.
|
|
This print whenever units are evaluated in number input was added in
45dbc38a8b15 mistakenly.
|
|
Fixes corrupt mesh from T79451.
|
|
Find free slot first for sound strips then for movie strips.
This patch also fixes issue where all strips were added to channel 2 by default.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8339
|
|
Also order return matrices last.
|
|
The last point of the curve was missing.
|
|
Will trigger code paths which makes sure UUIDs are generated and
are unique.
Enabled with --debug-depsgraph-uuid (which is also implied by
--debug-depsgraph).
|
|
Is aimed for use during development and debug, to help
verifying that operations do not leave sequences with
invalid UUIDs.
|
|
This is the first step for having sequences covered with session UUID
with the goal to remove code which uses original sequence pointer to
match sequences.
Currently this UUID is maintained on file load, allocation and leaf
duplication function.There are more cases to cover and ensure UUID
is re-generated or re-used when needed. It will be done as follow-up
development.
|
|
|
|
This uses mesh's runtime mutex for both `BKE_mesh_runtime_looptri_ensure`
(was using its own global RW mutex before), and `BKE_mesh_wrapper_ensure_mdata`
(was not protected at all before).
This is more like a band-aid than a proper fix, as mentioned in the report
proper fix would be for the modifier to request those data (the relevant
BVHTree, which would implicitely also call the tow others) through flags,
just like it does for regular CDData layers. But this is a much bigger
refactor to be done outside of bugfix scope.
Reviewed By: sergey
Maniphest Tasks: T78285
Differential Revision: https://developer.blender.org/D8415
|
|
|
|
This was fine in those cases with current code, but that kind of
assumption is always risky, and an open door to hard-to-track bugs when
code changes in the future...
|
|
This removes extern-C blocks around other includes and adds
such blocks for some headers that need them.
|
|
defined on the mesh.
Build a temp matarray storing materials from obdata and source object
(depending on slots 'allocation' of source object), and assign those to
targets.
Also remove limitation of 'using same obdata is forbidden', just never
edit obdata materials in that case...
Certainly not perfect, but already much better than existing code.
|
|
|
|
All these data arrays are created for a specific topology, so they should be
freed and updated when the PBVH rebuilds. Previously, this was only
happening when freeing the SculptSession, but it also needs to happen in
BKE_sculpt_update_object_before_eval to avoid reusing out of date data.
Reviewed By: sergey
Maniphest Tasks: T79074
Differential Revision: https://developer.blender.org/D8357
|
|
for the first time
When there is no color layer available,
BKE_sculpt_update_object_for_edit creates a new one and tags the mesh
with ID_RECLAC_GEOMETRY, so this layer is inmediatly available when the
tool starts. This also deletes the PBVH and when it is created again in
BKE_sculpt_update_object_after_eval, the pmap is not initialized, making
the tool crash.
This moves the color layer creation to a separate function outside
BKE_sculpt_update_object_for_edit, which now runs after the color
layer is available, so it won't need to update again and the pmap will
still be available when the tool is used.
Reviewed By: sergey
Maniphest Tasks: T78242
Differential Revision: https://developer.blender.org/D8135
|