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
2020-11-24Fix T77261: Multires creates spikes when subdividing ngonsSergey Sharybin
The spikes were caused by non-initialized tangent matrix used during smoothing process. The reason tangent matrix was not initialized was because wrong usage of API: n-gons should pass corner of 0 to the matrix construction function. Corrected usage of the API and added assert() to help catching such kind of non-initialized issues easier.
2020-11-23Animation: New Euler filter implementationSybren A. Stüvel
This new discontinuity filter performs actions on the entire Euler rotation, rather than only on the individual X/Y/Z channels. This makes it fix a wider range of discontinuities, for example those in T52744. The filter now runs twice on the selected channels, in this order: - New: Convert X+Y+Z rotation to matrix, then back to Euler angles. - Old: Add/remove factors of 360° to minimize jumps. The messaging is streamlined; it now reports how many channels were filtered, and only warns (instead of errors) when there was an actual problem with the selected channels (like selecting three or more channels, but without X/Y/Z triplet). A new kernel function `BKE_fcurve_keyframe_move_value_with_handles()` is introduced, to make it possible to move a keyframe's value and move its handles at the same time. Manifest Task: T52744 Reviewed By: looch Differential Revision: https://developer.blender.org/D9602
2020-11-23Fix T82849: Assert When Unlinking "Edit Source" Text Data-block.Bastien Montagne
Simplify and sanitize handling of usercounts for Text IDs generated trhough `BKE_text_load_ex`.
2020-11-23Tracking: Cover markers access with basic testsSergey Sharybin
Just a beginning of tests coverage, related on the planned upcoming development.
2020-11-23Tracking: Cleanup, make units explicit in new track creationSergey Sharybin
2020-11-23Tracking: Refactor, move track allocation to helper functionSergey Sharybin
The caller is still responsible for allocating list of markers, but the track allocation and initialization can now be reused. Currently no functional changes, preparing for an upcoming development.
2020-11-22Cleanup: Use const arguments in curve bevelHans Goudey
This makes it clear that only the final "r_data" is being changed. Also rename a variable to be less vague.
2020-11-22Cleanup: Improve readability of curve displist buildingHans Goudey
Just a few minor improvements: declare variables where they are initialized, decrease scope, expand some variable names, and use LISTBASE_FOREACH.
2020-11-22Cleanup: Reduce indentationHans Goudey
Having up to nine levels of indentation make this function hard to follow. Instead of indenting the rest of the loop for a simple special case, just continue.
2020-11-20Merge branch 'blender-v2.91-release'Jeroen Bakker
2020-11-20Cleanup: spellingCampbell Barton
2020-11-19Fix T82769: remove thread local data from PTCacheMemJacques Lucke
The issue was that the same point cache was read by multiple threads at the same time (the same object was evaluated for render and for the viewport). Both threads incremented PTCacheMem->cur which lead to the crash. The fix is to remove the PTCacheMem->cur and store it on the stack instead. This way every thread has its own cur. Reviewers: brecht Differential Revision: https://developer.blender.org/D9606
2020-11-19Fix lost node links when linked node group datablock is temporarily missingBrecht Van Lommel
Don't refresh the list of sockets, so that when the .blend file is restored the links remain valid. Also display such nodes in red to indicate an error, same as when the node type info is missing.
2020-11-19Cleanup: Grammar: "Allow to" vs gerundHans Goudey
In cases where "Allow" is followed by an infinitive, a noun needs to directly follow it. But it makes more sense to follow it with a gerund instead.
2020-11-18GPencil: Automerge last drawn stroke with previous strokesAntonio Vazquez
This option joins any stroke with an end near the actual stroke. Now it is not limited to the last stroke, any stroke in the same layer for the actual frame can be joined. The join can join two strokes drawing a third stroke. If the end and the start of the result stroke are very small, the stroke is changed to be cyclic automatically. There is a limit distance to join the stroke, if the distance is greater than this value, the strokes are not joined. Actually, a constant, threshold distance is used, but we could expose as a parameter in the UI in the future. The tool can be used with freehand drawing or with primitives. Note: Great part of the patch is just a refactor of the old code to make it accessible and to keep code organized. Reviewed By: mendio Maniphest Tasks: T82377 Differential Revision: https://developer.blender.org/D9440
2020-11-18Merge branch 'blender-v2.91-release'Sebastián Barschkis
2020-11-18Fluid: Revert changes from T82488Sebastián Barschkis
Scaling of forces needs more work. Before making changes to them it would be nice to have a setup, that works physically correct across multiple modifiers (cloth, rigid bodies, fluid). This will be a to do for 2.92.
2020-11-18Cleanup: clarify precedence of operationsCampbell Barton
2020-11-17Cleanup: Use LISTBASE_FOREACH macroHans Goudey
2020-11-17Cleanup: Clang tidy else after returnHans Goudey
2020-11-17Merge branch 'blender-v2.91-release'Bastien Montagne
2020-11-17Fix T82770: Artifacts when painting on generated transparent imageJeroen Bakker
Regression introduced by {b17cca6966}. When centralizing the gpu texture premultiplication setting it was assumed that generated images (`IMA_TYPE_UV_TEST`) were stored as premultiplied. That assumption was totally wrong as the alpha association is determined by the existing of the float/byte buffer. NOTE: This change will render generated images with pure emissive colors (show colors when alpha=0.0) what might add more reports. Any reports could be merged in the next report {T82790}. Reviewed By: Clément Foucault, Philipp Oeser Differential Revision: https://developer.blender.org/D9585
2020-11-17Merge remote-tracking branch 'origin/blender-v2.91-release'Sybren A. Stüvel
2020-11-17Fix T82774: NLA Sync Length Typo FixWayde Moss
When offsetting strips to the left, to make space when syncing strip length, move the preceding NLA strips instead of the succeeding strips. The bug seems to be from a copy/pasting typo. Reviewed By: sybren Differential Revision: https://developer.blender.org/D9583
2020-11-16Merge branch 'blender-v2.91-release'Hans Goudey
2020-11-16Fix T82439: Crash moving collections between scenesHans Goudey
The original code for viewlayer collection flag syncing across moves from D9158 didn't consider the case where the collection could no longer be found in its original view layer (moving a collections betwen scenes). The fix is to just check if the collection starts in the same scene as it will be moved to before trying to do the flag syncing. I thought about this for a while and tried a couple other solutions, but I couldn't come up with a proper way to support syncing the layer collection flags across scenes without making too many changes. Differential Revision: https://developer.blender.org/D9568
2020-11-16Fix broken pointcache on disk in some cases.Bastien Montagne
Root of the issue is that point caches are added to the object's list on-demand, which often ends up with them being added only during depsgraph evaluation, i.e. on COW objects. This could result in having 'orig' data caches with invalid/unset stack index at some points (e.g. when reading a file and applying liboverrides), leading to discarding valid existing disk cache files. Fact that one of those index is signed, and the other not, does not help... While this is very weak, fixing broken PointCache code is out of the scope of a bug fix, so this patch merely: * Simplifies and factorizes the code generating the 'extension' part of caches filenames; * Ensures `BKE_object_insert_ptcache` is called when needed so that we always have a valid stack index to generate that filename extension. This is only a bandaid, but it is simple and should be safe enough for now. Related to T82503.
2020-11-16Fix (unreported) potential buffer overflow in PointCache code.Bastien Montagne
2020-11-16Merge remote-tracking branch 'origin/blender-v2.91-release'Sybren A. Stüvel
2020-11-16Fix T82740: Drivers on movie clip datablock crash on file openSybren A. Stüvel
Add call to `BKE_animdata_blend_read_data()` after remapping the MovieClip datablock address.
2020-11-16Grease Pencil: adjust behavior of target object detectionCampbell Barton
First detect the other selected object, then check it can be written to. Otherwise the target object could be the first one found when looping over objects which is random from the user perspective. Move the type check to the operator, which also checks the data isn't library data which was being ignored.
2020-11-16Cleanup: spellingCampbell Barton
2020-11-14GPencil: Missing initialization in previous commitAntonio Vazquez
2020-11-14GPencil: Cleanup clang formatAntonio Vazquez
2020-11-14GPencil: Fix unreported crash in some cases when duplicate a strokeAntonio Vazquez
Some pointers were not initialized.
2020-11-13GPencil: Merge GSoC curve edit modeFalk David
Differential Revision: https://developer.blender.org/D8660 This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes Using Curves" project. It adds a submode to greasepencil edit mode that allows for the transformation of greasepencil strokes using bezier curves. More information about the project can be found here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
2020-11-13GPencil: Remove ID from operators to fix T82597Antonio Vazquez
Instead to use the ID of the object, now the parameter is an Enum with Selected object or New. If use selected mode, the first grease pencil object selected is used. If none of the selected objects is a grease pencil object, a new object is created. Small cleanup changes to the original patch. Differential Revision: https://developer.blender.org/D9529
2020-11-13LibOverride: Do not tag overrides for complete recalc.Bastien Montagne
This was done as some sort of safety, but should not actually be needed, and including tags like `ID_RECALC_POINT_CACHE` e.g. makes usage of point caches impossible with liboverrides (since it would systematically invalidate all cache on file load). In theory we should not have to tag anything here in fact, RNA accessors are supposed to take care of it, but for now we keep the `ID_RECALC_COPY_ON_WRITE` one. Part of first step of T82503: support disk cache in liboverrides.
2020-11-13Cleanup: use IMB_FTYPE_NONE instead of 0 for imbuf format comparisonCampbell Barton
Image format code checked the file type against an enum except for zero which is used when the format can't be detected. Also add doc-strings to some of the image file type callbacks.
2020-11-13refactor vec_roll_to_mat3_normalized() for clarityGaia Clary
the function vec_roll_to_mat3_normalized() has a bug as described in T82455. This Differential is only for refactoring the code such that it becomes more clear what the function does and how the bug can be fixed. This differential is supposed to not introduce any functional changes. Reviewed By: sybren Differential Revision: https://developer.blender.org/D9410
2020-11-13Fix T82349: file extension not added to unpacked imagesRobert Guetzkow
Ensure the appropriate extension is set when unpacking generated images that don't have a filepath set. Ref D9500
2020-11-12fix: added missing float declarationsGaia Clary
2020-11-12Test cases for vec_roll_to_mat3_normalizedGaia Clary
The function vec_roll_to_mat3_normalized() basically has to handle 3 scenarios: - When a bone is oriented along the negative Y axis - When a bone is very close to the negative Y axis - All other cases The tests in the Differential make sure that all 3 situations are covered. Reviewed By: sybren, mont29 Differential Revision: https://developer.blender.org/D9525
2020-11-12Merge branch 'blender-v2.91-release'Sebastián Barschkis
2020-11-12Fluid: Removed clamp from force assignmentSebastián Barschkis
The clamp is too aggressive and results in forces being too weak.
2020-11-12Merge branch 'blender-v2.91-release' into masterBastien Montagne
2020-11-12Fix T82466: Library Overrides: overrides disappear when appending.Bastien Montagne
`BKE_library_make_local` was not properly checking for tags and/or libs in liboverrides case.
2020-11-12Cleanup: spellingCampbell Barton
2020-11-11UI Code Quality: Start refactoring Outliner tree building (using C++)Julian Eisel
This introduces a new C++ abstraction "tree-display" (in this commit named tree-view, renamed in a followup) to help constructing and managing the tree for the different display types (View Layer, Scene, Blender file, etc.). See https://developer.blender.org/D9499 for more context. Other developers approved this rather significantly different design approach there. ---- Motivation General problems with current design: * The Outliner tree building code is messy and hard to follow. * Hard-coded display mode checks are scattered over many places. * Data is passed around in rather unsafe ways (e.g. lots of `void *`). * There are no individually testable units. * Data-structure use is inefficient. The current Outliner code needs quite some untangling, the tree building seems like a good place to start. This and the followup commits tackle that. ---- Design Idea Idea is to have an abstract base class (`AbstractTreeDisplay`), and then sub-classes with the implementation for each display type (e.g. `TreeDisplayViewLayer`, `TreeDisplayDataAPI`, etc). The tree-display is kept alive until tree-rebuild as runtime data of the space, so that further queries based on the display type can be executed (e.g. "does the display support selection syncing?", "does it support restriction toggle columns?", etc.). New files are in a new `space_outliner/tree` sub-directory. With the new design, display modes become proper units, making them more maintainable, safer and testable. It should also be easier now to add new display modes.
2020-11-11Cleanup: use bool for imbuf save callbacksCampbell Barton