

Alembic is an open computer graphics interchange framework. Alembic distills complex, animated scenes into a non-procedural, application-independent set of baked geometric results. This �distillation' of scenes into baked geometry is exactly analogous to the distillation of lighting and rendering scenes into rendered image data. Alembic is focused on efficiently storing the computed results of complex procedural geometric constructions. It is very specifically NOT concerned with storing the complex dependency graph of procedural tools used to create the computed results. For example, Alembic will efficiently store the animated vertex positions and animated transforms that result from an arbitrarily complex animation and simulation process which could involve enveloping, corrective shapes, volume-preserving simulations, cloth and flesh simulations, and so on. Alembic will not attempt to store a representation of the network of computations (rigs, basically) which are required to produce the final, animated vertex positions and animated transforms.

WHAT IS ALEMBIC?

Alembic... ...Is a data representation scheme for storing computer graphics scenes

...Distills the results of artist disciplines for handoff to other artists in other disciplines

...Is focused on the greatest common divisor between applications, the 'periodic table of cg primitives'

...Is extensible to support new workflows and new tools Alembic Is Not... ...A dependency graph, nor a procedural data transformation tool

...A replacement for native application scene file formats

...An asset management application

...A general rigging storage solution Alembic Would Be Used... ...To bake the results of an animated scene for hand-off to lighting & rendering

...To hand off an animated creature for cloth or flesh simulation

...To store the results of a cloth or flesh simulation for use in lighting & rendering

...To hand off animated geometry to a physical simulation engine

...To store the results of a physical simulation engine for use in lighting & rendering Alembic Would Not Be Used... ...To transport complex procedural animation rigs between different applications

...To make lossless round trips out of and into the same computation context

...To construct complex networks of procedural tools

