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
2014-11-04Fix-for-fix ik-spline clamp existing files tooCampbell Barton
2014-10-29Cleanup: warnings, typosCampbell Barton
2014-10-23Fix T42367: Spline-ik offset evaluating curveCampbell Barton
2014-10-23Spline IK: use malloc, arrays are filled instantlyCampbell Barton
2014-09-24Cleanup: use float versions of functions when in/output are floatsCampbell Barton
2014-07-21Math Lib: rename mul_serie_m3 to mul_m3_series & reorder argsCampbell Barton
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-20Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing ↵Campbell Barton
NULL's)
2014-07-19Defines: replace ELEM3-16 with ELEM(...), that can take varargsCampbell Barton
2014-05-21Fix T40271: recalculation of the bone roll does not work correctly.Bastien Montagne
Check that up_axis is not aligned with bone was wrong in at least two aspects (not working against negative alignement case, and since ages it seems, using Z axis when bones are along Y axis...). Also optimized a bit here, better to have a normalized version of vec_roll_to_mat3(), since it needs normalized vector anyway, and we have to normalize it for the tests before calling it anyway (so now, we only do that twice in Transform code, instead of three times). And we can perform aling test *before* calling vec_roll_to_mat3!
2014-05-03Fix T40001: Opening a 2.66 blend file in 2.7, a bone appear "rolled but not ↵Bastien Montagne
rolled". Looks like some sign was lost in that complex matrix algebra (always be wary of squared values!).
2014-04-30Code cleanup: remove unused includesCampbell Barton
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-04-29Code cleanup: remove redundant matrix initializationCampbell Barton
2014-04-17Fix T39766: bone calculation from edit mode goes wrongBastien Montagne
Own logic error in previous commit...
2014-04-16Fix T39750: Bones disappearing with strange transforms.Bastien Montagne
Fixed this issue and another similar one, and some minor optimizations.
2014-04-11API Cleanup: Use BKE_constraint prefix for constraint apiCampbell Barton
2014-04-06Better code for (bone axis + roll) to matBastien Montagne
See T39470 and D436. Code by @tippisum, with some minor edits by @mont29. Tested with various rigs, including Rigify, CGcookie flex rig, and gooseberry/pataz caterpillar. Riggers, please test it, no change expected in behaviour. Reviewers: aligorith CC: tippisum Differential Revision: https://developer.blender.org/D436
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-29Code cleanup: replace dot with len_squared and is_zero checksCampbell Barton
2014-03-05Fix for invalid custom data checks in armature and lattice functions.Lukas Tönne
Testing for custom data availability with getVertData and index 0 fails on assert for empty meshes (the index must be in valid range). Better use getVertDataArray which has no requirement for specific index.
2014-02-24Fix T38755: Crash when having cyclic dependency and curve deformSergey Sharybin
Issue was caused by undefined object update order and in some cases NULL pointer will be de-referenced. Added on-demand curve path calculation, just the same creepy call of BKE_displist_make_curveTypes(). This violates DAG and might end up in a difficult to troubleshoot race condition if there'll be some issues with how dependencies are calculated in DAG, but this is the easiest and safest way to solve the bug at this stage,
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-02Code cleanup: suffix vars to make obvious they are squaredCampbell Barton
2014-02-01Math lib: simplify size_to_mat4 and use in b_bone_spline_setupCampbell 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
2014-01-13Remove direct displist creation from curve deformSergey Sharybin
This solves threading conflict which happens when having multiple objects using Curve Deform modifier with the same curve datablock. This conflict was caused by the fact that curve_deform_verts() used to temporary override curve's flags to make it path is there. Actually, it was setting CU_FOLLOW flag temporary which was only used where_on_path() (only in terms that this temporary assignment only affected this function) but it is now commented out for a while, so no reason to set this flag temporary, If it's ever to be done, we'll need to pass flags as an additional function argument. For the path creation i've extended DegNode structure which now holds extra bits which indicates what additional data depending on the graph topology is to be evaluated. Currently this is only used to indicate that curve needs path to be evaluated regardless to cu->flag state. This is so Curve Deform modifier is always happy. In the future this flag might also be used to indicate whether bmesh verts are to update (see recent commit to 3-vertex parent crash fix) or to indicate that the object is the motherball etc.
2013-11-25Code Cleanup: rename vars for detecting change to be more consistentCampbell Barton
rename change/is_change/is_changed/modified -> changed also use bools over int/short/char and once accidental float.
2013-11-10replace IS_EQ -> IS_EQF for use with floats.Campbell Barton
2013-10-14fix for array index use before checking rangeCampbell Barton
2013-08-19Made armatures evaluation safe for threadingSergey Sharybin
Apparently, some routines in armature deformation code were using static arrays. This is probably just an optimization thing, but it's very bad for threading. Now made it so bbone matrices array is allocating in callee function stack. This required exposing MAX_BBONE_SUBDIV to an external API, This is not so much crappy from code side, and it shall be the same fast as before. -- svn merge -r58278:58279 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-08-14Fix double-free happening when having proxy with motion pathsSergey Sharybin
Make it so mpath is not shared between several bones now. Fix suggested by Joshua Leung, thanks!
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-07-21code cleanup: add break statements in switch ()'s, (even at the last case).Campbell Barton
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-06-23remove vec_rot_to_mat3(), replace with axis_angle_normalized_to_mat3()Campbell Barton
2013-05-26BLI_math rename functions:Campbell Barton
- mult_m4_m4m4 -> mul_m4_m4m4 - mult_m3_m3m4 -> mul_m3_m3m4 these temporary names were used to avoid problems when argument order was switched.
2013-03-17code cleanup: incorrect sized array args, remove some redundant code.Campbell Barton
2013-02-06Bugfix #34046Ton Roosendaal
Linked Armature with local proxy, using feature "Custom shape at other bone" stopped working on undo/redo. It was actually a bug in the original commit (r26600, april 2010), storing a pointer from the library bone into the local proxy bone. That's strictly forbidden in Blender, but it never showed up because on every undo-redo a complete proxy-sync was called again. To allow undo/redo I had to disable this syncing, except for file load. Hence the feature got lost :) The fix is simple; just store the pointer to its own local bone instead.
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-27Fix drivers and shape keys not handling subframes / frame mapping properly.Brecht Van Lommel
Change Scene.frame_set so that it ensures subframe in range [0,1[ as Blender expects, otherwise some things like physics point cache lookups don't get evaluated properly.
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-12-11define the size of matrix args for both rows/cols.Campbell Barton
2012-11-23Bugfix [#33268] Crash when delete all or segment from curve with SplineIKJoshua Leung
Path rebuild may fail after certain editing operations. Instead of blindly assuming that path rebuilds will always succeed, we now give up trying to evaluate in case of failure.
2012-10-22code cleanup: check defgroup_name_index() return value != -1, rather then ↵Campbell Barton
checking >= 0. also remove unused bmesh decimator code.
2012-10-21code cleanup: spellingCampbell Barton
2012-10-15code cleanup: define sizes of vectors for function args and use C style commentsCampbell Barton
2012-10-14style cleanupCampbell Barton
2012-09-05code cleanup: move get_selected_defgroups into object_deform.c and make it ↵Campbell Barton
behave like similar functions, also when drawing vertex weight colors, only call this function when multi-paint is enabled.