December 29, 2014, 12:35 (GMT) |
Merge branch 'master' into depsgraph_refactor |
December 29, 2014, 11:57 (GMT) |
Cleanup and compile fix after merge |
December 29, 2014, 11:45 (GMT) |
Merge branch 'master' into vertex_paint_pbvh Conflicts: source/blender/editors/sculpt_paint/sculpt.c |
Revision 52baf7d by Lukas Toenne December 29, 2014, 08:14 (GMT) |
Nicer doc strings for BVHTree subclasses. |
Revision 817abd8 by Lukas Toenne December 29, 2014, 08:00 (GMT) |
Distinguish `use_poly_index` flag based on FACES/POLYS type instead of an explicit argument. This avoids meaningless cases when setting `use_poly_index` for vertex or edge BVHs and is nicer for bmesh which does not yet support both index types (only polys). Eventually BMeshBVHTree could support tessfaces as well, at which point it could get a similar type enum. |
Revision fd18aac by Lukas Toenne December 28, 2014, 14:48 (GMT) |
Simplified dm_tessface_to_poly_index, no need to keep two version of this around. |
Revision 8e6e0af by Lukas Toenne December 28, 2014, 14:26 (GMT) |
Splitting the BVHTree python type into two distinct subclasses for DerivedMesh and BMesh support. This avoids messy code due to mixed data in the same py type. And makes it clear at any point what kind of data the BVHTree instance represents. Both types are based on the common BVHTree type, which currently does not have any functionality of its own. Eventually it could implement common BVH functions (find-nearest and ray casting) as well as return read-only info about the size and type of BVH data. Note: While the BVH functions already use callbacks for providing a common interface in C, using this for python types would be redundant. It also still requires specialized data for some details of testing elements. |
December 28, 2014, 11:52 (GMT) |
Merge branch 'master' into asset-experiments |
December 28, 2014, 11:49 (GMT) |
Change timer of readdir job to 10ms, this gives an 'immediate' listing for most usual cases, as in current master. |
December 27, 2014, 16:26 (GMT) |
Merge branch 'master' into asset-experiments |
Revision 480ed9d by Martin Felke (fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) December 27, 2014, 15:21 (GMT) |
crash fix: automatic material names management was wrong (got internally longer and longer and caused a stack overflow after some fracture attempts) |
Revision c93971e by Martin Felke (fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) December 27, 2014, 13:40 (GMT) |
fix: convert to keyframes works directly from bake now, too |
Revision be30a2c by Martin Felke (fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) December 27, 2014, 12:27 (GMT) |
added a trigger flag, only rigidbody objects with this flag can trigger other objects (which themselves must be animated and have their "triggered" flag enabled |
Revision d46632d by Martin Felke (fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) December 27, 2014, 12:08 (GMT) |
fix: apply scale only prior to fracture again, preserve rotation because splinter rotation needs to be local |
December 27, 2014, 10:23 (GMT) |
Missing bmesh include path in scons files. |
December 27, 2014, 10:23 (GMT) |
IK solver for hair strands that provides a better solution for keeping consistent segment lengths when transforming vertices. Warning: The implementation is not correct yet, but all the steps should be there. The main idea is to treat strands as a sequence of joints that are displaced out of their original locations by a transform or other tool. The solver then tries to find a global per-strand solution that keeps the segment lengths unmodified, with a minimum change in angles from the original starting shape. Such a solution is much more usable and efficient than the current O(n^2) attempt of "spreading the error" across the strand. The inverse kinematics method is very flexible. It can also include stretching, which would be very welcome for features like the length tool. Different parts of the strand could be weighted separately using scaling factors for the angle/stretch parameters. |
December 27, 2014, 10:23 (GMT) |
Ported over the relaxation method for hair vertices from particle edit mode. This method is simple, but not really very usable. It works by successively relaxing segments that are too long or too short, moving both vertices along the edge between them. This is repeated N^2 times (N: number of vertices on the strand). A true IK solver could give a lot better results, as well as providing many opportunities to apply weighting for targets (e.g. preferring to move non-selected over selected vertices). Many different methods for simple IK solvers exist, so there should be one that works well for large number of simple strands. See e.g. http://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pdf |
December 27, 2014, 10:23 (GMT) |
Primitive transform operator support for strand vertices. This does not yet prevent root transforms and/or length changes. |
December 27, 2014, 10:23 (GMT) |
Improved hair combing tool, adjusting edge directions instead of vertex positions. This works a lot better with strokes perpendicular to the general hair strand direction. With the previous comb tool such strokes would only make a small dent in the hair curve and then vertices would slip out of the tool circle. The edge combing affects the local direction of strands, which acts as a kind of grabbing functionality by moving further vertices in front of the tool circle. The result is that drawing a curvy hair shape with the comb becomes much easier. In addition, the new tool also uses edge filtering and weighting rather than vertices. This means that small brushes also work well, instead of having no effect when hitting the edge segments between vertices. Further improvement could be achieved later by using a global strand solver, which adjusts vertex positions based on an error metric along the whole of the strand. |
December 27, 2014, 10:23 (GMT) |
Use a simple low-pass filter to generate a smoother, more stable direction vector for the hair stroke tool. This is necessary for directional tools such as combing, where the stroke direction can lead to unwanted results if it changes too abruptly. |
|
|
|


Master Commits
MiikaHweb | 2003-2021