March 23, 2015, 11:23 (GMT) |
Nicer info printing support for instances in Alembic files. This now avoids repetition of internal instance structure. |
March 23, 2015, 11:23 (GMT) |
Fix for invalid ob->data access in case non-mesh objects are in the cached group. |
March 23, 2015, 11:23 (GMT) |
Improved edge attribute caching. Now edges should be fully restored from cache, fixing edge display. |
March 23, 2015, 11:23 (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 23, 2015, 11:23 (GMT) |
Fix for particle pathcache caching: have to check the psys->renderdata pointer to figure out if we are evaluating with render settings. |
March 23, 2015, 11:23 (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 23, 2015, 11:23 (GMT) |
Implementation of MDeformVert customdata layers in Alembic. |
March 23, 2015, 11:23 (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 23, 2015, 11:23 (GMT) |
Fix for Alembic info printer printing to std::cout instead of the internal stringstream. |
March 23, 2015, 11:23 (GMT) |
Fix for potential size issue: need 64 bits for CustomDataMask types. |
March 23, 2015, 11:23 (GMT) |
Nicer error handling for unimplemented CustomData layer types. Instead of failing an assert, simply print an error message and return gracefully. We don't want Blender crashing because of this. |
March 23, 2015, 11:23 (GMT) |
Ugly hack for caching code to deal with quirky modifier stack behavior. CustomData layers are pruned by the CDDM_copy function when they have CD_FLAG_NOCOPY set. This is based on later modifiers in the stack, which can specify that they require certain data layers - but the caching modifier itself should store only what is needed by later modifiers. It means we cannot easily keep a full copy of the DM in the cache modifier to writing into caches later. For now the hackish solution is to temporarily disable NOCOPY flags when copying the DM. This is really not nice and needs a better solution. |
March 23, 2015, 11:23 (GMT) |
Support CD_ORIGSPACE layer caching. This is needed by particles for distributions on meshes with changed topology (which is of course broken). |
March 23, 2015, 11:23 (GMT) |
Tessface customdata for derived mesh caching. |
March 23, 2015, 11:23 (GMT) |
Support for CustomData in Alembic caches. This is a skeleton feature that provides a general way of storing CustomData types. Currently only ORIGINDEX layers are implemented, the code is designed to make extension easy. Storing CustomData layers in Alembic is a bit involved because the complex structs often used as customdata need to be de-interleaved for Alembic into a set of POD (plain-old-datatype) array properties. In addition the property names should be unique, so that mapping abc properties back to customdata layers is safe. This works by using 2 levels of compound properties: the first level stored per CD type properties, with a number of properties for each layer of this type, using either a name or index (for unnamed layers). The internal properties can then in turn be compounds, if structs need to be serialized into PODs. Abc property readers/writers are created dynamically for the CustomData compounds. This is necessary because we don't know in advance what kind of data layers a DerivedMesh or other CD user will have, and this can change each frame in theory. Alembic is easier with state data schemes, but using it this way is possible (if somewhat cumbersome). |
March 23, 2015, 11:23 (GMT) |
Fix for cache item filtering: items can be part of the cache library but disabled, in that case hide them as well. |
March 23, 2015, 11:23 (GMT) |
Fixed test for "render" eval mode for hair dynamics. This is totally weird and convoluted, no idea if correct. Conflicts: source/blender/blenkernel/intern/particle_system.c |
March 23, 2015, 11:23 (GMT) |
Removed the DM writer/reader from hair dynamics again, this is part of the particle stuff and does not work. |
March 23, 2015, 11:23 (GMT) |
Archive Info operator for Cache Library archives. This creates a string with information about all the objects and properties contained within a (Alembic) archive, used by a cache library. The operator has 3 modes of presenting the info string: - stdout, ie. printing to the terminal - popup window (not very useful usually due to size limits and lack of scrolling) - clipboard copy |
March 23, 2015, 11:23 (GMT) |
Use a combined class for hair dynamics for cloth and mesh data. Particles store a copy of the DM internally as the emitter. |
|
|
|


Master Commits
MiikaHweb | 2003-2021