Blender Git Loki

Blender Git "gooseberry_farm" branch commits.

Page: 47 / 93

March 23, 2015, 11:46 (GMT)
Cache reading functions for constructing a nested dupligroup list based
on Alembic cache data.
March 23, 2015, 11:46 (GMT)
Removed unused code.
March 23, 2015, 11:46 (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 23, 2015, 11:46 (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 23, 2015, 11:46 (GMT)
Include mesh writers in the cache writers list.
March 23, 2015, 11:46 (GMT)
Moved the DupliCache struct into DNA, it will be needed for drawing and
RNA access later.
March 23, 2015, 11:45 (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.

Conflicts:
source/blender/blenkernel/intern/cloth.c
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/particle_system.c
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)
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 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)
Fix for invalid ob->data access in case non-mesh objects are in the
cached group.
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 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)
Fix for potential size issue: need 64 bits for CustomDataMask types.
March 23, 2015, 11:23 (GMT)
Implementation of MDeformVert customdata layers in Alembic.
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)
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)
Fix for Alembic info printer printing to std::cout instead of the
internal stringstream.
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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021