Blender Git Commits

Blender Git "alembic_pointcache" branch commits.

Page: 14 / 17

December 8, 2013, 08:02 (GMT)
'READ_OLD' cache return value translates to READ_CACHE_EARLY now,
meaning the requested frame/time value is before the first valid sample.
December 8, 2013, 08:02 (GMT)
Basic point cache reading for particles.

This currently requires exporting the Alembic archive. The automatic
caching is not yet implemented and may require some changes to account
for the sequential write limitations in Alembic and do some stitching
of old/new cache files.

Error handling is also rudimentary atm, the reader ErrorHandler::Policy
is just verbose printing atm. This happens a lot during export.
December 8, 2013, 08:02 (GMT)
Store the scene pointer directly in reader/writer base class. This is
required for a variety of uses, mostly related to fps calculation atm.
December 8, 2013, 08:02 (GMT)
Removed a few unused variables.
December 8, 2013, 08:02 (GMT)
Removed unused PTC elements from the blenkernel BKE_pointcache header.
All new point cache stuff is in its own pointcache folder to keep it
clean.
December 8, 2013, 08:02 (GMT)
Removed remaining pointcache->mem_cache access in particles. Instead the
particle system should now use its own local mem_cache list for storing
cache data in memory. The actual PointCache struct does not make this
distinction any more.

Eventually the particle system should have clean methods for reading
cache data into other structures for editing and displaying cache data,
but this can not be cleaned up easily without major refactoring. For now
the important thing is to keep psys away from the PointCache internals
so we can implement a nice API for it without psys interfering.
December 8, 2013, 08:02 (GMT)
Utility class for mapping Blender frames to a generic time scale.
This is used by writers and readers to convert frame numbers into time
values for the Alembic time sampling methods.
December 8, 2013, 08:02 (GMT)
Pass ListBase mem_cache as an explicit argument to the point cache
conversion methods. This will no longer be stored in the PointCache
DNA struct (all caches are disk based now).

ParticleSystem stores this as a separate list now, so it can keep using
it in edit mode and for trails drawing.
December 8, 2013, 08:02 (GMT)
Removed deprecated DNA data.

This will break forward compatibility, but this is broken either way,
there's no way we can smoothly convert new point cache data into the old
format without considerable effort. It's just a few settings for cache
behavior anyway, no valuable user work getting lost.
December 8, 2013, 08:02 (GMT)
Made the PTCACHE_DISK_CACHE flag deprecated and removed all uses. This
is assumed to be TRUE always, all caches are disk-based now, which
removes a lot of complexity from constant double-checking. Eventually
disk caches can be integrated into .blend files, but this will be a
secondary feature instead of an alternative format for caches, so we
don't have to implement every function in 2 different ways.
December 8, 2013, 08:02 (GMT)
Utility function PTC::Reader for getting the stored frame range.

The way this works is currently not ideal, it takes the start/end times
used by Alembic and then multiplies by the scene fps to convert into
frames. It might be better to use the sample numbers directly, but
we cannot associate these directly to frames so far.
December 8, 2013, 08:02 (GMT)
Replaced the mem_cache pointer in PointCache by a custom ListBase in
ParticleSystem PTCacheEdit for the particle edit mode. This is probably
broken like hell, but need to get rid of this for a clean point cache
API. Have to come back to particle edit mode later once we have proper
point cache in place.
December 8, 2013, 08:02 (GMT)
Disabled readfile/writefile code for memory point cache. In future all
caches will be assumed to be disk caches, with the option of packing
them into .blend files.
December 8, 2013, 08:02 (GMT)
In preparation for removing the point cache memory frame storage, set
all point caches to 'unbaked' to enfore rebaking.
December 8, 2013, 08:02 (GMT)
Removed mem_cache access in pointcache.c, i.e. assume that the
PTCACHE_DISK_CACHE flag is always set.
December 8, 2013, 08:02 (GMT)
Removed the disk/memory toggle for point cache.
December 8, 2013, 08:01 (GMT)
Removed the PTC_test_archive function, was just some initial testing
code for alembic API.
December 8, 2013, 08:01 (GMT)
Changed point cache writefile function to only write the point cache
struct, ptcaches lists are deprecated.
December 8, 2013, 08:01 (GMT)
Removed ptcache list code in readfile.c. This was intended to provide
some forward compatibility, but it's just not feasible to support this
nicely, so better accept breaking forward compat and don't touch this
DNA any more (keep code simple).
December 8, 2013, 08:01 (GMT)
Adapted bpath point cache traversal macro to single PointCache pointers.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021