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
path: root/source
AgeCommit message (Collapse)Author
2021-11-28Cleanup: typos in comments.Kévin Dietrich
2021-11-28Cleanup: Deduplicate instances component in spreadsheetHans Goudey
Currently we have a separate `InstancesDataSource`, which does almost exactly the same thing as `GeometryDataSource`, except that it hardcodes a few more columns: "Name", "Rotation", and "Scale". We can easily replace that with a couple of if statements in the geometry data source. This also makes named attributes on instances display in the spreadsheet. Differential Revision: https://developer.blender.org/D13391
2021-11-27Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-27Fix build error with TBB 2021 and booleansBrecht Van Lommel
Linux distributions are using newer TBB versions than official releases, and TBB 2021 is an API breaking release. In general we should avoid using TBB directly and go through the abstractions in BLI_task.hh, though there is no abstraction for this. For 3.0 the safe option is to just not cancel the task but instead early out in the lambda function. Given the grain size of 2048 there should be no significant performance difference. Differential Revision: https://developer.blender.org/D13382
2021-11-27Geometry Nodes: Optimize Cube primitive vertex calculationErik
This patch gets rid of the O(N^3) complexity of calculate_vertices. Execution time of the node is reduced from 250ms to 140ms with 500^3 vertices. In the future edge calculations could be done manually and reduce the execution time even further. Differential Revision: https://developer.blender.org/D13207
2021-11-27Geometry Nodes: Parallelize "Set Spline Type"-nodeErik
Parallelizes the loop that converts splines. It gives around a 2x speedup on curves with over 1k splines. Differential Revision: https://developer.blender.org/D13389
2021-11-27Attempt to fix Windows new bpath tests failing, take IV.Bastien Montagne
Follow up to rBdcc500e5a265093bc9cc, rB92daff6ac2adb5bb, rB61bd5882a20c6f3 and rB08264aaf82da8. Sorry for the noise, this time should be good.
2021-11-27Attempt to fix Windows new bpath tests failing, take III.Bastien Montagne
Follow up to rBdcc500e5a265093bc9cc, rB92daff6ac2adb5bb and rB61bd5882a20c6f3.
2021-11-26Attempt to fix Windows new bpath tests failing, take II.Bastien Montagne
Follow up to rBdcc500e5a265093bc9cc and rB92daff6ac2adb5bb. Also shortening a bit the macros names...
2021-11-26Fix T89564: Spline IK breaks when it is far away from the world originSebastian Parborg
The isect_line_sphere algorithm became very imprecise when the line and the sphere were reasonably far away from the world origin. This would lead to no intersections being reported even if there was a guaranteed intersection (line crossing from inside the sphere to the outside). To fix this we now use the secant root finding method to get an intersection point. This is much more stable and robust it seems.
2021-11-26Geometry Nodes: add utility to set remaining outputsJacques Lucke
Differential Revision: https://developer.blender.org/D13384
2021-11-26Attempt to fix Windows new bpath tests failing.Bastien Montagne
Follow up to rBdcc500e5a265093bc9cc.
2021-11-26Fix T93402: Linking Collections instantiate extra sub-collections.Bastien Montagne
Linking is more relax than appending when it comes to instantiating indirectly linked collections/objects.
2021-11-26Cleanup: remove warningsJacques Lucke
This assert was producing warning in debug builds because it was never hit under some circumstances.
2021-11-26Geometry Nodes: optimize Set Position nodeJacques Lucke
This implements four optimizations in the Set Position node: * Check whether the position input is the current position and ignore it if it is. This results in a speedup when only the Offset input is used. * Use multi-threading when copying to computed values to the position attribute. All geometry types benefit from this. * Use devirtualization for the offset and position input. This optimizes the common case that they are either single values or computed in the fly in a span. * Write to `Mesh->mvert` directly instead of creating a temporary span. This makes setting mesh vertex positions even more efficient. In my simple benchmark I'm using a White Noise node to offset the position of 1,000,000 vertices. The speed is `20 ms -> 4.5 ms` in the multi-threaded case and `32 ms -> 22 ms` in the single-threaded case.
2021-11-26Fix T93290: Rotation without contraint after extrude has wrong axisGermano Cavalcante
The default orientation of the mode was being indicated as overridden, although the one of constraint was used.
2021-11-26Geometry Nodes: deduplicate virtual array implementationsJacques Lucke
For some underlying data (e.g. spans) we had two virtual array implementations. One for the mutable and one for the immutable case. Now that most code does not deal with the virtual array implementations directly anymore (since rBrBd4c868da9f97a), we can get away with sharing one implementation for both cases. This means that we have to do a `const_cast` in a few places, but this is an implementation detail that does not leak into "user code" (only when explicitly casting a `VArrayImpl` to a `VMutableArrayImpl`, which should happen nowhere).
2021-11-26Fix T89081: Freestyle noise seed of zero crashPhilipp Oeser
This leads to division by zero in Freestyle's NoiseShader which also crashes blender. Not sure if we really need a do_version patch for old files, as an alternative we could also force a positive number in the NoiseShader. This patch does not do either, just force a positive range in RNA from now on. Maniphest Tasks: T89081 Differential Revision: https://developer.blender.org/D13332
2021-11-26Fix T93130: Frame Selected with selected paint mask does not workPhilipp Oeser
This broke with {rB20fac2eca723} (which landed in 2.63), so long standing bug. Convention for paint modes is: - when no paint mask is active, `Frame Selected` will focus the last stroke - when paint mask is active, `Frame Selected` will focus the selected mask faces To check the right vert coords we have to offset with `mp->loopstart`. Maniphest Tasks: T93130 Differential Revision: https://developer.blender.org/D13247
2021-11-26Fix T93117: Texture paint clone tool crash in certain situationPhilipp Oeser
Caused by {rBaf162658e127}, so long standing bug. When changing clone slots (report involved a quite complicated sequence of selecting textures and undo -- but I think this could happen in more situations) code checks for UV of new clone slot. However, since above commit the slot and the clone slot were mixed up, so in this case the responsible NULL check (for when no UV is assigned) wasnt working. Now correct this (NULL check the clone slot uv -- instead of the paint slot UV). note: not sure why low level CustomData functions actually dont do the name NULL checks themselves (seems like callers are always responsible). Maniphest Tasks: T93117 Differential Revision: https://developer.blender.org/D13378
2021-11-26Fix: error in previous commitJacques Lucke
Forgot to actually slice the span in rB6b5e1cfacab4c4605ec2d7bfef360389afe849be.
2021-11-26Fix T93380: Texture paint clone tool crash without clone imagePhilipp Oeser
This was crashing using the clone tool without a clone image assigned. Caused by {rB9111ea78acf4}. Since above commit, `BKE_image_acquire_ibuf` was using `ima->runtime` without checking for NULL first. Since callers are not required to check for this, just return early here. note: there is still a memory leak using the clone tool without a clone image assigned (but this was also the case before said commit and needs to be investigated separately). Maniphest Tasks: T93380 Differential Revision: https://developer.blender.org/D13377
2021-11-26BKE_bpath: Add minimal unittests.Bastien Montagne
This is far from a complete coverage, but should catch most of potential issues when rewriting this code.
2021-11-26MaskEditor: draw active layer on topSimon Lenz
Instead of drawing the mask layers in the sequence of their occurence, draw the active mask *always* on top. Implementation: - move drawing loop for splines to separate static function - draw active mask last Example: lowest layer is active, yet still drawn on top. {F12140355} This is part of an effort to make mask editing more intuitive & easy to use: https://developer.blender.org/T93097 Reviewed By: sergey Differential Revision: https://developer.blender.org/D13372
2021-11-26Geometry Nodes: refactor multi-threading in field evaluationJacques Lucke
Previously, there was a fixed grain size for all multi-functions. That was not sufficient because some functions could benefit a lot from smaller grain sizes. This refactors adds a new `MultiFunction::call_auto` method which has the same effect as just calling `MultiFunction::call` but additionally figures out how to execute the specific multi-function efficiently. It determines a good grain size and decides whether the mask indices should be shifted or not. Most multi-function evaluations benefit from this, but medium sized work loads (1000 - 50000 elements) benefit from it the most. Especially when expensive multi-functions (e.g. noise) is involved. This is because for smaller work loads, threading is rarely used and for larger work loads threading worked fine before already. With this patch, multi-functions can specify execution hints, that allow the caller to execute it most efficiently. These execution hints still have to be added to more functions. Some performance measurements of a field evaluation involving noise and math nodes, ordered by the number of elements being evaluated: ``` 1,000,000: 133 ms -> 120 ms 100,000: 30 ms -> 18 ms 10,000: 20 ms -> 2.7 ms 1,000: 4 ms -> 0.5 ms 100: 0.5 ms -> 0.4 ms ```
2021-11-26Clarify a confusing comment.Martijn Versteegh
Affect and effect are too confusing for non-native english speakers (like me). Also BAKING_MASK_MARGIN doesn't exist anymore in the code. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13361
2021-11-26Geometry Nodes: better devirtualization for sliced virtual arraysJacques Lucke
Under some circumstances that can lead to more than a 2x performance increase, because math nodes can better optimize for the case when the slice is a single value or span.
2021-11-26Geometry Nodes: avoid allocation when construct varray for single valueJacques Lucke
Previously, `GVArray::ForSingle` would always allocate a copy of the passed in value. Now it only does so when the value is too large or not trivial.
2021-11-26Cleanup: Migrate `image_gpu.cc` to CC.Jeroen Bakker
To prepare for future changes {T92613}.
2021-11-26Cleanup: Silence clang-tidy warning.Jeroen Bakker
2021-11-26Cleanup: Silence clang-tidy warnings.Jeroen Bakker
2021-11-25Merge remote-tracking branch 'origin/blender-v3.0-release'Dalai Felinto
Merge conflict: Makes sure master is still alpha, while 3.0 is rc.
2021-11-25Blender 3.0 bcon4 - change release cycle to release candidateDalai Felinto
This is still a rolling release candidate with new builds every day as a preparation to the final release.
2021-11-25Fix T90082: Autoscrolling after renaming in the File Browser brokenPhilipp Oeser
Caused by 6b0869039a40 Above commit introduced selection after renaming. This includes calling `file_select_deselect_all` [which resorts and refilters]. So now, to have the correct file for scrolling, get it again after sorting by calling `file_params_find_renamed` again. Differential Revision: https://developer.blender.org/D13368
2021-11-25Merge branch 'blender-v3.0-release'Julian Eisel
2021-11-25Fix missing margin below panelsJulian Eisel
A minor cosmetic fix. When the view was scrolled all the way to the bottom, the lowest panel would end right on the view edge. The scrollable view should get the same margin at the bottom as used at the top.
2021-11-25Fix T92313: Heading of redo panel is not aligned properlyJulian Eisel
This corrects some alignments issues through new margins introduced in 93544b641bd6. Basic idea of this fix is to only add the new margins when drawing a panel with background. These margins were added specifically for the background boxes, so that makes sense. Alternative fix to D13199. This also fixes some margings added unintentionally in mentioned commit. There is a little jump of the toolbar and the tabs in the Properties when comparing the UI without this fix to 2.93: {F12158085} {F12158039} The jump is gone with this fix applied (compare to the 2.93 screenshot): {F12158064} While not a serious issue, this confirms that this fix actually tackles the root of the issue.
2021-11-25Fix T92278: Small size of previews in the shading popoverJulian Eisel
Don't use the side padding for menu item contents when displaying previews or icons in a row or grid layout. This can cause problems for the preview drawing and doesn't make sense to draw there anyway. This not only fixes the mentioned issue, but also too small heighlight for the collection color tag in the Outliner context menu. Alternative to and similar to D13125.
2021-11-25Merge remote-tracking branch 'origin/blender-v3.0-release'Sybren A. Stüvel
2021-11-25Fix T93274: Assigning asset catalog doesn't mark file as modifiedSybren A. Stüvel
Assigning a catalog to an asset via drag-and-drop in the asset browser now creates an undo step. Not only does this allow undoing the action, it also tags the blend file as modified. Reviewed by: Severin Differential Revision: https://developer.blender.org/D13370
2021-11-25Fix: Crash when muting the Group Output nodeErik
This fixes a crash when muting the "Group Output" node. It should not be possible to mute it so this patch sets the `no_muting`-variable on it. Differential Revision: https://developer.blender.org/D13364
2021-11-25Merge branch 'blender-v3.0-release'Bastien Montagne
Conflicts: source/blender/windowmanager/intern/wm_files_link.c
2021-11-25Fix T93353: Reload Library used as source for liboverride loses Constraints.Bastien Montagne
Liboverride properties and operations list need to be fully up-to-date before libraries are reloaded, otherwise re-applying those liboverrides after linked data is reloaded may miss some changes.
2021-11-25Fix T89996, T90063: bugs with multi-button reset and entering values in popupsBrecht Van Lommel
This reverts the changes to fix T87448, where entering the same value in number buttons causes an unnecessary update. This is not stable enough for 3.0 and so is being reverted, better to have an unnecessary update than no update in other cases. This effectively reverts the changes from rBeb06ccc32462 and follow up fixes rBe1a9ba94c599, rBbbb52a462ef9, rBec30cf0b742f, and rB071799d4fc44. The code is disabled with a comment on how it could be implemented better.
2021-11-25Merge branch 'blender-v3.0-release'Philipp Oeser
2021-11-25Fix T93360: 'Iteractive Light Track' do not work over empty backgroundGermano Cavalcante
Bug introduced in {rBaa0ac0035a0d}. The invalid depth fallback was changed to `FLT_MAX` in order to match the annotation and gpencil operations. This broke the `Interactive Light Track` operator which invalidates the operation if the depth value is `1.0f`. The chosen solution was to change the value tested in the annotation and gpencil operations.
2021-11-25Fix T93338: Curve Guide force field crashPhilipp Oeser
Caused by {rBcf2baa585cc8}. For Curve Guide force fields to work, the `Path Animation` option has to be enabled. With it disabled, we are lacking the necessary `anim_path_accum_length` data initialized [done by `BKE_anim_path_calc_data`] which `BKE_where_on_path` relies on since above commit. Now just check for this before using it - and return early otherwise. Prior to said commit, `BKE_where_on_path` would equally return early with a similar message, so that is expected behavior here. Maniphest Tasks: T93338 Differential Revision: https://developer.blender.org/D13371
2021-11-25BLI: remove special cases for is_span and is_single methodsJacques Lucke
Those were not implemented consistently and don't really help in practice.
2021-11-25Fix T92609 Default Compositing tab shows red overlay when stereoscopy is ↵Clément Foucault
turned on This was caused by the drawing not being done on the right frammebuffer.
2021-11-25Fix T93367: wrong attribute propagation in Delete Geometry nodeJacques Lucke
This only happened with non-point selections. It used an incorrect index mapping for the attribute propagation.