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
2016-05-20Fix T48470: Bendy Bones: Custom Handle References not being cleared when ↵Joshua Leung
bone deleted In addition to the original bug report, I've gone through cleaning up a range of related bugs which only became clear when hunting around the code... * Custom Handle References weren't getting cleared when the bones they used got deleted. But, neither was the custom bone shape location/transform reference. * Various places where posebone settings are copied around were also missing code to handle the new Bendy Bone properties. (WHY DO WE HAVE SO MANY VARIATIONS OF COPYING POSE DATA!?!?) * If duplicating a Bendy Bone with custom references, and the custom references are also selected/duplicated, the new Bendy Bones will use the corresponding duplicated bones
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-10Optimize action constraint by avoid memory allocationSergey Sharybin
2016-04-26Fix missing pose bone hash table in stub poses of action constraints.Lukas Tönne
This is a follow-up fix for rBa10b2fe. The Action constraint uses a hackish stub object and pose, which doesn't have a hash table for fast lookups. This doesn't seem to be a big issue with the old depsgraph, but in the new depsgraph it creates a large number of cache misses and significant slowdown, possibly because of additional threading and less simple bone loops.
2016-03-09Add missing custom-scale when copying bonesCampbell Barton
2015-09-21Armature drawing: custom shape scale optionsCampbell Barton
- Custom scale: Avoids having multiple custom-shapes at different sizes. - Option not to use bones length: So changes in edit-mode don't resize the custom-shape.
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-06-12Armature: add armature dissolveCampbell Barton
Works like mesh dissolve (access from delete or Ctrl+X)
2015-05-12Depsgraph: New dependency graph integration commitSergey Sharybin
This commit integrates the work done so far on the new dependency graph system, where goal was to replace legacy depsgraph with the new one, supporting loads of neat features like: - More granular dependency relation nature, which solves issues with fake cycles in the dependencies. - Move towards all-animatable, by better integration of drivers into the system. - Lay down some basis for upcoming copy-on-write, overrides and so on. The new system is living side-by-side with the previous one and disabled by default, so nothing will become suddenly broken. The way to enable new depsgraph is to pass `--new-depsgraph` command line argument. It's a bit early to consider the system production-ready, there are some TODOs and issues were discovered during the merge period, they'll be addressed ASAP. But it's important to merge, because it's the only way to attract artists to really start testing this system. There are number of assorted documents related on the design of the new system: * http://wiki.blender.org/index.php/User:Aligorith/GSoC2013_Depsgraph#Design_Documents * http://wiki.blender.org/index.php/User:Nazg-gul/DependencyGraph There are also some user-related information online: * http://code.blender.org/2015/02/blender-dependency-graph-branch-for-users/ * http://code.blender.org/2015/03/more-dependency-graph-tricks/ Kudos to everyone who was involved into the project: - Joshua "Aligorith" Leung -- design specification, initial code - Lukas "lukas_t" Toenne -- integrating code into blender, with further fixes - Sergey "Sergey" "Sharybin" -- some mocking around, trying to wrap up the project and so - Bassam "slikdigit" Kurdali -- stressing the new system, reporting all the issues and recording/writing documentation. - Everyone else who i forgot to mention here :)
2015-05-12Depsgraph: Add utility function to tag pose for recalcSergey Sharybin
Currently this function only tags pose itself, totally matching previous behavior. But this will be needed in the future once new dependency graph is landed, because of it's granular nature which relies on the fact that pose channels are all up to date when building the graph. Should be no functional changes so far.
2015-03-19Speedup for constraints update from python scriptSergey Sharybin
General idea is to avoid actual calculation from property update() callback and tag things for update later instead. That said, pose constraint flags are now tagged for update and handled as a part of object update. In the new depsgraph it'll be a nice dedicated operation node. Also avoid updating disabled flags for all the modifiers. This part of the path is not totally optimal since it'll still need to iterate over bones in order to get pchan, but to optimize it further would be nice to find a way to avoid pchan requirement all together. Reviewers: campbellbarton Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D1191
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-01-23Keep proper bone active group after removing first oneSergey Sharybin
Previously active bone group would be set to NONE after removing the first one even if there are more groups in the armature.
2015-01-09Fix T43159: Copying of linked datablocks using relpath leads to invalid ↵Bastien Montagne
paths in new copies. Propper fix reverting most of rB60e70c0c6014e5, which was only partial specific fix. This code uses generic `BKE_id_lib_local_paths()` func to handle all possible paths. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D977
2015-01-01cleanup: redundant casts & const cast correctnessCampbell Barton
2014-12-01Cleanup: more int->bool.Bastien Montagne
2014-11-16Cleanup: use BLI_listbase_*** prefix for count,sort,sort_rCampbell Barton
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-07-09Add bone_groups.new() and bone_groups.remove() methods to RNA.Bastien Montagne
To do so, matching BKE 'API' was also refactored a bit: * Get Pose data instead of Object, as parameter; * Removed some sanity checks not needed at such a low level (callers are supposed to do that); * You can now remove an arbitrary bone group, not only the active one. Based on patch by pkrime (Paolo Acampora), with own edits. Reviewers: #python, pkrime, aligorith Reviewed By: aligorith Differential Revision: https://developer.blender.org/D522
2014-05-01Fix T39969: Make single user object looses custom-tx-boneCampbell Barton
2014-04-30Warning cleanup: signed/unsigned compareCampbell Barton
also remove redundant loop in BKE_pose_copy_data
2014-04-26Code cleanup: use 'const' for arrays (blenkernel)Campbell Barton
2014-04-11API Cleanup: Use BKE_constraint prefix for constraint apiCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2013-12-25Fix T37709: Memory corruption when freeing custom bone shape objectsSergey Sharybin
Summary: Issue was caused by access to pchan->custom object from channel free function when freeing all objects from main. Order of objects free is not defined and such an access might easily end up with access to freed memory. We don't need to do user counter stuff when freeing main, so added an _ex functions with do_id_user flag which is used when freeing main. We had the same issue with other datablocks, so now it should be easier to support relevant user counter. This issue was caused by the fix for T36391, so perhaps that's indeed high time to do real user counter. Reviewers: brecht, campbellbarton Reviewed By: campbellbarton Maniphest Tasks: T37709 Differential Revision: https://developer.blender.org/D137
2013-11-18Fix T37289: ID User decrement error for Shapes on Bones when playing in BGESergey Sharybin
GE was copying the pose channels without increasing user counter for a custom bone shape object. Freeing copied pose will for give decrement errors. The same increment issue seems to happen in BKE_pose_copy_data, which is also solved now.
2013-11-16code cleanup: armature functionsCampbell Barton
- added BKE_pose_channel_get_mirrored (matching editmode function ED_armature_bone_get_mirrored) - editbone_name_exists -> ED_armature_bone_find_name
2013-10-26code cleanup: merge doxygen comments into C source.Campbell Barton
2013-10-01add assert for bone renaming, to check if the chanhash is still valid.Campbell Barton
2013-09-13Moved and renamed ED_pose_channel_in_IK_chain() ->Joshua Leung
BKE_pose_channel_in_IK_chain() This was needed for depsgraph work, and it's cleaner for RNA to have fewer dependencies on editors
2013-08-12Followup for r58992, fixing user decrement errorSergey Sharybin
Some places like proxy rebuild didn't increent custom shape user counter which lead to user decrement errors later when freeing pose channels. Try to keep custom object counter relevent, but some corner cases might still be missing.
2013-08-07Fix #36391: removing an armature with a custom bone shape object would notBrecht Van Lommel
decrement the object user count when removing the armature. This could cause the object to stick when it shouldn't, in particular when that object is part of a group.
2013-07-19style cleanup: switch statements, include break statements within braces & ↵Campbell Barton
indent. also indent case's within the switch (we already did both of these almost everywhere)
2013-03-25More new data names translation (most cases should be covered now).Bastien Montagne
Also done a few cleanup here and there...
2013-02-05Fix #34040: Moving Normal Node with enabled Cycles Material Preview crashesSergey Sharybin
Issue was caused by couple of circumstances: - Normal Map node requires tesselated faces to compute tangent space - All temporary meshes needed for Cycles export were adding to G.main - Undo pushes would temporary set meshes tessfaces to NULL - Moving node will cause undo push and tree re-evaluate fr preview All this leads to threading conflict between preview render and undo system. Solved it in way that all temporary meshes are adding to that exact Main which was passed to Cycles via BlendData. This required couple of mechanic changes like adding extra parameter to *_add() functions and adding some *_ex() functions to make it possible RNA adds objects to Main passed to new() RNA function. This was tricky to pass Main to RNA function and IMO that's not so nice to pass main to function, so ended up with such decision: - Object.to_mesh() will add temp mesh to G.main - Added Main.meshes.new_from_object() which does the same as to_mesh, but adds temporary mesh to specified Main. So now all temporary meshes needed for preview render would be added to preview_main which does not conflict with undo pushes. Viewport render shall not be an issue because object sync happens from main thread in this case. It could be some issues with final render, but that's not so much likely to happen, so shall be fine. Thanks to Brecht for review!
2013-01-24use bool for new code.Campbell Barton
2013-01-24Armature rigging:Ton Roosendaal
Added more clear warning print for cases when a Proxy cannot be resolved.
2012-12-23Code cleanup: add usual 'BKE_' prefix to 'public' constraint functions from ↵Bastien Montagne
blenkernel...
2012-12-15move pbvh into BKE, it used many BKE bad level includes.Campbell Barton
now blenlib/BLI doesn't depend on any blenkern/BKE functions, there are still some bad level includes but these are only to access G.background and the blender version define.
2012-12-15move bpath module from BLI to BKE, it was making many bad level calls into BKE.Campbell Barton
2012-11-24IK Solver:Brecht Van Lommel
* Rename Legacy to Standard, it's not being deprecated as far as I know. * Make option to toggle off Location solving work with Standard. * Make it converge a bit better in some cases by enforcing a minimum number of iterations before giving up. * Move IK solver choice out of bone panel, it's an armature level setting and should be set there.
2012-10-23use min_ max_ functions in more places.Campbell Barton
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-03Fix #32742: Motion path calculation on linked armatures locks up BlenderSergey Sharybin
Issue was happening when linking armature object and making proxy and was caused by not copying visualization settings in BKE_pose_copy_data. This lead to deadlocks in motion path drawing code. After discussion with Campbell decided it is crucial fix since it fixes bug appearing in really common scenario of using armatures.
2012-09-16Code cleanup - remove some obsolete codeJoshua Leung
2012-09-13- cmake macro list_insert_after/list_insert_before now error when the item ↵Campbell Barton
passed is not found in the list. - BKE_pose_copy_data() check for target pointer is no longer valid and infact comparing against un-initialized memory in some cases.
2012-09-09style cleanup:Campbell Barton
also remove some redundant conversions int -> short -> int