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, 15:43 (GMT) |
Merge branch 'master' into gooseberry |
May 1, 2015, 14:11 (GMT) |
Merge branch 'alembic' into gooseberry Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp |
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, 11:07 (GMT) |
Rotation randomization feature for the particle instance modifier. When using the hair path deformation feature of the modifier, each copy of the mesh can now be rotated around the path, in addition to changing length and offset. This includes a constant phase angle as well as a randomization factor. |
May 1, 2015, 08:28 (GMT) |
Merge branch 'alembic' into gooseberry |
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, 15:47 (GMT) |
Graph editor uses own function for setting frame, use scrub flag there as well. |
April 30, 2015, 15:27 (GMT) |
Bring back audio scrub after last commit |
April 30, 2015, 14:48 (GMT) |
Make Hjalti happier commit. Treat scrubbing as animation. This takes care of too many updates from our armature system. |
|