May 4, 2015, 11:05 (GMT) |
Consider an empty keyblocks list to be a new key, so a Basis shape is added automatically. |
May 4, 2015, 11:04 (GMT) |
Actual shape key evaluation in the shape key modifier for caches. |
May 4, 2015, 11:01 (GMT) |
Make strand shapes relative by default. |
May 4, 2015, 11:01 (GMT) |
Unused variables. |
May 4, 2015, 10:59 (GMT) |
New 'fromtype' variable in Key to allow handling type-dependent pointer size and stride. This is terribly messy due to the legacy code. At some point should be cleaned up to get rid of the 'from' backpointer and simplify. |
May 4, 2015, 10:57 (GMT) |
Create a dummy weights array for strand keys, otherwise the eval function will exit early. |
May 4, 2015, 10:54 (GMT) |
Fix for lib_link of cache shape keys, avoid discarding this, they are expected to stay alive. |
May 3, 2015, 17:25 (GMT) |
Fix for incorrect/unnecessary storage of Key data in readfile. The Key struct in the cache strands shape modifier is in fact "owned" by the modifier, but linked in the Main blenddata, so it does not have to be written explicitly. |
May 3, 2015, 17:19 (GMT) |
Added a new "Modifiers" display mode for cache libraries, which reads the source cache and then applies modifiers afterward. This only performs non-iterative modifiers, which don't require the passage of time to work (e.g. shrinkwrap). |
May 3, 2015, 16:24 (GMT) |
Main shape key implementation for cached strand data. This includes storage of the shape keys in a `Key` instance in the modifier data, and accompanying operators for adding, removing, moving, etc. shape keys, as well as the necessary UI code. |
May 3, 2015, 11:46 (GMT) |
Extended 'add' function for shape keys that allows passing a NULL pointer for 'from'. The Key DNA has some very old and largely deprecated legacy code that needs initializing, which requires either explicit info or deduction from an ID. The cache modifier creates keys in a new environment without an existing known ID type to deduce the data element settings from. |
May 3, 2015, 10:47 (GMT) |
Some NULL pointer checks in shape key code to ensure the Key struct can be used without a 'from' pointer. |
May 3, 2015, 10:13 (GMT) |
New cache modifier type "Strands Key" for implementing shape keys on cached strands data. This modifier acts as a container for shape key data (i.e. as part of the cache library). Such shape data can be applied to cached strands data, which allows tweaking of animated hair shapes. This could work both as a shape for the strand goals (adding dynamics on top) or as a final modification after dynamics. Both methods have their advantages (pre-sim allows control and sim at the same time, post-sim gives accurate shapes but becomes rigid). |
May 3, 2015, 10:07 (GMT) |
Removed optimization by applying cache shrinkwrap modifier only in the realtime pass. As with hair sim, this would be preferable, but is causing too many problems with the current cache archive layout. |
May 1, 2015, 14:09 (GMT) |
Fix for memory leak when reading cached strands data with UV or vertex color layers. The layer data is added to the strands after creation, but can be existing already. It should only be reallocated when the number of layers changes, and must be freed cleanly in that case. |
May 1, 2015, 13:51 (GMT) |
Alternative implementation for goal spring targets as vertices. When using external forces to implement goal springs to explicit positions in space, the system cannot calculate a stable solution based on the goal velocities. The new approach implements goals as vertices in the simulation, which are constrained to their animated locations. This way they are treated like regular vertices, but the springs only affect their non-constrained counterpart (the actual vertices). |
May 1, 2015, 08:24 (GMT) |
Fix for shifted sample-to-frame mapping in Alembic files with hair simulation. The hair sim skips the first frame (velocities are undefined there), but still has to create the motion state data in order to have it written as a sample. Otherwise the strands motion state samples start one sample short and frames get mapped to one sample in the past. This then leads to incorrect movement of all hair vertices other than the roots (which are always clamped to the animated positions). |
April 30, 2015, 10:14 (GMT) |
Fix for deflector force fields in cache simulation. Make sure forces always push outward when not using "double sided" deflectors (default). |
April 29, 2015, 12:16 (GMT) |
New shrinkwrap modifier for cached hair data. This is experimental. It might work for simple collision-like features, by keeping goal positions for hair above the mesh surface. However, the nature of nearest-point lookup on meshes means that the goal position can flip to the other side of a mesh rapidly, which would lead to strong forces and unstable behavior. This code should be seen as an experiment. |
April 29, 2015, 09:41 (GMT) |
Alembic: Fix compilation error after recent task/threads changes For some reason CMake worked just fine, but SCons was giving issues. |
|