February 17, 2015, 14:51 (GMT) |
Merge branch 'master' into alembic_pointcache |
February 17, 2015, 13:27 (GMT) |
Optimization for particle path cache reading. The pathcache data structure is really not very good. Using pointers to small per-particle arrays leads to fragmentation and unnecessary pointer indirection. With the new optimizations walking over this buffer is a bit faster, but still not close to how fast Alembic could deliver the data. |
February 17, 2015, 12:40 (GMT) |
Sanity checks for Alembic archive validity to avoid crashes when trying an invalid file operation (e.g. overwriting files). |
February 17, 2015, 11:44 (GMT) |
Alembic caching support for particle paths. This hooks into the particle path update functions and reads cache data if available instead of constructing expensive child paths every time. Currently the cache grows quite rapidly due to lack of optimized sample storage: constant values such as numer of segments, times, colors etc only need to be stored in the first sample. "Velocities" (actually position deltas) could also be calculated on-the-fly, which is relatively cheap compared to full child calculation. In any case, disk space it cheap ... |
February 16, 2015, 18:12 (GMT) |
Fix for constructing cache reader/writer based on RNA pointer. Because of the awkward internal cloth modifier inside the particle system, we have to look at the psys to determine if we actually want to use the particle system cache or the internal cloth modifier cache. |
February 16, 2015, 17:40 (GMT) |
Sanity NULL check when freeing caches. |
February 16, 2015, 17:28 (GMT) |
Merge branch 'master' into alembic_pointcache |
February 13, 2015, 16:55 (GMT) |
Use a default handler for printing Alembic errors in case no explicit error handler is used, to avoid silent failure. |
February 13, 2015, 16:18 (GMT) |
Sanity check when trying to write cloth cache, the cloth data may not actually exist. |
February 13, 2015, 16:18 (GMT) |
Use a realistic time scale for cloth sim. |
February 13, 2015, 16:16 (GMT) |
Return a boolean value indicating success when getting the frame range of a cache. Also the default cache range is return in case no archive exists. |
February 13, 2015, 13:47 (GMT) |
Removed unused code. |
February 12, 2015, 18:36 (GMT) |
Use new point cache API in the cloth modifier. Currently broken. |
February 12, 2015, 16:43 (GMT) |
Cleanup: replaced the convoluted BKE_ptcache_id_clear function with specific variants for clearing and truncating the cache frame range. CLEAR_BEFORE is not used anywhere (it doesn't make much sense anyway). CLEAR_FRAME is just a special version for deleting a single frame and only used internally prior to replacing a cache frame. |
February 12, 2015, 15:37 (GMT) |
Merge branch 'master' into alembic_pointcache Conflicts: source/blender/blenkernel/intern/cloth.c |
February 12, 2015, 15:21 (GMT) |
Removed unused function. |
February 12, 2015, 14:55 (GMT) |
Read/Write implementation for cloth/hair data in alembic files. This data is very simple, just deform positions, velocities and goal positions. Future cloth might become more complex, but for now a plain Abc::Point schema is sufficient. |
February 12, 2015, 14:46 (GMT) |
Store a custom context pointer "cache_user" for point cache operators, so that all point caches can use the export feature. This was enabled only for particles. There is a lot of weird unexplained code with special cases all over the place - unified point cache should be possible in the end, but currently it's still a mess. |
February 12, 2015, 12:42 (GMT) |
Separation of the main point cache API from the Alembic implementation. Even though we probably will use only the Alembic backend in the foreseeable future, it is still good design to have a bit of abstraction in this place and not directly call Alembic functions. |
February 12, 2015, 09:26 (GMT) |
Merge branch 'master' into alembic_pointcache Conflicts: source/blender/blenloader/intern/versioning_270.c |
|