December 8, 2013, 08:02 (GMT) |
Moved remaining state variables of the PointCache DNA struct into the PointCacheState struct. |
December 8, 2013, 08:02 (GMT) |
Unused function parameter. |
December 8, 2013, 08:02 (GMT) |
Cleanup and restructuring: New 'state' struct in PointCache of type PointCacheState, which holds all the non-user-defined state variables for baking and validity. This has its own flags, so the state flags are conceptually separated from the user-defined options. The old flags are still in the DNA for backward compatibility mapping, with an underscore prefix and _DEPRECATED suffix so they are not used accidentally and name collision is avoided. |
December 8, 2013, 08:02 (GMT) |
Moved the compression enum items for point cache into a true enum typedef instead of using #defines. |
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) |
Removed the types.h file, not used and doesn't have a clear purpose. |
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) |
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) |
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) |
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 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) |
Removed a few unused variables. |
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) |
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) |
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 the disk/memory toggle for point cache. |
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) |
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. |
|
|
|


Master Commits
MiikaHweb | 2003-2021