This is mostly a hack to test the Cycles Alembic procedural until we have a
better Blender side mechanism for letting renderers load their own geometry.
It is only enabled whenThis patch exposes the Cycles Experimental feature set is enabled, andAlembic Procedural through the MeshSequenceCache
only works for viewport rmodifier in order to use and test it from Blendering.
To enable it, one has to switch the render feature set to experimental and
activate the Procedural in the modifier. An Alembic Procedural is then
created for each CacheFile from Blender set to use the Procedural, and each
Blender object having a MeshSequenceCache modifier is added to list of objects
of the right procedural.
The procedural's parameters derive from the CacheFile's properties which are
already exposed in the UI through the modifier, The procedural's parameters derive from the CacheFile'salthough more Cycles specific
propertiesoptions might be added in the future.
As data is not persistent for final rendersAs there is currently no cache controls and since we load all the data at the
the beginning of the render session, the procedural is only available during
viewport renders at the moment. When an Alembic procedural is rendered, data
from the archive are not read on the Blender side.
This is mostly a hack to test the Cycles Alembic procedural until we have a
better Blender side mechanism for letting renderers load their own geometry,
which will be based on import and export settings on Collections (T68933).
Also included in this patch, although it will committed separately, is a
setting to always add a cache reader (either a MeshSequenceCache modifier or
a Transform Cache constraint) to the objects created from an Alembic archive.
This setting is mostly useful to reload every object from the archive when it
is updated without having to resort to re-importing the entire scene, but it is
also used here to ensure that every object created from Alembic will be rendered
through the Procedural.
Ref T79174, D3089
Depends on D10196