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-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-06-03Cleanup & simplify snapping functionsGermano Cavalcante
- the name of the enumerator `SNAP_NOT_OBEDIT` was changed to `SNAP_NOT_ACTIVE`. - the parameter `snap_to_flag` was moved to outside `SnapObjectParams`. - the member `use_object_edit` was renamed to `use_object_edit_cage`. - added the arg `params` in `ED_transform_snap_object_project_ray`. - simplifications in the loop of the function `snapObjectsRay`.
2016-05-29Fix T48507: Symmetrize doesn't work properly on Bendy BonesJoshua Leung
2016-05-22Fix T48476: 'Recalculate Bone to Cursor' failsCampbell Barton
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-15Fix T48425: Armature Symmetrize is flipping Custom Shape parameter.Bastien Montagne
In case not all bones are selected, not all possible mirrors are set in editbone->temp.ebone, so we need to search them...
2016-05-14Fix T48426: Use same length for all header message strings.Bastien Montagne
Some languages like Chinese or Japanese take three or four bytes per char... Also fixed some missing translation markers for UI header messages.
2016-05-11Cleanup: only use r_ prefix for return argsCampbell Barton
2016-05-11Transform Volume rewrite/refactorGermano Cavalcante
Take advantage of the efficiency provided by the snap_context. Also fixes errors: - volume snap fails based on view angle (T48394). - multiple instances of dupli-objects break volume calculation.
2016-05-10Correct armature-sketch snap context useCampbell Barton
Use scene snap mode. Also allow passing NULL ray-depth which falls back to BVH_RAYCAST_DIST_MAX.
2016-05-06Cleanup: warningsCampbell Barton
Values set but not used
2016-05-05Transform/Snap: EditMesh/BKE_bvhutils API improvementsGermano Cavalcante
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions.
2016-04-22Transform Snap: initial snap context refactorCampbell Barton
This introduces a snap-context that can be re-used for casting rays into the scene (by operators such as walk-mode, ruler and transform code). This can be used to cache data between calls too.
2016-03-31Usual ui messages fixes/tweaks.Bastien Montagne
2016-03-09Fix T47723: Custom shape not copied w/ edit-boneCampbell Barton
2016-03-03Armature edit-mode: Add clear-roll operator, Alt-RCampbell Barton
2016-02-26Restore ability to clear motionpaths from selected objects/bones onlyJoshua Leung
In response to user feedback, this commit brings back the ability to limit motionpath clearing to only happening for those on selected objects/bones. By default, the "Clear" operator will clear from all objects/bones, unless the Shift key is held.
2016-02-08CLeanup: styleCampbell Barton
2016-02-07Motion Paths: Use custom poll functions for "Update" operatorJoshua Leung
2016-02-07Clear motionpaths for all objects and bones instead of only selected onesJoshua Leung
With the old behaviour, it was too easy to get old paths hanging around because you forgot to go through and select a few bones that still had them.
2016-02-02Match armature/object select grouped orderCampbell Barton
2016-02-02Cleanup: styleCampbell Barton
2016-02-02Armature select similar: children, immediate-children en sibligns selection.Michał Ziobro
Reviewed By: brecht Differential Revision: https://developer.blender.org/D1750
2016-01-23OpenGL: call glLineWidth less oftenMike Erwin
Each LINES draw call is now responsible for its own line width. No need to set it back to its 1.0 default after every draw. This eliminates half our calls to glLineWidth , similar to last week’s work on glPointSize.
2016-01-22Fix: Breakdowner value would jump when starting the tool a second time ↵Joshua Leung
during a Blender session As reported on the Blender Institute Podcast 009. See my comment on the cloud blog for further details. When used a second (or third, etc.) time, the breakdowner's (Shift-E) percentage value would initially be the last-used value (e.g. 33% or 75%), before suddenly jumping to another value as soon as the mouse moves. The cause of this behaviour was that it was initially reusing the value from the previous time the operator was run, but then as soon as the mouse moved, it would snap to the percentage implied by the mouse position. (Note: The mapping from mouse position to percentage is "absolute" - i.e. the percentage is based on how far across the 3D view the mouse is, instead of being some kind of relative offset thing). To make things a bit less jumpy, I've changed the behaviour so that the mouse position always gets used immediately, instead of having it jump suddenly only when making some mouse movement.
2016-01-16OpenGL: fixes related to GL_POINTSMike Erwin
I put all usage of GL_POINTS under the microscope. Fixed problems & optimized a couple of spots. - reduce calls to glPointSize by about 50% - draw selected & unselected vertices together for UV editor & EditMesh - draw initial gpencil stroke point the proper size - a few other smaller fixes New policy: each GL_POINTS draw call needs to set its desired point size. This eliminates half our calls to glPointSize (setting it back to its 1.0 default after every draw).
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).
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-21Cleanup: warnings (msvc)Campbell Barton
Part of patch D1670 by @LazyDodo
2015-12-11Fix T46945: Mesh Deform binding to a cage object with modifiers is unreliable.Bastien Montagne
Binding code was re-building its own DM for the cage, now it uses given one instead. I cannot see really any good reason not to use 'visual' modified cage for binding process, using base mesh instead was breaking any 'advanced' binding as described in the report.
2015-12-10Eigen: fold remaining OpenNL code into intern/eigen.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D1662
2015-12-02Cleanup: transform snap argumentsCampbell Barton
This was getting very hard to follow, - mixing input/output args. - mixing arg order between functions. - arg names (mode, snap_mode) rename to (snap_to, snap_select)
2015-12-01Cleanup: use more logical names for View3D.aroundCampbell Barton
D1651 (own patch)
2015-11-23Cleanup: shadowing (editors)Campbell Barton
2015-11-23Cleanup: use `rna_enum_` prefix for RNA enumsCampbell Barton
Definitions could shadow local vars.
2015-11-23OpenNL: make the API thread safe by always passing context.Brecht Van Lommel
Previously two laplacian smooth or deform modifiers executing simultaneously could crash.
2015-11-23OpenNL: significantly simplify code using Eigen / STL.Brecht Van Lommel
2015-11-18Cleanup: editor api namingCampbell Barton
- use ED_ prefix for api calls - use ED_*_select_pick for mouse selection (was already done in parts)
2015-11-08Code cleanup: remove some unused mesh laplacian code.Brecht Van Lommel
2015-09-22Cleanup: indentationCampbell Barton
2015-09-20Cleanup: Use new vector transform functionsJulian Eisel
2015-09-18Use squared length where possibleCampbell Barton
2015-09-13Cleanup: spellingCampbell Barton
2015-09-04Fix T46010: Bone offset between Rest Pose and Edit mode.Bastien Montagne
That one was hairy... To summarize: * We were setting Bone.head/tail (aka **local** rest location of bone) from EditBone data, using **EditBone's parent computed armature space**. * We use those local head/tail to define Bone's restpose (in `BKE_armature_where_is_bone()`), using **Bone's parent armature space** (aka parent's arm_mat). * Because of bone's roll nightmare, the two above parent's matrices will often not be the same. In an ideal world, this should not affect locations (head/tail), but in real world of float it does - noticeably, in some extreme cases. So! This commit cleans up things a bit (`fix_bonelist_roll()` was already doing much more than just fixing roll mess, has been renamed to `armature_finalize_restpose()`), and ensures we do use (final!) parent's arm_mat local space to compute children's local head/tail as well. This allows us to avoid too much imprecision here. Checked the patch also with a complete Victor's rig from Gooseberry, seems to have no nasty side effects - fingers crossed!
2015-09-04Armature: Cheap edit-to-object mode speedup.Bastien Montagne
`fix_bonelist_roll()` is already recursive, and was calling recursive `BKE_armature_where_is_bone()` twice! Changed `BKE_armature_where_is_bone()` to controll whether we recurse over children or not. With full Victor's rig, we gain 16% in `ED_armature_from_edit()` (from 31ms to 26ms). With a dummy test-case 100 bones chain, we gain 80% in `ED_armature_from_edit()` (from 1.25ms to 0.25ms). Not crucial, but still worth it. ;)
2015-08-22Fix T45689: Pose Libraries cannot be used when using lib-linked actions as ↵Joshua Leung
poselibs This commit makes some tweaks that make it at least possible to use lib-linked actions as Pose Libraries. Specifically: * The apply poses button is no longer greyed out * It is possible to select different poses from the list of poses * All pose library operators which edit the poses stored in the poselib now have improved poll callbacks which perform extra checks for lib-linked actions (which cannot be edited, as all those changes will be lost) Caveats: * Due to the way the UI list template works, it doesn't seem to be possible to make it not grey out the items in the list. (While the double-click to rename thing shouldn't be allowed, items should at least look like they can be clicked on) * The difference between clickable vs not-clickable isn't too great, making it hard to tell that that while the Add/Remove/Sanitise toggles are not usable, the Apply Poses is actually functional. But, this is a more of a UI-toolbox level issue
2015-08-21BVH-raycast: Use watertight intersectionsCampbell Barton
By default watertight intersections are used, For callbacks where its not needed, BLI_bvhtree_ray_cast_ex can be called without the BVH_RAYCAST_WATERTIGHT flag. Fixes T45286
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.