Blender Git Commit Log

Git Commits -> Revision d72fc36

Revision d72fc36 by Kévin Dietrich (master)
March 12, 2021, 00:30 (GMT)
Alembic procedural: add support for instancing

Inside of the procedural, instances are AlembicObjects which point to
the AlembicObject that they instance.

In Alembic, an instance is an untyped Object pointing to the original
(instanced) one through its source path. During the archive traversal we
detect such instances and, only if the instanced object is asked to be
rendered, set the instance's AlembicObject to point to the original's
AlembicObject.

Cycles Object Nodes are created for each AlembicObject, but only for
non-instances are Geometries created, which are then shared between
Object Nodes. It is supposed, and expected, that all instances share the
same shaders, which will be set to be the ones found on the original
object.

As for caching, the data cache for an AlembicObject is only valid for
non-instances and should not be read to or from as it is implicitly
shared.

Commit Details:

Full Hash: d72fc36ec5c632cafa2f9e2c8897ce81fc83a372
Parent Commit: 7017844
Lines Changed: +89, -15

2 Modified Paths:

/intern/cycles/render/alembic.cpp (+87, -15) (Diff)
/intern/cycles/render/alembic.h (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021