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
2022-03-18Cleanup: Rename "spline" variables to "curve"Hans Goudey
Ref T95355
2022-03-18Cleanup: Reorganize duplicate elements fileHans Goudey
Use sections to keep all the code for a specific mode together, rather than keeping the attribute duplication separate.
2022-03-18Curves: Port duplicate elements node to new data-blockHans Goudey
Remove the conversion to and from `CurveEval` by supporting the new Curves data-block in the node. This allows for some simplifications to the code, as well as a fix for transfering curve domain attributes when duplicating the curve domain. The performance improvements (obverved through the timings overlay) can be relatively massive with many curves. When duplicating 10000 4-point curves to become 2 million curves, I observed an approximate 150x improvement, from about 3 seconds to about 20ms.
2022-03-18Cleanup: Miscellaneous improvements to duplicate geometry nodeHans Goudey
- Pass less redundant information in function arguments. - Use `IndexRange` more instead of direct offset calculations. - Use specific geometry component types for specialized functions. - Use const arguments. - Declare variables closer to where they are created or used. - Remove some redundant logic. - Simplify the description for the output geometry.
2022-03-18DRW: gpu wrappers: Fix compilation in release modeClément Foucault
2022-03-18GPUMaterial: Fix missing thickness output linkClément Foucault
2022-03-18GPUMaterial: Fix compilation error when shader use bump nodesClément Foucault
2022-03-18GPUCodegen: Fix missing dependency of some nodes to object infosClément Foucault
2022-03-17Fix keying-set selector brokenJulian Eisel
The menu for Timeline > Keying > Active Keying Set wouldn't show up. Caused by d8e3bcf770c2. The function to attach search menu data to the button would be called twice with different arguments for the same button now. Shouldn't be an issue in general, but the first call now had the unexpected side effect that the button would get disabled. Make sure it's re-enabled when the second call sets the proper search data now.
2022-03-17Fix T96330: Three times slower 'relink to new id' process in 3.1.Bastien Montagne
Caused by rB43bc494892c3, moving this 'new id' relink to generic remapping code added the over-head of proper, generic post-processing, compared to the special-cases previous code was only designed to handle. Fortunately with recent 'multi-remapping' work we can easily rewrite that new id relink code to use the multi-remapping approach too. No behavioral change is expected from this commit, besides the improved performances (essentially restored to what they where before rB43bc494892c3).
2022-03-17EEVEE: Use compute shaders for lightprobe related filteringClément Foucault
This reduces the complexity and avoid framebuffer setup costs. This also "remove" the prefiltering of the glossy cubemaps in favor of a simple bilinear filtering of the mipchain.
2022-03-17EEVEE: Fix race condition in HiZ downsample shaderClément Foucault
2022-03-17GPUTexture: Add Cube view as 2D arrayClément Foucault
This is useful to read/write to the textures directly using compute shaders and imageLoad/Store.
2022-03-17GPencil: Fix cyclic flag cleared by simplify modifierHenrik Dick
Change the sample mode to don't duplicate the last vertex of the stroke and instead use the cyclic flag to close previously cyclic strokes. This is necessary for the following modifiers. Reviewed By: NicksBest Differential Revision: http://developer.blender.org/D14359
2022-03-17BLI: add probabilistic rounding utilityJacques Lucke
2022-03-17Cleanup: name enumsJacques Lucke
2022-03-17Hair: Sculpt Mode IconsDalai Felinto
From hair particle mode: * Add * Comb * Cut * Grow New: * Delete Only comb and delete are used at the moment (by the new tools which are under experimental).
2022-03-17Curves: separate sculpt brushes into separate filesJacques Lucke
This makes it easier to work on these brushes in parallel.
2022-03-17View 3D: scale object center selection penalty by the pixel sizeCampbell Barton
All screen-space UI thresholds should scale by the interface scale.
2022-03-17Fix unintended de-selection when selecting the object centerCampbell Barton
Selecting an object that was already active & selected would de-select it when the cursor was over the objects center. This was caused by [0] that added a check which assumed more than one hits from GPU_select meant there were multiple objects to select from. This is not necessarily the case since bones, camera tracks or the objects own center can add additional hits. Resolve by keeping track of the best hit with & without the active-selected object, only using the non-active-selected if it's found. [0] 1550573360241ef5be0839d2652e9e092f510b63
2022-03-17Tweak Tool: supports select & tweak on LMB (with RMB-select key-map)Campbell Barton
Support for differentiating the tweak tool from the 3D cursor when select is set to RMB. This is currently an experimental preference: Tweak Tool: Left Mouse Select & Drag When enabled the tweak tool can now tweak the existing selection without de-selecting first, a single click can be used to replace the selection. This matches selection in the graph & node editors. This preferences is only available with "Developer Extras" enabled. Ref T96544.
2022-03-17View 3D: the select operator now uses the cancel flag on failureCampbell Barton
Needed so mapping selection to click doesn't pass the click event through to setting the 3D cursor for e.g. While this doesn't happen with the default key-map, setting selection to LMB-click would set the 3D cursor as well (when the selection fell through to nothing).
2022-03-17View 3D: multi-object pose selection no longer de-selects objectsCampbell Barton
De-selecting objects meant that selecting a bone would de-select all the other pose objects - making exiting & entering pose-mode loose the current set of pose objects. Match edit-mode behavior: avoid de-selecting objects in the current mode (unless the action is explicitly performed in the outliner for e.g.).
2022-03-17Cleanup: simplify logic for skipping object selectionCampbell Barton
Previously setting the 'basact' to NULL was done, but this wasn't so simple to use with deselect_all which needs to check if there was anything found at the cursor. Add a 'handled' variable to differentiate this case, when set don't attempt object selection.
2022-03-17Cleanup: minor clarifications to comments & use const variablesCampbell Barton
2022-03-17Fix 3D view movie-clip track selectionCampbell Barton
While basic single track selection worked, toggling and de-selection has been broken since at least 2.83. Support SelectPick_Params with the exception of deselect_all which doesn't make sense for tracks as de-selecting all objects is expected in that case.
2022-03-17Cleanup: split movie clip track selection into it's own functionCampbell Barton
This was an involved operation to include inline, making ed_object_select_pick more difficult to follow. Prepare for track selection to properly support SelectPick_Params.
2022-03-17View 3D: support for select passthrough when picking selected itemsCampbell Barton
Currently this isn't used in the key-map, it will eventually allow the 3D viewports tweak tool to match the behavior of other editors that support tweaking a selection without first de-selecting all other elements.
2022-03-17Cleanup: spelling in commentsCampbell Barton
Use <pre>..</pre> for pseudo-code.
2022-03-17Cleanup: include argument names for drop-box callbacksCampbell Barton
Indicates typical names for callbacks and allows them to be documented.
2022-03-17Compositor: Support backdrop offset for the Viewer nodeHabib Gahbiche
This is only part of the experimental "Full Frame" mode (disabled by default). See T88150. Currently the viewer node uses buffer paddings to display image offset in the backdrop as a temporal solution implemented for {D12466}. This solution is inefficient memory and performance-wise. Another issue is that the paddings are part the image when saved. This patch instead sets the offset in the Viewer node image as variables and makes the backdrop take it into account when drawing the image or any related gizmo. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12750
2022-03-17Fix: Compiler error on windows and macHans Goudey
The previous fix including `<algorithm>` was an improvement but not the actual error, which appears to be that `int64_t` is long long int on one platform but just long int on another. The fix includes the template argument directly.
2022-03-17Fix: Build error after curve evaluation commitHans Goudey
2022-03-16Curves: Initial evaluation for curves data-blockHans Goudey
This patch adds evaluation for NURBS, Bezier, and Catmull Rom curves for the new `Curves` data-block. The main difference from the code in `BKE_spline.hh` is that the functionality is not encapsulated in classes. Instead, each function has arguments for all of the information it needs. This makes the code more reusable and removes a bunch of unnecessary complications for keeping track of state. NURBS and Bezier evaluation works the same way as existing code. The Catmull Rom implementation is new, with the basis function based on Cycles code. All three types have some basic tests. For NURBS and Catmull Rom curves, evaluating positions is the same as any generic attribute, so it's implemented by the generic interpolation to evaluated points. Bezier curves are a bit special, because the "handle" control points are stored in a separate attribute. This patch doesn't include generic interpolation to evaluated points for Bezier curves. Ref T95942 Differential Revision: https://developer.blender.org/D14284
2022-03-16GPUCodegen: Add comment on the pass hash first checkClément Foucault
2022-03-16EEVEE: Speedup: Add subsurface scattering bypass on principle BSDFClément Foucault
This is to avoid the cost of running another shading pass when not needed.
2022-03-16Fix: Update icons for hair to curves renameHans Goudey
ddf189892c596d939 missed recreating the icons with the new names. This commit runs `make icons` and replaces the names in CMake.
2022-03-16EEVEE: Material: Fix issue with DRWShadingGroup reuse.Clément Foucault
With the deferred pipeline, the materials needs different shading groups depending on their matflags. Note that this is potentially slower because execution order of shaders may now be random. This might be fixed in a later commit.
2022-03-16EEVEE: Refactor indirect lighting pipeline to use computeClément Foucault
This matches better what hardware raytracing will be doing. Performances are also more predictable.
2022-03-16Add 'multiple' variant of ID relink function.Bastien Montagne
Similar to other changes to ID remapping, gives huge speedups in some cases, like certain types of liboverride creation. Case from {T96092} goes from 1725 seconds (almost 30 minutes) to 45 seconds to generate the liboverride, on my machine. Reviewed By: jbakker Maniphest Tasks: T96092 Differential Revision: https://developer.blender.org/D14240
2022-03-16Cleanup: Remove unnecessary namespace specificationHans Goudey
Ever since d5b72fb06cd0405c46, shader nodes have been in the `blender::nodes` namespace, so they don't need to use that to access Blender's C++ types and functions.
2022-03-16Fix: Build error from missing build dependenciesHans Goudey
Somehow exposed after 943b919fe807b5355, linking could fail because bf_nodes was not properly configured as a dependency of bf_nodes_shader. Also add the dependency to the geometry nodes module.
2022-03-16Fix Cycles HIP assuming warp size 32Brecht Van Lommel
In HIP these masks are 64 bit, while in CUDA only 32 bit.
2022-03-16Cleanup: remove some unused Cycles GPU codeBrecht Van Lommel
To make porting to other architectures easier, clarifying that this does not need to be supported. The unused parallel_reduce implementation assumed warp size 32, but is easy to update if we ever need it in the future.
2022-03-16Cleanup: Further removal for legacy geometry nodesHans Goudey
943b919fe807b535586 missed removing the experimental option and the nodes from the add menu.
2022-03-16Fix T96518: Gpencil Fill freezes when use invert and click inside areasAntonio Vazquez
When using inverted filling and click inside a closed area and not outside as is expected, the algorithm to detect the contour to fill is unable to find the filling shape and try to fill outside of the valid index. The infinite loop was adding more memory for each loop and the process continued while there was system resources and finally crashed the system. As the tool in negative mode is designed to fill all areas when you click outside of any shape, now the algorithm check if the outline is not working as expected and cancels the filling process.
2022-03-16Geometry Nodes: Remove legacy node codeHans Goudey
This commit removes the implementations of legacy nodes, their type definitions, and related code that becomes unused. Now that we have two releases that included the legacy nodes, there is not much reason to include them still. Removing the code means refactoring will be easier, and old code doesn't have to be tested and maintained. After this commit, the legacy nodes will be undefined in the UI, so 3.0 or 3.1 should be used to convert files to the fields system. The net change is 12184 lines removed! The tooltip for legacy nodes mentioned that we would remove them before 4.0, which was purposefully a bit vague to allow us this flexibility. In a poll in a devtalk post showed that the majority of people were okay with removing the nodes. https://devtalk.blender.org/t/geometry-nodes-backward-compatibility-poll/20199 Differential Revision: https://developer.blender.org/D14353
2022-03-16Fix T96512: Crash selecting an edgeCampbell Barton
Regression in 5e5285baf621.
2022-03-16Document some flags controlling BKE_library_foreach_ID_link behavior.Bastien Montagne
2022-03-16Cleanup: Deprecated field access in outliner_duplicateSergey Sharybin
Solved by introducing introducing a variant of MEM_cnew which behaves as a copy-constructor for a trivial types. Alternative approach would be to surround DNA structs with clang/gcc diagnostics push/modify/pop so that implicitly defined constructors and copy operators are allowed to access deprecated fields. The downside of the DNA approach is that it will require some way to easily apply diagnostics modifications to many structs, which is not possible currently. The newly added MEM_cnew has other good usecases, so is easiest to use this route, at least for now. Differential Revision: https://developer.blender.org/D14356