April 11, 2015, 19:50 (GMT) |
Optional force and jacobian return values from angular bending springs, for occasional debugging. |
April 11, 2015, 15:31 (GMT) |
Fix for install_deps script: declare "skip-alembic" as a formal parameter or it won't be parsed at all. |
April 11, 2015, 10:44 (GMT) |
Child strand deformation based on parent motion states when reading from caches. This allows child strands to follow the motion of parent strands as calculated by the hair simulation. Unlike the particle system path caching, this method does not regenerate all the children every frame. Instead, it relies on an initial child setup that defines the base shape, then applies the parent motion as a weighted linear deformation. The result is in fact the same as with regular particle clumping, kink, roughness etc.. Particles also take care to not change the child shape when the parent moves, but this is not formalized anywhere (which makes changing particle code quite difficult). So ignoring the particle code is both permissible and efficient. |
April 11, 2015, 10:38 (GMT) |
Fix for stupid particle times. Normalize particle 'time' values to 0..1 range when writing to cache, anything else is useless. |
April 10, 2015, 11:53 (GMT) |
Small fix for uninitialized variable (currently unused). |
April 10, 2015, 11:48 (GMT) |
Implemented alembic archive info as a stream callback and disabled popup and clipboard output. For a production-size archive the info string can become really large, and putting it into a buffer takes a long time. As a debugging tool the stdout printing is sufficient for now and can be done as a stringstream. |
April 10, 2015, 10:34 (GMT) |
Use depsgraph tagging and notifiers to enforce dupli cache updates in the viewport. |
April 10, 2015, 09:55 (GMT) |
Explicit flags for toggling motion (from simulation) and child strands in both display and render of caches. |
April 10, 2015, 08:03 (GMT) |
External forces in strand hair simulation. Arbitrary wind force "density" factor has been moved out of the force function now, so cloth simulation can do this on it's own without affecting the strand sim. |
April 10, 2015, 07:15 (GMT) |
Goal springs for cached strand simulation. In addition to the original particle hair sim settings the parameters for strand sim have a curve to define the strength of goal springs along strands. This useful because currently there is no way to override the weights of strands. This would require a new particle edit mode that can work with non-particle data in a sane way ... |
April 9, 2015, 19:10 (GMT) |
Disable the UI for drawing objects of cache libraries. This takes an arbitrarily large amount of space in the UI and does currently not have a good purpose. Eventually this information could be displayed in a dedicated part of the UI, with proper scrolling. |
April 9, 2015, 16:50 (GMT) |
Added visibility attribute for dupli objects in Alembic caches. This combines the DupliObject.no_draw flag with the instanced object's visibility. |
April 9, 2015, 15:34 (GMT) |
Fix for potential memory corruption in selection drawing code. This code works much like the main object drawing code and has to take the same precautions regarding replacing the derivedFinal pointer in Objects. This pointer may be replaced during drawing calls, regardless of the "ownership" indicated by needsFree. |
April 9, 2015, 13:35 (GMT) |
Check for empty schemas more consistently before trying to read. Reading from an empty object in Alembic will throw an exception, which is not easily handled yet. So rather avoid annoying crashes the clumsy way for now. |
April 9, 2015, 12:45 (GMT) |
Writer for child strand data. Cache chains now support child strands too, instead of dropping child data when writing out from strand data. |
April 9, 2015, 10:11 (GMT) |
Extended Cycles to support both parent and child strands. The code for syncing Strands and StrandsChildren data to Cycles curves is almost identical, so to avoid code duplication a little templated traits type has been defined, which provides the appropriate accessors for both cases. This is very local and should not be too confusing. |
April 9, 2015, 08:44 (GMT) |
Cache reader for child strands. This creates child strands along with the parents. These are not yet deformed by parents or simulation, and are also not written back into subsequent caches yet. |
April 9, 2015, 07:57 (GMT) |
Store child strand curves alongside the parent strands in dupli object data. Child strands have their own struct type for vertices and curves to avoid unnecessary overhead (parent curves store a full 3x3 matrix after all). Child strands may be constructed from particle pathcaches, or read from curves data in alembic files. |
April 9, 2015, 07:03 (GMT) |
Nominal support for UVs and Vcols with cached strand data. These are dummy values currently. The UV and vcol values will be stored in strands directly, unlike particles which evaluate them every time; this is a much safer and more efficient approach that makes strand data truely independent from the "emitter" mesh. Such data will be made available later, primarily for child curves. |
April 8, 2015, 20:35 (GMT) |
Fix for object matrix sampling with the default 1-second rate. |
|