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-21Dynapaint: Serious cleanup and optimization of dynamicPaint_createUVSurface ↵Bastien Montagne
(mostly). Gives 3-4% speedup in pre-bake step (from 112 to 108 seconds with own heavy test file). Note that here we have a huge potential performance boost if we replace the flat `Bounds2D *faceBB` array of UV tris bounding boxes by a real 2D AABB tree (right now, we can loop over all UV triangles times the number of pixels of the surface times 5...).
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-19Add Peak Memory as render stamp optionLukas Stockner
This commit adds Peak Memory to the stamp options, the value is the same one that is already shown in the image viewer. Requested by @nutel. Reviewers: campbellbarton Subscribers: campbellbarton, nutel Differential Revision: https://developer.blender.org/D1989
2016-05-19Cleanup: misleading indentationCampbell Barton
2016-05-19Dynapaint: parallelize drip effect.Bastien Montagne
Was not so far, because this effect is not modifying its 'own' PaintPoint, which means it's not threadsafe. Since a global lock (mutex or spinlock) would not be much efficient (we need to lock a given point pretty much all the computaion cycle), and since locking a same PaintPOint from different threads at the same time is *very* unlikely, solution here is to use an 'array of locks', one for each PaintPoint (same thing as BLI_bitmap, using atomic ops to set/clear bits). Here in own test (complex dynapaint over a huge sphere combining all dynapaint types), it gives 20% speedup of the whole dynapaint simulation! Note: maybe we'd want to move that kind of bitlock into BLI lib some day - not totally sure how, so let's keep it local for now...
2016-05-19Dynapaint: fix use of normal normalization in dynamicPaint_generateBakeData().Bastien Montagne
Vertex's normal is always normalized - and its conversion from short to float should not change that! On the other hand, linear interpolation of three normals **does not give a normalized vector** (unless all three inputs are exactly the same). Also, minor optimization, avoid recomputing that interpolated normal twice for each PaintUVPoint.
2016-05-19Ignore vertex color when doing texture paintSergey Sharybin
It was totally useless to multiply diffuse color with the vertex color when doing texture painting. It was masking actual texture and only was forcing artists to create an empty vertex color layer to work this around.
2016-05-18Fix missing modifiers for mesh objectsSergey Sharybin
All modifiers for all non-lattice objects were disabled after recent commit.
2016-05-18Fix T47737: Lattice crashes w/ smooth modifierPhilipp Oeser
Add flag for modifiers that support lattice
2016-05-18Depsgraph: Fix rest pose still using bone constraintsSergey Sharybin
2016-05-18Cycles: Pole merging for spherical stereoSergey Sharybin
The idea of pole merge is to fade interocular distance after a certain altitude to zero when altitude goes closer to a pole. This should prevent annoyances looking up in the sky or down to the bottom. Works for both panorama and perspective cameras when Spherical Stereo is enabled. Reviewers: dfelinto, brecht Reviewed By: brecht Subscribers: sebastian_k Differential Revision: https://developer.blender.org/D1998
2016-05-17C99/C++11: replace deprecated finite() by isfinite().Brecht Van Lommel
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-16Remove strict header, gives issues with gcc5xCampbell Barton
2016-05-16Cleanup: use const argsCampbell Barton
2016-05-16CustomData: Support for >2gig layersCampbell Barton
2016-05-13Correct assertsCampbell Barton
2016-05-13Fix compilation with strict compiler flagsSergey Sharybin
Some const qualifier was discarding.
2016-05-13Cleanup: rna naming, indentationCampbell Barton
2016-05-13Fix T48416: Impossible to copy a linked object from a file to another one ↵Bastien Montagne
mantaining the linked library. When writing temp blenbuffer file, libraries of linked datablocks where not tagged correctly, which means they were not put in the temp Main used to write the buffer, resulting in implicit localization of linked data.
2016-05-13Fix T48416: Impossible to append from another file without localizing also ↵Bastien Montagne
all indirectly linked data. Previous to 2.77, this used to be default behavior, was changed in rB591f4549c958b. However, in most append cases, you do want a full localization of your data, so this new behavior is kept by default, but there is now an option in append operator to only localize the 'first level' of data (i.e. datablocks from linked library itself, and not those from other 'sub-libraries').
2016-05-13Armature meshdeform evaluation: parallelize computation of bbones deform ↵Bastien Montagne
matrices. On big and complex rigs like blendrig or koro, it can give up to ~10% more FPS in best cases. Hard to tackle all cases in tests though, so please report any unexpected slowdown in armature animation playback!
2016-05-13Cleanup: fix inconsitency in dynamicPaint_outputLayerExists()Bastien Montagne
Dyna WPaint indeed only uses first output layer, but better be consistent in those cases...
2016-05-13Dynapaint: cleanup of BKE code.Bastien Montagne
Line lengths, monolined 'if' statements, int -> bool, etc. Also, replaced some internal cooked stuff by BLI helpers (most notably, the 'is inside UV triangle' code in `dynamicPaint_createUVSurface()`), and some other minor optimizations.
2016-05-11Cleanup: unused win32 headersCampbell Barton
2016-05-11Correct check for tree being in BVH cacheCampbell Barton
2016-05-11Remove pointer typedef from BVHCacheCampbell Barton
Used ** arguments unnecessarily, also replace BLI_linklist_apply with while loop.
2016-05-11Fix incorrect FLT_MIN useCampbell 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-11Fix for inline documentation of FOREACH_NODETREE.Lukas Tönne
Was missing id macro variable.
2016-05-10Depsgraph: A bit of experiment with skipping where_is_bone if channels is ↵Sergey Sharybin
taged as done This is what old dependency graph was doing and apparently this avoids some updates, however it's not really clear why those nodes are considering done. Maybe just because of the way how relations are working. But needs a closer investigation.
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-05-09Cleanup: header, styleCampbell Barton
2016-05-09Cleanup and refactor our atomic library.Bastien Montagne
This commit: * Removes most of all dirty internal details from public atomi_ops.h file, and move them into /intern private subdir. * Removes unused 'architectures' (__apple__ and jemalloc). * Split each implementation into its own file. * Makes use of C99's limits.h system header to determine pointer and int size, instead of using fix hardcoded list of architectures. * Introduces new 'faked' atomics ops for floats. Note that we may add a lot more real and 'faked' atomic operations over integers and floats (multiplication, division, bitshift, bitwise booleans, etc.), as needs arise. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1982
2016-05-08Cleanup: warningsCampbell Barton
2016-05-08D1886: GPencil - Add smooth iterations parameter to get better qualityAntonio Vazquez
After some test, a new iteration parameter has been added in order to apply repetitive smoothing to the stroke. By default 1 iteration is applied, but can used any number between 1 and 3. The repetition uses different levels of intensity from 100% of the defined smooth factor for the first loop, 50% for the second and 25% for the third. We use in each loop a smaller value in order to avoid deform too much the stroke.
2016-05-08D1705: Fix Grease Pencil Fill for Concave ShapesAntonio Vazquez
Improve filling for concave shapes using a triangulation of the stroke. The triangulation information is saved in an internal cache and only is recalculated if the stroke changes. The triangulation is not saved in .blend file. Reviewers: aligorith Maniphest Tasks: T47102 Differential Revision: https://developer.blender.org/D1705
2016-05-08Fix T48373: Crash when using dynamic paint with brush material.Bastien Montagne
`dynamicPaint_doMaterialTex` was called from inside an omp parallel section with brush->dm itself, and not the local dm copy. Generating looptri data is not thread safe at all...
2016-05-06Fix T48262: Crash when trying to render a scene without camera.Bastien Montagne
2016-05-06Correct in-range assert (zero is valid)Campbell Barton
2016-05-06DerivedMesh: don't allocate a new material array each drawCampbell Barton
2016-05-06Cloth: Fix shrinking to properly respond to animated min/max and weight.Alexander Gavrilov
Enable dynamic restlen recomputation based on sew flag and update the shrink factor math within it to call the new utility function.
2016-05-06Cloth: Change ClothVertex::xrest to actually store the rest position.Alexander Gavrilov
Originally the value was only needed when building the springs, so a pointer to the input data was somewhat ok. However, recalculating spring length dynamically requires keeping the actual value around.
2016-05-06Part of D1903: Dynamic base mesh for cloth simulationLuca Rood
A function that recalculates cloth spring lengths.
2016-05-06Cloth: Ignore zero-restlen sewing springs in average length computation.Alexander Gavrilov
The average length is used to adjust self-collision and stiffness to match mesh density, and in either case considering the always zero restlen sewing springs doesn't actually make much sense. The struct_springs variable is also used for other things like total spring count, so a new one needed for the true struct springs.
2016-05-06Cloth: Use Geometrical Mean for averaging cloth shrink factor.Alexander Gavrilov
This comes out of considering a one-dimensional transition in weight on a rectangular cloth grid. At the transition face loop, one side of each rectangular face would be scaled by k1, and the opposite one by k2, thus turning the rectangle into a trapezoid. Averaging would be used to choose the scale factor for the remaining two sides. If Geometrical Mean, i.e. sqrt(k1*k2) is used, it so happens that the diagonals of the trapezoid also end up scaled by sqrt(k1*k2) compared to the original rectangle. This means that the same scale factor is correct for both structural and shear springs, which is not the case with simple average.
2016-05-06Cloth: Fix the shrink feature to be controlled by the sewing spring flag.Alexander Gavrilov
Previously it was all over the place: without a vertex group it was always enabled, and with it it depended on the Self Collision option due to a likely editing mistake. Now it should be in sync with what disables the fields in the UI. The verts->shrink_factor field is changed to just cache the vertex weight, with the shrink_min/shrink_max interpolation done later. This is because cloth_apply_vgroup only runs if there are vertex groups, and thus the factor may not update after property changes. In addition, bending springs are now also affected by the shrink factor to avoid visible distortion in object shape at high shrink.
2016-05-06Force Fields: Fix Texture with both Use Coordinates and 2D enabled.Alexander Gavrilov
From description, Use Coordinates evaluates the texture using target coordinates in the local space of the force field object. 2D is supposed to ignore the Z coordinate. Thus one would assume that if both are enabled, the force field effect would move with the force field object, and Z would be 0. However, instead first the 2D option projects points onto a plane passing through the global zero and orthogonal to the local Z, and only then the resulting point is transformed into local space. Z is not locked at 0, so procedural textures like Spherical Blend don't work as expected. To fix this, apply local transform first, and then just clear Z if 2D.
2016-05-06Cleanup: warningsCampbell Barton
Values set but not used