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
2018-03-02Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-02Maintain scaling ratio of non-free axes in Maintain Volume T48079 fix.Alexander Gavrilov
This is probably a better way to handle it: instead of totally discarding scaling of non-free axes, keep the ratio between them. Basically the logic of the constraint is now that it rescales the object uniformly in the non-free axis plane in order to force the total volume change to the desired value.
2018-03-02Merge branch 'master' into blender2.8Campbell Barton
2018-03-01Discard non-free axis scaling in Maintain Volume to improve 2.79 compat.Alexander Gavrilov
It seems the reason the old version of the constraint overcompensates as reported in T48079 is to allow the constraint to work with uniform scaling on all axes. However the way it did that actually _requires_ uniform scaling for the constraint to work correctly, and breaks if only the free scaling axis is used to avoid redundant channels. This version attempts to allow both by discarding scaling in the non- free directions instead of applying the correction on top of it.
2018-01-11Merge branch 'master' into blender2.8Campbell Barton
2018-01-11Fix T53455: Object disappear w/ TrackTo constraintCampbell Barton
Regression caused by own commit 16fbb47c886, this is really an edge case though since calling normalize twice fixes.
2017-11-21Depsgraph: Remove workarounds used for cyclic dependenciesSergey Sharybin
This was dangerous to do such calculations, and now it is solvable by making dependency graph more granular in this case. Removing the workaround also saves us a hassle of passing lots of extra arguments down the evaluation routines. In theory, we can also remove EvaluationCOntext from constraints evaluation as well now. But probably better to wait with such removal for now. This commit effectively reverts 1130c53. Will do a proper fix in dependency graph itself.
2017-11-06Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: intern/cycles/device/device.cpp source/blender/blenkernel/intern/library.c source/blender/blenkernel/intern/material.c source/blender/editors/object/object_add.c source/blender/editors/object/object_relations.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/space_outliner/outliner_edit.c source/blender/editors/space_view3d/drawobject.c source/blender/editors/util/ed_util.c source/blender/windowmanager/intern/wm_files_link.c
2017-11-06Rename ID_IS_LINKED_DATABLOCK to ID_IS_LINKED.Bastien Montagne
This makes code closer to id_override/assent-engine ones, which introduce a new type of linked data, and hence reserve ID_IS_LINKED_DATABLOCK to real linked datablocks.
2017-09-06Merge branch 'master' into blender2.8Brecht Van Lommel
2017-09-06Use normalized project functionsCampbell Barton
2017-08-31Merge branch 'master' into blender2.8Campbell Barton
2017-08-29Fix T48079: Maintain Volume constraint overcompensates.Alexander Gavrilov
The coefficient has been wrong since introduction for some reason. Not backwards compatible, should not be merged to 2.7*.
2017-08-16Pass EvaluationContext instead of bContextCampbell Barton
2.8x branch added bContext arg in many places, pass eval-context instead since its not simple to reason about what what nested functions do when they can access and change almost anything. Also use const to prevent unexpected modifications. This fixes crash loading files with shadows, since off-screen buffers use a NULL context for rendering.
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-08-07Refactor ID copying (and to some extent, ID freeing).Bastien Montagne
This will allow much finer controll over how we copy data-blocks, from full copy in Main database, to "lighter" ones (out of Main, inside an already allocated datablock, etc.). This commit also transfers a llot of what was previously handled by per-ID-type custom code to generic ID handling code in BKE_library. Hopefully will avoid in future inconsistencies and missing bits we had all over the codebase in the past. It also adds missing copying handling for a few types, most notably Scene (which where using a fully customized handling previously). Note that the type of allocation used during copying (regular in Main, allocated but outside of Main, or not allocated by ID handling code at all) is stored in ID's, which allows to handle them correctly when freeing. This needs to be taken care of with caution when doing 'weird' unusual things with ID copying and/or allocation! As a final note, while rather noisy, this commit will hopefully not break too much existing branches, old 'API' has been kept for the main part, as a wrapper around new code. Cleaning it up will happen later. Design task : T51804 Phab Diff: D2714
2017-07-21Pass EvaluationContext argument everywhereLuca Rood
Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced.
2017-06-12Cleanup: indentation, long linesCampbell Barton
2017-04-26Alembic: fixed refcount issue when duplicating imported objectsSybren A. Stüvel
Duplicating an imported object didn't increment the cache reader's refcount, whereas removing the duplicate did decrement it. This caused problems.
2017-04-26Fix T51280: Alembic: Crash when removing cache modifierSybren A. Stüvel
The calls to id_us_plus/min were unnecessary (and caused assertion failures) as this is already taken care of by transformcache_id_looper().
2017-01-16Cleanup/refactor: Add new BLI_string_util.Bastien Montagne
Things like `BLI_uniquename` had nothing, but really nothing to do in BLI_path_util files! Also, got rid of length limitation in `BLI_uniquename_cb`, we can use alloca here to avoid overhead of malloc while keeping free size (within reasonable limits of course).
2016-12-08Fix crash when opening a Blender file containing Alembic data.Kévin Dietrich
Was also affecting object linking.
2016-11-21Cleanup: get rid of unused `BKE_constraints_relink()`.Bastien Montagne
Libquery/generic ID remapping code handles this now.
2016-10-30Fix compile errors for when WITH_ALEMBIC is OFF.Kévin Dietrich
2016-10-29Alembic: store a pointer to the object reader in the cache modifiers andKévin Dietrich
constraints. This avoids traversing the archive everytime object data is needed and gives an overall consistent ~2x speedup here with files containing between 136 and 500 Alembic objects. Also this somewhat nicely de- duplicates code between data creation (upon import) and data streaming (modifiers and constraints). The only worying part is what happens when a CacheFile is deleted and/or has its path changed. For now, we traverse the whole scene and for each object using the CacheFile we free the pointer and NULL-ify it (see BKE_cachefile_clean), but at some point this should be re-considered and make use of the dependency graph.
2016-08-26Fix cache constraint not reference counting cache files.Kévin Dietrich
2016-08-26Fix T49168: crash when evaluating a cache constraint with a NULL cacheKévin Dietrich
file.
2016-08-06Basic Alembic supportKévin Dietrich
All in all, this patch adds an Alembic importer, an Alembic exporter, and a new CacheFile data block which, for now, wraps around an Alembic archive. This data block is made available through a new modifier ("Mesh Sequence Cache") as well as a new constraint ("Transform Cache") to somewhat properly support respectively geometric and transformation data streaming from alembic caches. A more in-depth documentation is to be found on the wiki, as well as a guide to compile alembic: https://wiki.blender.org/index.php/ User:Kevindietrich/AlembicBasicIo. Many thanks to everyone involved in this little project, and huge shout out to "cgstrive" for the thorough testings with Maya, 3ds Max, Houdini and Realflow as well as @fjuhec, @jensverwiebe and @jasperge for the custom builds and compile fixes. Reviewers: sergey, campbellbarton, mont29 Reviewed By: sergey, campbellbarton, mont29 Differential Revision: https://developer.blender.org/D2060
2016-07-06Replace of (id->lib != NULL) check by meaningful macro.Bastien Montagne
Idea is to replace hard-to-track (id->lib != NULL) 'is linked datablock' check everywhere in Blender by a macro doing the same thing. This will allow to easily spot those checks in future, and more importantly, to easily change it (see work done in asset-engine branch). Note: did not touch to readfile.c, since there most of the time 'id->lib' check actually concerns the pointer, and not a check whether ID is linked or not. Will have a closer look at it later. Reviewers: campbellbarton, brecht, sergey Differential Revision: https://developer.blender.org/D2082
2016-07-04Fix a few compiler warnings on OS X / clang.Brecht Van Lommel
Two were actual bugs, though they existed only in unused code: * In Freestyle it was unintentionally copying a scene rather than referencing it. * In BLI_array_store_is_valid there was use of uninitialized memory.
2016-05-17Bendy Bones: Advanced B-Bones for Easier + Simple RiggingJoshua Leung
This commit/patch/branch brings a bunch of powerful new options for B-Bones and for working with B-Bones, making it easier for animators to create their own rigs, using fewer bones (which also means hopefully lighter + faster rigs ;) This functionality was first demoed by Daniel at BConf15 Some highlights from this patch include: * You can now directly control the shape of B-Bones using a series of properties instead of being restricted to trying to indirectly control them through the neighbouring bones. See the "Bendy Bones" panel... * B-Bones can be shaped in EditMode to define a "curved rest pose" for the bone. This is useful for things like eyebrows and mouths/eyelids * You can now make B-Bones use custom bones as their reference bone handles, instead of only using the parent/child bones. To do so, enable the "Use Custom Reference Handles" toggle. If none are specified, then the BBone will only use the Bendy Bone properties. * Constraints Head/Tail option can now slide along the B-Bone shape, instead of just linearly interpolating between the endpoints of the bone. For more details, see: * http://aligorith.blogspot.co.nz/2016/05/bendy-bones-dev-update.html * http://aligorith.blogspot.co.nz/2016/05/an-in-depth-look-at-how-b-bones-work.html -- Credits -- Original Idea: Daniel M Lara (pepeland) Original Patch/Research: Jose Molina Additional Development + Polish: Joshua Leung (aligorith) Testing/Feedback: Daniel M Lara (pepeland), Juan Pablo Bouza (jpbouza)
2016-05-10Avoid per-constraint-target call of strlenSergey Sharybin
It's enough to do one single comparison to see if the string is empty or not.
2016-05-10Optimize action constraint by avoid memory allocationSergey Sharybin
2016-04-26Fix T48176: Shrinkwrap crashes when multiple objects uses same targetSergey Sharybin
Annoying bug caused by temp nature of looptri layer for CCGDM. Fixed in a similar to CCG loops by using lock when allocating and filling looptri arrays. Real fix would be to make sure this array is allocated on object evaluation using DAG's eval_flag, but that's more involved change which we'll work on later.
2016-01-12Fix T47164: [Scene.raycast] - True result when it should be False.Bastien Montagne
We cannot use FLT_MAX as initi distance for raycast... Renamed TRANSFORM_DIST_MAX_RAY to BVH_RAYCAST_DIST_MAX, moved it into BLI_kdopbvh, and use in RNA raycast callbacks (and all other places using that API).
2015-11-23Cleanup: shadowing (blenkernel)Campbell Barton
2015-10-26Fix T46599: Copy Rotation behaves erratically when Use Y is disabledJoshua Leung
When the "Use Y" option in the Copy Rotation constraint is disabled, the constraint behaves eratically when rotating all the target on all axes at the same time. This is partially to be expected due to the way that euler rotations work (i.e. the rotation orders stuff - you should use a rotation order based on most to least important/significant rotations). Hence, by locking Y, you're causing accuracy problems for Z. What was not expected though was that changing the rotation orders on the objects involved (for the record, it's the constraint owner that counts) did nothing. It turns out that for objects, the rotation order settings were getting ignored! This commit fixes this problem, and this particular case can be resolved by using "XZY". Notes: * Since all object constraints were previously working on the assumption that they used XYZ (default) order, it is possible that this change may have the unintended consequence of changing the behaviour of some rigs which relied on the buggy behaviour. Hopefully this will be a rare occurrence.
2015-10-23BLI_math: add mat3_normalized_to_* functionsCampbell Barton
Many uses of matrices for rotation keep them normalized, so no need to normalize each time.
2015-10-09Fix T46418: Constraints - influence other than 0 or 1 - bad results with ↵Bastien Montagne
non-homogeneous scaled matrices. Use new interp_m4_m4m4 instead of blend_m4_m4m4. Note that maybe we could replace other usages of blend_m... by interp_m..., but this should be investigated on a case-by-case basis.
2015-09-18Use squared length where possibleCampbell Barton
2015-08-21BVH-raycast: ensure input direction is unit-lengthCampbell Barton
This was already the case for most users of ray-cast. Doing this avoids 2x normalize calls per ray-cast in many places.
2015-08-18Refactor translation code out of blenfontCampbell Barton
- Add blentranslation `BLT_*` module. - moved & split `BLF_translation.h` into (`BLT_translation.h`, `BLT_lang.h`). - moved `BLF_*_unifont` functions from `blf_translation.c` to new source file `blf_font_i18n.c`.
2015-07-23Use looptri for BVH raycast (simple cases)Campbell Barton
2015-07-13Fix T45394: Motion tracking constraints did not work with Cycles motion blurSergey Sharybin
2015-03-30Cleanup: use const for typeinfoCampbell Barton
2015-03-06Fix access freed memory when doing constraints ID counter on main freeSergey Sharybin
Basically just made constraints free function aware of possible do_id_users argument, same as we've got for objects, object data and so on.
2015-02-18Fix free'd memory use removing constraintCampbell Barton
2015-02-11Outliner: ContextMenus for constraints/modifiersCampbell Barton
Context menu to toggle render, visibility & delete D996 by @lichtwerk
2015-01-31Compiler warning: double-promotionCampbell Barton
2015-01-13Fixes for SplineIK:Joshua Leung
* Ensure that when new constraints are created, the new settings have sensible default values. TODO: we need to version-patch old files * Fix problem with variable shadowing (which wasn't causing problems AFAIK)