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. |
|