Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-21Cleanup: comments (mainly long lines)Campbell Barton
Comments after code can cause awkward line breaks.
2019-04-17ClangFormat: format '#if 0' code in source/Campbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-16Spline IK: support changing individual bone length via Y scaling.Alexander Gavrilov
Previously Spline IK provided only two choices: either scale the length of the bone chain to fit the length of the curve, or don't scale the bone in the Y dimension at all (ignoring effects of actually fitting to the curve due to curvature and curve object scale). This patch adds a new option to use the pre-IK Y scale of the bones to adjust their length when fitted to the curve, allowing individual posing control over the length of the segments. Reviewers: brecht Differential Revision: https://developer.blender.org/D4687
2019-04-16Cleanup: trailing commasCampbell Barton
2019-04-14Fix T61981: Local With Parent broken as constraint own space.Alexander Gavrilov
Specifically, matrix multiplication order in Local With Parent to Pose space conversion was wrong, compared with Pose to LWP.
2019-04-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-04-13Fix T37500: implement Bendy bone segment deformation interpolation.Alexander Gavrilov
Previously B-Bone deformation mapped every vertex to just one B-Bone segment. This results in abrupt transformation differences between the sides of each threshold plane, reducing the quality of B-Bone deformation and making the use of shape keys impractical. This commit replaces this approach with a linear blend between the two closest segment transformations, effectively representing the B-Bone as two weight-blended plain bones for each vertex. In order to distribute the interpolation more evenly along the bone, segment matrices for deformation are now computed at points between the segments and at the ends of the B-Bone. The computation also uses the true tangents of the Bezier curve for the orientation. The nodes at the end of the bone require some special handling to deal with zero-length Bezier handles caused by a zero ease value. The Copy Transforms constraint now also smoothly interpolates rotation and scaling along the bone shape when enabled. The initial version of the patch was submitted by @Sam200. Differential Revision: https://developer.blender.org/D4635
2019-04-04Fix T63276: crash deleting object with alembic constraint.Brecht Van Lommel
2019-02-18DNA: rename Object.size -> scaleCampbell Barton
Resolves a common cause of confusion.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-08Cleanup: rename V3D_MANIP_* -> V3D_ORIENT_*Campbell Barton
Wasn't obvious it's related to orientation, also term manipulator is no longer in use.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-02Cleanup: use G_FLAG_*/G_FILE_* for G.f/fileflagsCampbell Barton
Was confusing eg: G_AUTOPACK belonged to G.fileflags, G_PICKSEL to G.f.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-02-01Logging: Use CLOG for blenkernelCampbell Barton
Part of D4277 by @sobakasu
2018-12-19Fix T59237: Instancing on a path doesn't do anythingSergey Sharybin
This commit makes it so curve path parent solving accepts an explicit arguments for both time and curve speed flag, making it so we don't have to mock around with scene's frame. One unfortunate issue still is that if the instancing object is used for something else, we might be running into a threading conflict. Possible solution would be to create a temp copy of an object, but then it will be an issue of preventing drivers from modifying other datablocks. At least the original issue is fixed now, and things behave same as in older Blender version. Additionally, the global variable which was defining curve speed flag behavior is gone now!
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-01Fix T58433: Limit Distance constraint distance not auto-computed.Alexander Gavrilov
Another case of a value that needs to be written back to non-COW copy.
2018-11-25Use orig_pchan when searching for the original copy of a constraint.Alexander Gavrilov
2018-11-23Depsgraph: add a new operation node for computing B-Bone segments.Alexander Gavrilov
Computing the shape of a B-Bone is a quite expensive operation, and there are multiple constraints that can access this information in a variety of useful ways. This means computing the shape once per bone and saving it is good for performance. Since the shape may depend on the position of up to two other bones, often in a "cyclic" manner, this computation has to be a separate node with its own dependencies. Reviewers: sergey Differential Revision: https://developer.blender.org/D3975
2018-11-17Cleanup: styleCampbell Barton
2018-11-15Remove unused parameter.Alexander Gavrilov
2018-11-15Stretch To: fix initialization of the constraint with copy-on-write.Alexander Gavrilov
The constraint is supposed to automatically initialize the rest length when it is first evaluated, so now that evaluation is done on a separate copy it also has to copy the value to the master instance - or newly created constraints will be broken. Since this is supposed to happen once at constraint creation, implementing as a search for now instead of adding new fields.
2018-11-14Depsgraph: fix relations for drivers on bone weight in Armature constraint.Alexander Gavrilov
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-07Cleanup: styleCampbell Barton
2018-11-06Shrinkwrap: new mode that projects along the target normal.Alexander Gavrilov
The Nearest Surface Point shrink method, while fast, is neither smooth nor continuous: as the source point moves, the projected point can both stop and jump. This causes distortions in the deformation of the shrinkwrap modifier, and the motion of an animated object with a shrinkwrap constraint. This patch implements a new mode, which, instead of using the simple nearest point search, iteratively solves an equation for each triangle to find a point which has its interpolated normal point to or from the original vertex. Non-manifold boundary edges are treated as infinitely thin cylinders that cast normals in all perpendicular directions. Since this is useful for the constraint, and having multiple objects with constraints targeting the same guide mesh is a quite reasonable use case, rather than calculating the mesh boundary edge data over and over again, it is precomputed and cached in the mesh. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3836
2018-11-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-11-05Cleanup: use boolCampbell Barton
2018-10-29Fix T57488: crash in Shrinkwrap constraint due to unsafe multi-threading.Alexander Gavrilov
- Constraints must not use mesh_get_eval_final as it isn't thread-safe. - Depsgraph should keep lastDataMask when re-running COW.
2018-10-17Shrinkwrap: implement the use of smooth normals in constraint & modifier.Alexander Gavrilov
- Use smooth normals to displace in Above Surface mode. - Add an option to align an axis to the normal in the constraint. I've seen people request the alignment feature, and it seems useful. For the actual aligning I use the damped track logic. In order to conveniently keep mesh data needed for normal computation together, a new data structure is introduced. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3762
2018-10-17Cleanup: remove some #if 0 blocksJacques Lucke
Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D3802
2018-10-03Cleanup: styleCampbell Barton
2018-10-01Shrinkwrap Constraint: implement projection features from the modifier.Alexander Gavrilov
Allow raycasting in two directions and culling front or back faces. Also implement a new Invert Cull option in both constraint and modifier that can be used to aim for faces aligned with the project axis direction when raycasting both ways. Reviewers: mont29 Differential Revision: https://developer.blender.org/D3737
2018-09-26Implement additional modes for Shrinkwrap to a surface.Alexander Gavrilov
In addition to the original map to surface and Keep Above Surface, add modes that only affect vertices that are inside or outside the object. This is inspired by the Limit Distance constraint, and can be useful for crude collision detection in rigs. The inside/outside test works based on face normals and may not be completely reliable near 90 degree or sharper angles in the target. Reviewers: campbellbarton, mont29 Differential Revision: https://developer.blender.org/D3717
2018-09-24Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-24Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-09-20Fix build for MSVC: Remove trailing double semicolonDalai Felinto
Not sure why but MSVC is complaining for some of those. In particular for the struct in BKE_subdiv_ccg.h. Those were the ones crashing here..
2018-08-22Cleanup: styleCampbell Barton
2018-08-13Use full transformation of B-Bone segments in Copy Transforms.Alexander Gavrilov
Currently constraints can only read the location along the spline. This obviously limits opportunities for complex bone interactions in rigs. This patch exposes access to rotation and scale as well in Copy Transforms. However, due to the way how things work, this data cannot be smoothly interpolated, and abruptly changes when switching to the next segment. Reviewers: aligorith Differential Revision: https://developer.blender.org/D3545
2018-08-13Implement multiplicative Copy Scale and make it the new default.Alexander Gavrilov
Scale is a multiplicative quantity, so adding it doesn't make sense. However, for backward compatibility reasons, and in case somebody actually desires the old additive behavior, the old way remains as an option. Without this change the only way to properly combine scale is via parenting or the complicated Transformation constraint. The new mode is turned on by a flag for file compatibility, but the RNA option is reversed so that the new behavior feels more default. Reviewers: aligorith Differential Revision: https://developer.blender.org/D3558
2018-07-30Cleanup/Refactor: Move CurveCache runtime data into Object.runtime struct.Bastien Montagne
Also, fix missing cleanup of Object.runtime when copying Object datablocks!
2018-07-20Merge branch 'master' into blender2.8Bastien Montagne
2018-07-19Resolve the opposite vector ambiguity in Damped Track constraint.Alexander Gavrilov
Damped Track by specification attempts to arrive at the desired direction via the shortest rotation. However with opposite vectors there are infinitely many valid 180 degree rotations. Currently it gives up and does nothing. I think that it would be more reasonable to resolve the ambiguity arbitrarily, so that Damped Track won't have a weird dead zone. To make it more predictable I use a local axis. In addition, the singularity area vicinity has some floating point precision problems that result in significant jitter. This applies workarounds for two causes of instability. Differential Revision: https://developer.blender.org/D3530
2018-07-15WM: rename manipulator to gizmo internallyCampbell Barton
2018-06-28Cleanup: more DM include removal, use BAREMESH cddata mask in constraint code.Bastien Montagne