This flag becomes stuck in certain situations, causing the marker
camera switch feature to not work.
To fix old files with the problem, clear the flag on file load.
Also, the line that is supposed to clear it has wrong bit math,
causing seq_render_scene_strip to effectively toggle the flag on or
off every time it's run, instead of restoring to original state.
The flag and code were added in 001789d733 by @campbellbarton.
when the scene is referenced as a strip from another VSE scene
Fix T49658: Evaluation / animation of f-curves does not correct
for a scene's position within another scene
Solution: Evaluate animdata before rendering scene seqbase.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4755
* The cache file datablock is now evaluated as part of the dependency graph,
creating/freeing the Alembic file handle matching the current frame.
Modifiers and constraints depend on this evaluation.
* Cache file handles and readers now only exist on COW datablocks, never the
original ones.
* Object data paths are flushed back to the original for the user interface.
* The cache file keeps a list of all readers associated with its handle, and
automatically frees them when the handle is freed. This kind of sharing of
data across datablocks is weak but we have no better mechanism for it.
Fix T62720: Alembic sequences not working and crashing
Differential Revision: https://developer.blender.org/D4774
This partially mitigates the performance drop in Spring
02_055_A.anim caused by dependency changes in D4715.
Differential Revision: https://developer.blender.org/D4753
Disable cache use, when rendering another scene seqbase.
Now cache limit applies only to one scene, so it can be overshot.
Cache of other scenes can be filled manually still.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4757
In 2.7x UV sculpt was a kind of sub-mode
(a toggle with it's own key-map & drawing code).
Move this to an operator that uses the tool-system,
this simplifies internal logic, especially brush selection
which now matches sculpt and other paint modes.
- Remove toggle used to enable uv sculpt.
- Expose the brush, which was already used but there was no way to
select different brushes.
- Make UV sculpt use paint paint tool slots
(using brushes how all other paint mode currently do).
- Move UV Sculpt keymap to the tools keymap.
- Remove Q to toggle UV sculpt mode,
S/P/G keys to switch tools.
- Merged SEQ_OFSDRAW with V3D_OFSDRAW and define in the
DNA_view3d_types: Due to this FSAA always kicked in making the
rendering slow.
- Removed `Texture Solid` and `DOF`.
- Now when chosing Solid rendering the settings
of the original scene is used.
- Added a global override to use scene specific shading. In the
Future we will need to enhanced this so user can change the
settings.
- Added support for LookDev. LookDev crashed as it needed the
`evil_C` what was not set
- LookDev mode will always show the scene + world lights.
Reviewed By: brecht, fclem
Maniphest Tasks: T62517
Differential Revision: https://developer.blender.org/D4738
Add special case to construct PointerRNA from evaluated NLA strip
to an original one when flushing animation back to the original ID.
Reviewers: brecht
Maniphest Tasks: T63865
Differential Revision: https://developer.blender.org/D4762
Some deform modifiers (like armature) use passed Mesh parameter to
retrieve some extra data (vgroups in our case), and default to obdata
when it is not available.
This should be fine in theory in the 'apply modifier to obdata' case,
since this is always the first modifier, but here upper-level code
passes **evaluated** object, not orig one, so ob->data is not orig
anymore, and might miss some stuff...
Note that am quiet unsure whether the way evaluated data is passed
around in that apply modifier operator code is actually OK, but for now
it seems to work at least...
This patch implements new cache system.
Aim is to give user more control over cache, so it can be maximally
utilized. This is done through sequencer timeline side panel
in category proxy & cache.
Cached images are also visualized in timeline, controled by
sequencer timeline view->cache menu
Functional changes:
- NOT use IMB_moviecache API
- refactor names of cached image types
- each scene owns 1 sequencer cache
- merge preprocess cache into per-sequencer cache
- cache links images rendered per frame in order as they are created
- add cache content visualization tool
- add RNA properties to control the cache
More info can be found in design notes in blenkernel/intern/seqcache.c
and in https://developer.blender.org/D4443
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4443
This patch fixes T63794 by updating duplicated bones' custom handle references
to point to the new armature's bones.
The problem occurs because B-Bones of a duplicated armature keep pointing to
the old armature's bones. The references are cleared upon entering Edit Mode
because there are no matching `EditBone` for such bones, and `find_ebone_link`
just returns `NULL` in such cases.
Reviewers: mont29, angavrilov
Maniphest Tasks: T63794
Differential Revision: https://developer.blender.org/D4726
Modifier previews should be implemented by a more generic system.
The current system is already a hack and needed a lot of work
to get it working again in 2.80 and even so that would be replaced by
another system in the near future.
For Vertex Colors we have a work around in place by using Workbench
Vertex Colors. For Vertex Weights we loose the previewing. Not sure
targetting weight is working (even for 279).
Reviewed By: brecht
Maniphest Tasks: T63857
Differential Revision: https://developer.blender.org/D4734
Force Displist to Mesh conversion if there is any modifier.
This is until we find a better way to store the batches per objects.
Also fix draw cache functions that were not returning final mesh edges.
On file read we need to update group nodes in case the group they refer to
has changed its inputs and outputs. This had O(n^2) time complexity and was
updating all datablocks even if they did not change.
Forward compatibility with that version is already long gone, and removing
it means we can avoid running some complicated code on every file read/write.
As far as I can tell, there is no technical reason why the B-Bone
segment thickness scaling can't be separated into two axes. The
only downside is the increase in complexity of the B-Bone settings,
but this is inevitable due to the increase in flexibility.
Updating the file is somewhat complicated though, because F-Curves
and drivers have to be duplicated and updated to the new names.
Reviewers: campbellbarton
Subscribers: icappiello, jpbouza
Differential Revision: https://developer.blender.org/D4716
Currently it is not possible to view the vertex colors of an object. To
optimize the workflow, workbench will need to support Vertex Colors.
The Vertex Colors is a new option in `shading->color_type`. When objects
do not have vertex color, the objects will be rendered with the
`V3D_SHADING_OBJECT_COLOR`.
In order to support vertex colors in workbench the current texture/solid
shading structure is migrated to a primary shaders and fallback shaders.
Fix: T57000
Reviewers: brecht, fclem
Differential Revision: https://developer.blender.org/D4694
This adds a new "Automatic" image display method which uses GLSL shaders for
most images. It only does CPU side color management for higher res images
where sending big float buffers to the GPU is likely to be a bottleneck or
cause memory usage problem.
Automatic is the default now, previously it was 2D Texture.