March 12, 2015, 16:05 (GMT) |
Replace usage of the procedural duplilist generation by cached duplilist. |
March 12, 2015, 15:40 (GMT) |
Store object pointers for the dupli objects we generate from caches. This is necessary for the current viewport drawing and rendering code, which expected each dupli instance to represent a copy of data in the DNA. The code maps base-level objects in the cache to DNA Objects inside the dupligroup by name. Only objects that can be found in the blend data will be allowed for DupliObjects. |
March 12, 2015, 14:55 (GMT) |
Moved the DupliCache struct into DNA, it will be needed for drawing and RNA access later. |
March 12, 2015, 11:22 (GMT) |
Simple operator to force rebuilding of a dupligroup cache. This is a placeholder for proper depsgraph integration. Eventually frame changes and some other updates should rebuild dupligroup caches automatically using the depsgraph. Until then this operator is a quick way to test the IO from caches and the further drawing and rendering (TODO). |
March 12, 2015, 11:21 (GMT) |
Cache reading functions for constructing a nested dupligroup list based on Alembic cache data. |
March 11, 2015, 15:22 (GMT) |
Include mesh writers in the cache writers list. |
March 11, 2015, 15:21 (GMT) |
Removed unused code. |
March 11, 2015, 12:59 (GMT) |
Removed current implementation of cache reading from various parts of BKE (DerivedMesh, particles, cloth). The new cache implementation will be used for constructing dupli data instead, bypassing the complexities of the modifier stack. |
March 11, 2015, 12:31 (GMT) |
Merge branch 'master' into alembic_pointcache |
March 11, 2015, 11:46 (GMT) |
Initial code to support dupli group instancing and overrides through Alembic caches. This creates representations (Abc::Object) for Blender Object and Group datablocks in the Alembic files and uses Alembic instancing to define the dupligroup hierarchy. This leads to a relatively flat hierarchy in Alembic files: Top -> Object/Group -> DerivedMesh/Particles/Hair/Cloth/Smoke/... The dupligroup structure can not be represented by a hierarchical structure such as the Alembic object nesting, because of the many-to-many relationship between objects and groups (a group can contain multiple objects, multiple objects can instance the same group). Instead we use the instancing feature of Alembic to represent dupligroups. This is created in 2 stages to ensure all the main ID blocks have been serialized before creating references. |
March 11, 2015, 11:43 (GMT) |
Nicer info printing support for instances in Alembic files. This now avoids repetition of internal instance structure. |
March 11, 2015, 10:42 (GMT) |
Fix for invalid ob->data access in case non-mesh objects are in the cached group. |
March 9, 2015, 16:42 (GMT) |
Improved edge attribute caching. Now edges should be fully restored from cache, fixing edge display. |
March 9, 2015, 16:40 (GMT) |
Omit hair path lengths for anything but the first sample. We can safely assume that paths don't change their lengths. This might safe some cache space. |
March 9, 2015, 14:51 (GMT) |
Fix for particle pathcache caching: have to check the psys->renderdata pointer to figure out if we are evaluating with render settings. |
March 9, 2015, 11:52 (GMT) |
Fix for some archive checks to make sure we don't access invalid data. This can happen if the archive file cannot be opened for some reason. |
March 9, 2015, 11:35 (GMT) |
Implementation of MDeformVert customdata layers in Alembic. |
March 9, 2015, 11:32 (GMT) |
Fix for name collisions in compound properties when writing CustomData. This is not clearly documented for Alembic, but apparently properties inside compounds still need to be name uniquely for the whole object. This is somewhat involved for Blender's CustomData, because we have 5 different customdata elements for meshes (vert, edge, face, poly, loop) and each of these can have the same types and multiple layers of the same type ... |
March 9, 2015, 10:35 (GMT) |
Fix for Alembic info printer printing to std::cout instead of the internal stringstream. |
March 9, 2015, 09:38 (GMT) |
Fix for potential size issue: need 64 bits for CustomDataMask types. |
|