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-10-03Cleanup: Move object_update.c to C++Hans Goudey
2022-10-03Cleanup: Move modifier.c to C++Hans Goudey
2022-10-03Fix T101118, T101471: Crash with bevel weight in solidify modifierHans Goudey
Just a missing null check for the original edge weight.
2022-10-03Sculpt: fix stroke-only attributes not being freed at stroke endJoseph Eagar
2022-10-03Sculpt: fix T101465, crash in cloth filter with new automasking modesJoseph Eagar
2022-10-03Sculpt: Fix T101464: Crash in mask from cavityJoseph Eagar
2022-10-03Sculpt: Fix T101463: Don't initialize automask to zero inJoseph Eagar
factor mode if topology or boundary modes are inactive Factors mode (precomputing the automask) should initialize the mask to 1.0 if no additive automasking modes are enabled, instead of zero.
2022-10-03Cleanup: Naming in edge vertices nodeHans Goudey
- Use `enum class` - Use shorter names for field input classes for better line wrapping - Use "Vert" instead of "Vertex"
2022-10-03Fix: Viewer node overlay alpha broken on NVidia GPUsHans Goudey
On NVidia GPUs, when the blue channel was between 0 and 0.1, the overlay's alpha would increase, making it invisible. With the `overlay_line_fb` frame buffer bound in `overlay_engine.cc` there are two outputs to write to: the color and the line output, which is used for making smooth antialiased lines. The overlay is in its current position in the order of overlays so that it draws on top of curve wire lines. Not writing to that second output is undefined behavior, so fix it by writing zeros. In the future, the overlay could be smoothed on curves using that second texture. Thanks to Clément for the explanation of the issue!
2022-10-03Cleanup: Simplify code and remove duplicationsAntonio Vazquez
This commit simplify the previous fix for T101455 f6c2f1c65e146bf20b9182f275b67c747d9e2990
2022-10-03GPencil: Remove Fill `use_collide_only` optionAntonio Vazquez
After a lot of testing, this option is not required and now this is managed by stroke_collsion. If the stroke_collision is enabled, only collide strokes are used.
2022-10-03GPencil: Fix missing Fill stroke cross detectionAntonio Vazquez
If the cross point was in the extreme of the stroke the collision was not detected because it could be outside of the bbox. Removed the bbox check because now it is not necessary.
2022-10-03Fix T101455: GPencil Gizmo in wrong location when using Active ElementAntonio Vazquez
The gizmo was not set when this option was selected. By design, in grease pencil the active element option uses the object origin as pivot point.
2022-10-03Fix: Spline Parameter node produces NaN when curve is a single pointJacques Lucke
Issue found in file from T101256.
2022-10-03Nodes: fix missing update when input of muted node changesJacques Lucke
2022-10-03Viewport: Remove unnecassary assertJoseph Eagar
2022-10-03Fix T101410: ignore dangling reroute inputsJacques Lucke
For consistency with other node systems in Blender and older versions of geometry nodes, dangling reroute inputs should not affect the output. When an input socket is linked to dangling reroutes, its own value should be used instead.
2022-10-03Nodes: fix missing updates with muted nodes and reroutesJacques Lucke
Muted nodes and reroutes can potentially affect the output when they are linked to an input socket and don't have any inputs on their own. The issues was that previously "logically linked sockets" where used which hide reroutes and muted nodes away. The solution is to work with the directly linked sockets instead and handle reroutes etc explicitly.
2022-10-03Sculpt: Reset automask cache on non-color non-mask undo stepsJoseph Eagar
2022-10-03UI: Nodes typo in "distribute points in volume" nodeDalai Felinto
Distribute Points In Volume → Distribute Points in Volume.
2022-10-03Fix T101451: curve attribute overlay disappears when origin is out of viewJacques Lucke
The core issue seems to be that `BKE_curve_minmax` does not create the correct bounding box for `Curve` data passed to the render engine. That's because this `Curve` object does not contain the legacy curve data structure. Fixing this will likely require some more consideration, so this fix just avoids the culling check for now, which is actually also done in `OVERLAY_extra_wire` using the same approach.
2022-10-03Sculpt: fix draw face sets not updating on first strokeJoseph Eagar
2022-10-03Fix T94441: fix crash parenting object to a boneAndrew Oates
This crash occurs when the bone is newly created. In certain circumstances the depsgraph data for the armature is not updated, causing `pchan_eval` to be NULL when the parent is updated. This causes a segfault in `ED_object_parent_set` when the flags are updated. This change fixes the underlying depsgraph bug, and also adds both an assertion and NULL pointer check to `ED_object_parent_set` to better handle this scenario if it recurs via another path. Maniphest Tasks: T94441 Differential Revision: https://developer.blender.org/D16065
2022-10-03Sculpt: fix missing nullptr check in pbvh drawJoseph Eagar
This time it was face sets.
2022-10-03Cleanup: Address format-security warningSergey Sharybin
2022-10-03Cleanup: Set but unused variableSergey Sharybin
2022-10-03Cleanup; Warning about missing override for virtual functionSergey Sharybin
2022-10-03Cleanup: quiet warnings (unused arg & trailing fullstop)Campbell Barton
2022-10-03Cleanup: run clang-format in sculpt codeJoseph Eagar
2022-10-03Cleanup: Use c++-style unused paramter form in automasking code.Joseph Eagar
Also renamed shadowed variable in sculpt_filter_mesh.c
2022-10-03Sculpt: fix missing nullptr check in pbvh drawJoseph Eagar
Check for nullptr when building mask vbos.
2022-10-03Sculpt: Normal-based automasking modesJoseph Eagar
Two new normal-based automasking modes. The first mode, "brush", compares vertex normals with the initial normal at the beginning of the brush stroke. The second, "view", compares vertex normals with the view normal. If "occlusion" is on then rays will be shot from each vertex to test if it is occluded by other geometry (note: this can be very slow).\ Only geometry inside the sculpt mesh is considered. Each mode has an associated angular limit and a falloff. Reviewed by: Julien Kaspar and Jeroen Bakker Differential Revision: https://developer.blender.org/D15297 Ref D15297
2022-10-03Cleanup: Remove more unused CustomData API functionsHans Goudey
Due to increased usage of typed arrays in C++ and name/offset based access for BMesh, these are unlikely to be used again, and haven't been used in many years.
2022-10-03Cleanup: Deduplicate logic in CustomData access functionsHans Goudey
Also remove comments that just restated what the next line was doing, often incorrectly.
2022-10-03Cleanup: Remove unused BMesh functionHans Goudey
2022-10-03Cleanup: cmake indentationCampbell Barton
2022-10-03Cleanup: remove '.' from the end of descriptionsCampbell Barton
Quiet warnings at startup & build time.
2022-10-03Cleanup: simplify storage when uv island packingChris Blackbourn
Refactor ahead of upcoming packing changes. Differential Revision: https://developer.blender.org/D16096
2022-10-03Fix wrong version bump to 3.4.1, we are still on 3.4.0Brecht Van Lommel
The patch levels are reserved for bugfix releases.
2022-10-03Cleanup: use doxy-sections in anim_channels_edit.cCampbell Barton
2022-10-03Cleanup: spelling in commentsCampbell Barton
2022-10-03Cleanup: quiet deprecated copy warningCampbell Barton
2022-10-03Cleanup: replace UNUSED() with commented argumentsCampbell Barton
This is the conventional way of dealing with unused arguments in C++. Also quiet enum conversion warnings.
2022-10-03Cleanup: formatCampbell Barton
2022-10-03Cleanup: fix unused variable warnings in draw_pbvh.ccJoseph Eagar
2022-10-03Sculpt: New Cavity Automasking ModeJoseph Eagar
Add new cavity automasking mode based on local mesh curvature. Cavity masking is a great way to quickly add detail in crevices and the like. It's meant to be used with the Paint brush in color attribute mode. It does work with other brushes but the results can be unpredictable. {F13131497} The old "dirty mask" operator has been replace with a new "mask from cavity" operator that shares the same code with cavity automasking. Differences from the sculpt-dev implementation: * It uses the word "cavity." When I first implemented this I wasn't aware this feature existed in other software (and other paint modes in Blender), and for reasons that escape me today I initially decided to call it a concave or concavity mask. * The cavity factor works a bit differently. It's no longer non-linear and functions as a simple scale around 0.5f. * Supports custom curves. * Supports blurring. Reviewed By: Julian Kaspar, Jeroen Bakker and Campbell Barton Differential Revision: https://developer.blender.org/D15122 Ref D15122
2022-10-03Cleanup: remove duplicate declarationJoseph Eagar
Also got rid of ATTR_NO_OPT macro.
2022-10-03Sculpt: Rewrite PBVH drawJoseph Eagar
Rewrite PBVH draw to allocate attributes into individual VBOs. The old system tried to create a single VBO that could feed every open viewport. This required uploading every color and UV attribute to the viewport whether needed or not, often exceeding the VBO limit. This new system creates one VBO per attribute. Each attribute layout is given its own GPU batch which is cached inside the owning PBVH node. Notes: * This is a full C++ rewrite. The old code is still there; ripping it out can happen later. * PBVH nodes now have a collection of batches, PBVHBatches, that keeps track of all the batches inside the node. * Batches are built exclusively from a list of attributes. * Each attribute has its own VBO. * Overlays, workbench and EEVEE can all have different attribute layouts, each of which will get its own batch. Reviewed by: Clement Foucault Differential Revision: https://developer.blender.org/D15428 Ref D15428
2022-10-03Cleanup: Typo in forward declarationHans Goudey
2022-10-03Geometry Nodes: Curve and mesh topology access nodesHans Goudey
This patch contains an initial set of nodes to access basic mesh topology information, as explored in T100020. The nodes allow six direct topology mappings for meshes: - **Corner -> Face** The face a corner is in, the index in the face - **Vertex -> Edge** Choose an edge attached to the vertex - **Vertex -> Corner** Choose a corner attached to the vertex - **Corner -> Edge** The next and previous edge at each face corner - **Corner -> Vertex** The vertex associated with a corner - **Corner -> Corner** Offset a corner index within a face And two new topology mappings for curves: - **Curve -> Points** Choose a point within a curve - **Point -> Curve** The curve a point is in, the index in the curve The idea is that some of the 16 possible mesh mappings are more important, and that this is a useful set of nodes to start exploring this area. For mappings with an arbitrary number of connections, we must sort them and use an index to choose a single element, because geometry nodes does not support list fields. Note that the sort index has repeating behavior as it goes over the "Total" number of connections, and negative sort indices choose from the end. Currently which of the "start" elements is used is determined by the field context, so the "Field at Index" and "Interpolate Domain" nodes will be quite important. Also, currently the "Sort Index" inputs are clamped to the number of connections. One important feature that isn't implemented here is using the winding order for the output elements. This can be a separate mode for some of these nodes. It will be optional because of the performance impact. There are several todos for separate commits after this: - Rename "Control Point Neighbors" to be consistent with this naming - Version away the "Vertex Neighbors" node which is fully redundant now - Implement a special case for when no weights are used for performance - De-duplicating some of the sorting logic between the nodes - Improve performance and memory use of topology mappings - Look into caching some of the mappings on meshes Differential Revision: https://developer.blender.org/D16029