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-31Cleanup: Curves draw cache renaming, use referencesHans Goudey
Also change some remaining cases of "hair object" to "curves object".
2022-03-31Nodes: Cut hidden links when creating node groupsLeon Schittek
Add a check to the creation of node groups to remove hidden links that are connected to the outside of the node group. This avoids creating sockets in the group's interface that aren't (visibly) connected to anything within the node group. Reviewed By: Jacques Lucke, Hans Goudey Differential Revision: https://developer.blender.org/D14249
2022-03-30UI: Improve node editor dot backgroundLeon Schittek
This commit makes the dot grid used as background in the node editor more visually stable when zooming in and out. The dot grid now uses a continuously subdividing pattern, where each level of subdivision divides the previous five times, similar to the line grid in the 3D viewport. The maximum for the "Grid Levels" theme setting is changed to 3, since any further subdivisions are too small to be visible. The "Grid Levels" value for the default themes "Blender Dark" and "Blender Light" is therefore changed to 3, as well. Reviewed By: Hans Goudey, Pablo Vazquez Differential Revision: http://developer.blender.org/D13302
2022-03-30Metal: Adding alternative support for GPU_PRIM_TRI_FAN/LINE_LOOP For Metal ↵Jason Fielder
backend. - Metal uniform array compatibility in DRW module. - Guard OpenGL-specific workarounds and flushes behind GPU_type_matches_ex API guard. Add further render boundaries for render paths called outside of the main loop. Authored by Apple: Michael Parkin-White Ref: T96261 Reviewed By: fclem Differential Revision: https://developer.blender.org/D14438
2022-03-30Fix T85689: Assume Win32 Volumes are ValidHarley Acheson
Skip validation when inserting items into the Win32 "Volumes" list. This fixes some long hangs when launching Blender with disconnected network shares. See D14506 for more details. Differential Revision: https://developer.blender.org/D14506 Reviewed by Brecht Van Lommel
2022-03-30Metal: GLSL Shader compatibility 5Jason Fielder
MSL does not have an implicit global scope, this is emulated via macro's adding an indirection for uniforms, attributes, shader stage inputs and outputs such as: #define roughness shaderinst->roughness. Variables in GLSL which exist within uniform blocks can be directly referenced via the global scope, unlike standard C++. This means that variable name pollution occurs if subsequent local variables in the code use the same name, resulting in compilation errors. A number of these conflicting names have been renamed to ensure unique naming and no further scope pollution. Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14452
2022-03-30Metal: GLSL Compatibility - explicit mat4_to_mat3 conversionJason Fielder
Explicit constructor for mat3 from a mat4 is not valid and cannot be overloaded. Adding explicit texture resource type flags for depth textures. This is an explicit requirement for Metal Shading language. This is a temporary compatibility, as this path is already supported in GPU_SHADER_CREATE_INFO under ImageType::DEPTH_2D, though required in shader source for MSL shaders which do not have create info. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14418
2022-03-30Curves: Port resample node to the new data-blockHans Goudey
This commit re-implements the resample curve node to use the new curves type instead of CurveEval. The largest changes come from the need to keep track of offsets into the point attribute arrays, and the fact that the attributes for all curves are stored in a flat array. Another difference is that a bit more of the logic is handled by building of the field network inputs. The idea is to let the field evaluator handle potential optimizations while making the rest of the code simpler. When resampling 1 million small poly curves,the node is about 6 times faster compared to 3.1 on my hardware (500ms to 80ms). This also adds support for Catmull Rom curve inputs. Differential Revision: https://developer.blender.org/D14435
2022-03-30Fix T96344: edit mode GPU subdivision crashes with X-ray mode and modifiersKévin Dietrich
The crash happens because the origindex layers created as part of the modifier stack evaluation are not set in the `MeshRenderData` when they should have been. This is because when selecting in X-ray mode, a subdivision wrapper is created to ensure that selection happens with a subdivided geometry, and this replaces the `MDATA` wrapper which is also used to setup the `MeshRenderData`. As we do not seemingly have an `MDATA` wrapper, the draw code decides that we can extract draw buffers directly from the BMesh, instead of the mapped Mesh with origin indices layers. To fix this, we should also consider to use mapped extraction if a subdivision wrapper exists on the mesh. Differential Revision: https://developer.blender.org/D14485
2022-03-30Overlay: Port Armature shader to ShaderCreateInfoClément Foucault
Should have no regression.
2022-03-30GL: Fix Invalid enum error on Apple SiliconClément Foucault
Guard shader storage related gets and bypass a buggy enum. Fix T95592 OpenGL Invalid Enum
2022-03-30Overlay: Port Edit Mode shaders to ShaderCreateInfoClément Foucault
This should have no regression.
2022-03-30DRW: Port draw_common.c to use shared definition with GLSLClément Foucault
# Conflicts: # source/blender/draw/intern/draw_common_shader_shared.h # source/blender/draw/intern/shaders/draw_view_info.hh
2022-03-30GPUShaderCreateInfo: Add DepthWrite optionClément Foucault
This option lets specify explicitely how the fragment shader will change the fragment's depth.
2022-03-30GPU: ShaderBuilder: Remove do_static_compilation_ inheritanceClément Foucault
This is because the inheritance is not done before checking if the shader should be statically compiled. Also some inheritance scheme might have intermediate permutation that are not compilable.
2022-03-30Add soft limit for Bevel segments in modifier.Pratik Borhade
The recent change to allow a max segments of 1000 in the modifier causes a lag when dragging or wheeling in the segments box. This change makes the soft limit back to 100, but you can still type numbers up to 1000 in the box. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D14477
2022-03-30GPU: ShaderBuilder: Fix compilation on non-Mac platformClément Foucault
Regression introduced in rB664eb1936946a077498a17c22576763c664e3186
2022-03-30Compositor: Fix Missing output UI for Normal nodeAaron Carlisle
There were multiple issues at hand here: - The default value has been changed to `{0, 0, 1}` see: rB25f1783673de636a6f0ca4457df8c05bc685981a - The output needs the subtype set `PROP_DIRECTION` - The noder properties were missing in `node_composit_set_butfunc` Fixes T96860
2022-03-30Curves: support converting curves to legacy hair systemJacques Lucke
This adds a new operator that converts all selected curves objects into hair particle systems on their respective surface objects. Existing particle systems with the correct name are updated, otherwise a new particle system is added. The purpose of the operator is the make the new curve sculpting tools useful even before all functionality is ported over from the old hair system. The operator can be found in the `Object > Convert` menu in object mode, when a curves object is active. Differential Revision: https://developer.blender.org/D14441
2022-03-30Cleanup: Left over from review of apply transformDalai Felinto
I miss the review notes about this for the 8621fdb10dc402eeff5aa996eeb992a513afd4c0 commit.
2022-03-30GPencil: Fix double-free issue in update cacheFalk David
When a `GPencilUpdateCacheNode` is created, it always allocates the `children` pointer. This should not be freed until the whole cache is deleted. The `cache_node_update` would free the `children` pointer in a specific case, causing a double-free later when the cache was removed.
2022-03-30Apply Object Transform: Multi-user data supportDalai Felinto
The current behaviour is to prevent multi-user data from having its transformation applied. However in some particular cases it is possible to apply them: * If all the users of the multi-user data are part of the selection. * If not all the users are in the selection but the selection is made single-user. The active object is used as reference to set the transformation of the other selected objects. Note: For simplicity sake, this new behaviour is only available if all the selection is using the same data. Differential Revision: https://developer.blender.org/D14377
2022-03-30Modifiers: Support applying modifiers for multi-user dataDalai Felinto
The current behaviour is to prevent multi-user data from having its modifier applied. Instead, with this patch, we now warn the user that if they want to proceed the object will be made single-user. Note that this only makes the object data single-user. Not the material or actions. As a future step we can apply the same behaviour for the Grease Pencil modifiers Differential Revision: https://developer.blender.org/D14381
2022-03-30Iterator to loop over objects based on a flagDalai Felinto
2022-03-30Cleanup: clang-formatCampbell Barton
2022-03-30Cleanup: use "num" as a suffix in: source/blender/blenlibCampbell Barton
Also replace "num" with: - "number" when it's not used to denote the number of items. - "digits" when digits in a string are being manipulated.
2022-03-30Cleanup: use "num" as a suffix in: source/blender/gpencil_modifiersCampbell Barton
2022-03-30Fix: Failing curves test after recent commitHans Goudey
87e9451d660e8288d missed updating the behavior for Catmull Rom curves.
2022-03-30Cleanup: use utility function to initialize SelectPick_ParamsCampbell Barton
2022-03-30Fix leak transforming in the node-editor without a selectionCampbell Barton
2022-03-30Cleanup: remove redundant lattice de-selectionCampbell Barton
2022-03-30Cleanup: Move UV edit parameterize code to geometry moduleAleksi Juvani
This will allow reusing it elsewhere, such as in a geometry node. Differential Revision: https://developer.blender.org/D14453
2022-03-30Geometry Nodes: Remove soft min from extrude node scaleHans Goudey
Extusion with a negative offset is possible and expected.
2022-03-30Keymap: "Mouse Select & Move" now uses click to de-select othersCampbell Barton
While it's useful for click-drag to leave the selection as-is (when clicking on items that are already selected), it's useful for a single click to de-select all other elements. This also removes the need for the initial selection to set the object as active since this is possible by clicking on it.
2022-03-30Curves: Port curves total length node to the new data-blockHans Goudey
Ref T95443
2022-03-30Curves: Port length node to the new data-blockHans Goudey
Ref T95443
2022-03-30Curves: Port parameter node to the new data-blockHans Goudey
Using the evaluated lengths cache from 72d25fa41d8c575, re-implement the curve parameter node with the new data structure. Conceptually it works the same way, but the code is restructured and cleaned up a bit as well. This also adds support for Catmull Rom curves. Differential Revision: https://developer.blender.org/D14461
2022-03-30Fix: Remove special case from curve segment size functionHans Goudey
The idea that curves with two points cannot be cyclic came from some existing code, but there's not fundamental reason for it, so remove the check in this function. The case can be handled elsewhere if necessary.
2022-03-30Curves: Add length cache, length paramerterize utilityHans Goudey
This commit adds calculation of lengths along the curve for each evaluated point. This is used for sampling, resampling, the "curve parameter" node, and potentially more places in the future. This commit also includes a utility for calculation of uniform samples in blenlib. It can find evenlyspaced samples along a sequence of points and use linear interpolation to move data from those points to the samples. Making the utility more general aligns better with the more functional approach of the new curves code and makes the behavior available elsewhere. A "color math" header is added to allow very basic interpolation between two colors in the `blender::math` namespace. Differential Revision: https://developer.blender.org/D14382
2022-03-30Cleanup: quiet warning for description ending with a full stopCampbell Barton
2022-03-30Cleanup: spelling in commentsCampbell Barton
2022-03-30Cleanup: use equality instead of contains for single-item setsCampbell Barton
2022-03-30Cleanup: unbalanced doxy sectionsCampbell Barton
2022-03-30UI: Fix cosmetic papercuts of the reroute nodeLeon Schittek
Fix small cosmetic issues with the reroute node: 1. Remove special case that allowed curved links to attach vertically. 2. Center align the reroute node's label. The vertically attached node links could lead to kinks in the otherwise smooth curves. This would break the visual flow and make the link potentially intersect the node's label. The center alignment of the label gives more consistent results for different label lengths and also reduces the chance of the label interfering with the node links. Reviewed By: Hans Goudey, Pablo Vazquez Differential Revision: D14457
2022-03-29Geometry Nodes: Don't create node tree when adding nodes modifierLeon Schittek
Don't always create a new geometry nodes node tree when adding a geometry nodes modifier. This avoids files getting cluttered with empty and unused geometry node trees that are created every time a nodes modifier is added to an object - even if only to apply an already existing. This is also more consistent with other modifiers that also don't automatically create new data blocks. The new modifier still automatically gets populated with a new node tree when adding it via the "New" button in the header of the geometry nodes editor. Reviewed By: Hans Goudey, Dalai Felinto, Pablo Vazquez Differential Revision: D14458
2022-03-29GPencil: Remove UI prefix `Use` in Dot-Dash modifierAntonio Vazquez
The "Use" word must not be used in UI.
2022-03-29Fix: incorrect assert in new codeHans Goudey
2022-03-29GPencil: Fix Windows compiler errorsAntonio Vazquez
For non trivial data must be used `MEM_new`
2022-03-29LibOverride: Massive edits to 'editable' IDs checks in editors code.Bastien Montagne
Add new `BKE_id_is_editable` helper in `BKE_lib_id.h`, that supercedes previous check (simple `ID_IS_LINKED()` macro) for many editing cases. This allows to also take into account 'system override' (aka non-editable override) case. Ref: {T95707}.
2022-03-29LibOverride: Rename 'delete hierarchy' to 'clear hierarchy', add 'clear ↵Bastien Montagne
single' operations. 'Delete' was a confusing name, even though it would delete the overrides it would replace them by linked data. Adding the 'single' version of that operation made it even more confusing, since often it has to keep the override ID for sakes of hierarchy, and just reset it and turn it back into a non-editable system override. Ref: {T95707}.