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
2022-07-27Cleanup: Move wm_dragdrop.c to C++Hans Goudey
2022-07-27Sculpt: Remove debug printfJun Mizutani
Reviewed By: Joseph Eagar Differential Revision: D15547 Ref D15547
2022-07-27Geometry Nodes: Implement link drag search for two nodesHans Goudey
It was never added for the field on domain and field at index nodes. They need special handling because they have many what should be a multi-type socket declaration.
2022-07-27Nodes: Allow using escape key to exit node resizingHans Goudey
2022-07-26Cleanup: Move mesh_tessellate.c to C++Hans Goudey
2022-07-26Python: Expose property to mute action groupsFalk David
This patch adds a `mute` RNA property on `ActionGroup`s that allows them to be easily muted/unmuted from python. This uses the existing `AGRP_MUTED` flag which was also accessible from the user interface. Reviewed By: sybren Differential Revision: https://developer.blender.org/D15329
2022-07-26Refactor: Extract color attributes as generic attributesHans Goudey
Previously there was a special extraction process for "vertex colors" that copied the color data to the GPU with a special format. Instead, this patch replaces this with use of the generic attribute extraction. This reduces the number of code paths, allowing easier optimization in the future. To make it possible to use the generic extraction system for attributes but also assign aliases for use by shaders, some changes are necessary. First, the GPU material attribute can now store whether it actually refers to the default color attribute, rather than a specific name. This replaces the hack to use `CD_MCOL` in the color attribute shader node. Second, the extraction code checks the names against the default and active names and assigns aliases if the request corresponds to a special active attribute. Finally, support for byte color attributes was added to the generic attribute extraction. Differential Revision: https://developer.blender.org/D15205
2022-07-26Fix T98788: bad first curve tangent when first points have same positionJacques Lucke
2022-07-26Fix T98798: tag collection geometry when changing instance offsetJacques Lucke
Changing the instance offset moves the entire "collection geometry". So other features that depend on the geometry should be reevaluated.
2022-07-26Fix T98982: cannot change default value of some node group input typesJacques Lucke
2022-07-26Geometry Nodes: Hide value button for field at index nodeHans Goudey
Changing the value doesn't accomplish anything, since the retrieved value would be the same for every index then. So it's best to hide it to make the node clearer.
2022-07-26Fix T99271: modifier errors are not clearedJacques Lucke
2022-07-26Fix T99373: add some padding in spreadsheet vector columnsJacques Lucke
This improves readability in some cases (e.g. in T99373).
2022-07-26default N-panel open for animation editorsNate Rupsis
The Graph, Driver, and Dopesheet's (and sub modes) properties panel (N-Panel) are now open by default. This includes the editors in the default Animation workspace. Note that, because the Timeline is implemented as a special mode of the Dopesheet, switching between Timeline and Dopesheet will *not* change the visibility of the properties panel. Maniphest Tasks: T97980 Differential Revision: https://developer.blender.org/D14910
2022-07-26BLI: add use_threading parameter to parallel_invokeIliay Katueshenock
`parallel_invoke` allows executing functions on separate threads. However, creating tasks in tbb has a measurable amount of overhead. Therefore, it can be benefitial to disable parallelization when the amount of work done per function is small. See D15539 for some benchmark results. Differential Revision: https://developer.blender.org/D15539
2022-07-26GPencil: Update curve handle display after change overlay optionAntonio Vazquez
The handles were not updated after changing the settings. This is a partial fix of T99984
2022-07-26Fix T99979: GPencil strokes cannot be edited after set originAntonio Vazquez
The stroke points were changed but the bounding box calculation was not done and this produced a problem in any bounding box check done by different tools.
2022-07-26Cleanup: Typo in comments: `data-lock` -> `data-block`.Bastien Montagne
2022-07-26Cleanup: formatCampbell Barton
2022-07-26Cleanup: spelling in commentsCampbell Barton
2022-07-26Fix Python SystemExit exceptions silently exitingCampbell Barton
Any script that raised a SystemExit called by --python, --python-expr command line args or by executing the text block would exit without printing a message. This caused the error from T99966 to be hidden. Add explicit handling for SystemExit to ensure the message is always shown before exiting. More details noted in code-comments.
2022-07-26Fix: Fix attribute writer debug warnings in terminalHans Goudey
Use an imperfect solution, since this code will be replaced soon anyway.
2022-07-25Sculpt: Fix T99779, pbvh gets wrong active vertex for multiresJoseph Eagar
The recent multires winding fix missed a code branch.
2022-07-25UI: Nishita sky: Increase Sun Elevation UI sensitivity and remove min/maxClément Foucault
This now use default angle precision which matches the sun rotation. Feeling is much more natural.
2022-07-25Fix T99459: GPencil: Fill tool on the surface not in the correct placeGermano Cavalcante
There is a 1 pixel error in the size registered for the buffer dimensions. NOTE: This issue indicates that the texture scale is different from the region, so the mouse-based coordinates used are actually misaligned. This misalignment will be fixed in another commit. Regression probably introduced in rB1d49293b8044 + rB45f167237f0c8
2022-07-25Curves: Unify poll functions, add message with no surfaceHans Goudey
The "snap to surface" operators now have "disabled" poll messages when there is no surface object. The implementation in most curves operators is also unified. The goal is to avoid having to define and use the poll failure messages in multiple places, to reduce the boilerplate that tends to be necessary to add an operator, and to increase the likelihood that operators are implemented with proper poll messages. Differential Revision: https://developer.blender.org/D15528
2022-07-25Fix: Assert in resample curve node with single point curveHans Goudey
2022-07-25Geometry Nodes: Add node descriptions/tooltipsArye Ramaty
This commit adds tooltips to the geometry nodes add menu. Differential Revision: https://developer.blender.org/D15414
2022-07-25Fix T99816: renaming attribute works incorrectlyJacques Lucke
This fixes two issues: * There was a crash when the new attribute name was empty. * The attribute name was incremented (e.g. "Attribute.001") when the old and new name were the same.
2022-07-25Fix T99850: incorrect tangents on evaluated bezier curvesJacques Lucke
Cyclic curves don't need the tangent correction based on the first and last handle position.
2022-07-25Fix T99851: Subdivide Curve node does not initialize attributes of end pointJacques Lucke
2022-07-25Fix T99880: no node timing for frames in node groupsJacques Lucke
2022-07-25Fix T99889: Fillet Curve node uses wrong radiusJacques Lucke
2022-07-25Fix T99036: hex color in "Add Color Attribute"Ramil Roosileht
Proposed solution by @scurest The color attribute in the RNA was tagged as COLOR_GAMMA. This change will change it to a regular COLOR. {F13217692} Reviewed By: joeedh, jbakker Maniphest Tasks: T99036 Differential Revision: https://developer.blender.org/D15272
2022-07-25Fix T99929: lattice modifier looks up vertex group index in wrong placeJacques Lucke
It looked up the vertex group index based on the object instead of the actual mesh that is currently used. Since geometry nodes, the number and order of attributes can change in arbitrary ways during evaluation. Therefore, this index has to be looked up on the mesh which contains the most up-to-date information. There are probably similar issues in other modifiers. That has to be fixed step by step. Ideally by using the attribute api directly eventually.
2022-07-25Fix missing disabled hint when dragging from Asset Browser in edit modeJulian Eisel
When dragging assets into the 3D View while in any other mode than object mode, dropping would be disabled and the cursor would indicate that. However there was supposed to be an "Only supported in object mode" message, that similar operators showed, but got forgotten when this one was introduced.
2022-07-25Curves: add warning when invalid uv map is used when adding curvesJacques Lucke
UV maps that are used for surface attachment must not have overlapping uv islands, because then the same uv coordinate would correspond to multiple surface positions. Ref T99936.
2022-07-25Geometry: detect when the sample uv is in multiple trianglesJacques Lucke
2022-07-25EEVEE-Next: Fix float3 passes being incorrectClément Foucault
2022-07-25EEVEE-Next: Fix some Material compilation errorsClément Foucault
2022-07-25Fix T99961: crash when spreadsheet shows volume gridsJacques Lucke
2022-07-25Fix: crash when accessing attributes from multiple threadsJacques Lucke
Calling two non-const methods on a `MutableAttributeAccessor` at the same time in multiple threads is not safe. While I don't know what caused the crash here exactly, I do know that it happens while looking up the attribute for writing, which may modify the unterlying geometry. I couldn't reproduce the bug with a debug build or without threading.
2022-07-25Undo: Improve image undo performanceAlex Parker
When texture painting a lot of time is spent in ED_image_paint_tile_find. This fixes stores the PaintTiles in a blender::Map making ED_image_paint_tile_find an O(1) rather than O(n) operation. When using threading the locking should happen during read as well, still this gives a boost in performance as the read is now much faster. Reviewed By: jbakker Maniphest Tasks: T99546 Differential Revision: https://developer.blender.org/D15415
2022-07-25Geometry Nodes: Improve UV Sphere primive performanceHans Goudey
In a test producing 10 million vertices I observed a 3.6x improvement, from 470ms to 130ms. The largest improvement comes from calculating each mesh array on a separate thread. Besides that, the larger changes come from splitting the filling of corner and face arrays, and precalculating sines and cosines for each ring. Using `parallel_invoke` does gives some overhead. On a small 32x16 input, the time went up from 51us to 74us. It could be disabled for small outputs in the future. The reasoning for this parallelization method instead of more standard data-size-based parallelism is that the latter wouldn't be helpful except for very high resolution.
2022-07-24Render: Update lightgroup membership in objects and world if lightgroup is ↵Lukas Stockner
renamed As discussed, this only updates objects in and the world of the scene to which the view layer belongs, which also avoids the problem of not having a BMain available. Differential Revision: https://developer.blender.org/D14740
2022-07-24Alembic: speed up edge crease importKévin Dietrich
The Alembic importer uses a linear search over the mesh edges to find the right edge when setting edge creases. Although the complexity is `O(m * n)`, with `m` being the number of creased edges, and `n` being the number of edges, this can lead to a quadratic complexity as `m` approches `n`. This patch uses `EdgeHash` to store and retrieve the edges, which should bring complexity closer to `O(n)`, provided that lookup is `O(1)`. See differential for some timings. In most files, this is expected to give at least a 2-3x speedup for this operation, but can lead orders of magnitude speed increase for dense meshes with a significant number of edge creases. Differential Revision: https://developer.blender.org/D15521
2022-07-24Attributes: Use new API for C-API functionsHans Goudey
Use the C++ API to implement more of the existing C functions. This corrects the cases where one tries to add a builtin attribute with the wrong domain or type on curves, though a better warning message would be helpful in the future, and also reduces duplication of the internal logic. Not much more is possible without changing the interface.
2022-07-24EEVEE-Next: Decorelate Large filter spiral samplingClément Foucault
This avoids correlation artifacts with the jitter pattern itself. Also try to reduce the visible spiral pattern.
2022-07-24EEVEE-Next: Fix depth accumulation and stability in viewportClément Foucault
The display depth is used to composite Gpencil and Overlays. For it to be stable we bias it using the dFdx gradient functions. This makes overlays like edit mode not flicker. The previous approach to save the 1st center sample does not work anymore since we jitter the projection matrix in a looping pattern when scene is updated. So the center depth is only (almost) valid 1/8th of the times. The biasing technique, even if not perfect, does the job of being stable. This has a few cons: - it makes the geometry below the ground plane unlike workbench engine. - it makes overlays render over geometry at larger depth discontinuities.
2022-07-24EEVEE-Next: Make animated viewport non jittered when disabling denoisingClément Foucault