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-04GPencil: Fix wrong parameters in `gpencil_check_same_material_color`Antonio Vazquez
The stroke and fill parameters were flipped.
2022-03-03Fix T96145: GPencil eval data not updated correctlyFalk David
When removing a modifier, changing the layer transform or updating the parent of a grease pencil object that has a multi-user datablock and animation data, the eval data is not updated properly (after a frame change). This can also cause memory leaks. The fix makes sure that we free and reset any runtime copy (`ob->runtime.gpd_eval`) in `BKE_gpencil_prepare_eval_data`. Note: As far as we can tell, `ob->runtime.gpd_orig` is unused and could be removed. The assignment in `BKE_gpencil_prepare_eval_data` seemed to be unnecessary. Co-authored-by: @yann-lty Reviewed By: antoniov Maniphest Tasks: T96145 Differential Revision: https://developer.blender.org/D14236
2022-03-03Cleanup: Rename set handle type node internally to match UIHans Goudey
I've had trouble finding this node a few times now, it's simpler if the file name matches the name in the UI.
2022-03-02UI: Comments Misspellings of Vertex/VerticesNikhil Shringarpurey
Correct misspellings in code comments of "vertex" and "vertices". See D13932 for more details. Differential Revision: https://developer.blender.org/D13932 Reviewed by Harley Acheson
2022-03-02Merge branch 'blender-v3.1-release'Jacques Lucke
2022-03-02Fix T95692: incorrect interpolated children particle hairJacques Lucke
Differential Revision: https://developer.blender.org/D14227
2022-03-02Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-03-02Fix T94729: GPU subdivision does not support meshes without polygonsKévin Dietrich
There are two issues revealed in the bug report: - the GPU subdivision does not support meshes with only loose geometry - the loose geometry is not subdivided For the first case, checks are added to ensure we still fill the buffers with loose geometry even if no polygons are present. For the second case, this adds `BKE_subdiv_mesh_interpolate_position_on_edge` which encapsulates the loose vertex interpolation mechanism previously found in `subdiv_mesh_vertex_of_loose_edge`. The subdivided loose geometry is stored in a new specific data structure `DRWSubdivLooseGeom` so as to not pollute `MeshExtractLooseGeom`. These structures store the corresponding coarse element data, which will be used for filling GPU buffers appropriately. Differential Revision: https://developer.blender.org/D14171
2022-03-02Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-03-02Fix T96116: Image editor not updated when adding new tile.Jeroen Bakker
2022-03-01GPencil: Improve subdivision modifierHenrik Dick
The subdivision modifier for Grease Pencil handles closed strokes correctly now and does converge to the same shape as the mesh subdivision surface. Differential Revision: http://developer.blender.org/D14218
2022-03-01Geometry Nodes: Port most curve primitives to new data-blockHans Goudey
Create `Curves` directly, instead of using the conversion from `CurveEval`. This means that the `tilt` and `radius` attributes don't need to be allocated. The old behavior is kept by using the right defaults in the conversion to `CurveEval` later on. The Bezier segment primitive isn't ported yet, because functions to provide easy access to built-in attributes used for Bezier curves haven't been added yet. Differential Revision: https://developer.blender.org/D14212
2022-03-01Curves: Move curves primitive to object add codeHans Goudey
Currently, any time a Curves data-block is created, the `curves_random` function runs, filling it with 500 random curves, also adding a radius attribute. This is just left over from the prototype in the initial commit that added the type. This commit moves the code that creates the random data to the curve editors module, like the other primitives are organized. Differential Revision: https://developer.blender.org/D14211
2022-03-01Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-03-01Fix T95997: Crash when entering edit modeSergey Sharybin
The issue was uncovered by the 0f89bcdbebf5, but the root cause goes into a much earlier design violation happened in the code: the modifier evaluation function is modifying input mesh, which is not something what is ever expected. Bring code closer to the older state where such modification is only done for the object in edit mode. --- From own tests works seems to work fine, but extra eyes and testing is needed. Differential Revision: https://developer.blender.org/D14191
2022-03-01Merge branch 'blender-v3.1-release'Jacques Lucke
2022-03-01Fix: dangling internal links after removing socketsJacques Lucke
This is a follow up for rBd5e73fa13dd275fb9c76b1e41142ab086dd2e6be. The issue was found with the file in T95997.
2022-03-01Fix T96030: Update Image editor after reload.Jeroen Bakker
2022-03-01Fix 3d texture painting artifacts.Jeroen Bakker
When dimension of images aren't a multifold of 256 parts of the gpu textures are not updated. This patch will calculate the correct part of the image that needs to be reuploaded.
2022-03-01Fix painting on none 256 aligned images.Jeroen Bakker
Internally the update tiles are 256x256. Due to some miscalculations tiles were not generated correctly if the dimension of the image wasn't a multifold of 256.
2022-03-01Cleanup: use doxygen comments, correct spellingCampbell Barton
Also move eDupli_ID_Flags doc-string to it's declaration.
2022-03-01Fix: Don't tag curves component cache dirty for radiusHans Goudey
Changing the radius does not invalidate a cache on `CurvesGeometry`.
2022-03-01Fix: Use correct default in Curves to CurveEval conversionHans Goudey
Currently the code expects the radius attribuet to always exist on the input Curves. This won't be true in the future though, so the correct default value of one should be used when creating the data on CurveEval, where the data is not optional.
2022-03-01Curves: Add method to access cyclic attributeHans Goudey
Avoids the need to use the attribute API to access this commonly used builtin attribute.
2022-02-28Nodes: Improve readability of selected node linksLeon Schittek
This commit improves the drawing of selected node links: - Highlight the entire link to make it easier to spot where the link is going/coming from. - Always draw selected links on top, so they are always clearly visible. - Don't fade selected node links when the sockets they are connected to are out out view. - Dragged node links still get a partial highlight when they are only attached to one socket. Differential Revision: https://developer.blender.org/D11930
2022-02-28Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-28Fix T92288, T96041: instancing of shared mesh objects without modifiers brokenBrecht Van Lommel
New code from the vertex normal refactor cfa53e0fbeed combined with older code from 592759e3d62a that disabled instancing for custom normals and autosmooth meant that instancing was always disabled. However we do not need to disable instancing for custom normals and autosmooth at all, this can be shared between instances just fine.
2022-02-28Cleanup: Rename geometry set "curve" functions to "curves"Hans Goudey
Ref T95355
2022-02-28Geometry Nodes: Begin conversion to new curvesHans Goudey
This commit changes `CurveComponent` to store the new curve type by adding conversions to and from `CurveEval` in most nodes. This will temporarily make performance of curves in geometry nodes much worse, but as functionality is implemented for the new type and it is used in more places, performance will become better than before. We still use `CurveEval` for drawing curves, because the new `Curves` data-block has no evaluated points yet. So the `Curve` ID is still generated for rendering in the same way as before. It's also still needed for drawing curve object edit mode overlays. The old curve component isn't removed yet, because it is still used to implement the conversions to and from `CurveEval`. A few more attributes are added to make this possible: - `nurbs_weight`: The weight for each control point on NURBS curves. - `nurbs_order`: The order of the NURBS curve - `knots_mode`: Necessary for conversion, not defined yet. - `handle_type_{left/right}`: An 8 bit integer attribute. Differential Revision: https://developer.blender.org/D14145
2022-02-28Cleanup: Move mesh_validate.c to C++Hans Goudey
This patch was tested on the build bots on all platforms.
2022-02-28Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-28Fix T96048: Crash on appending with driver variables loop in shapekeys.Bastien Montagne
The usual 'shape keys snowflake' nightmare again...
2022-02-28Animation: Sensible frame range for motion pathsColin Marmont
Motion paths can now be initialised to more sensible frame ranges, rather than simply 1-250: - Scene Frame Range - Selected Keyframes - All Keyframes The Motion Paths operators are now also added to the Object context menu and the Dopesheet context menu. The scene range operator was removed, because the operators now automatically find the range when baking the motion paths. The clear operator now appears separated in "Selected Only" and "All", because it was not clear for the user what the button was doing. Reviewed By: sybren, looch Maniphest Tasks: T93047 Differential Revision: https://developer.blender.org/D13687
2022-02-27Fix: Incorrect assert in curves codeHans Goudey
The attribute data might be null if the number of curves is zero. While that is not common, an empty curves data-block is valid.
2022-02-26Cleanup: Mesh normal calculation comments and logicHans Goudey
Some logic and comments in the vertex normal calculation were left over from when normals were stored in MVert, before cfa53e0fbeed7178c7. Normals are never allocated and freed locally anymore.
2022-02-26Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-26Fix compile warning from earlier commit.Kévin Dietrich
2022-02-25Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-25Disable GPU subdivision if autosmooth or split normals are usedKévin Dietrich
These features are complicated to support on GPU and hardly compatible with subdivision in the first place. In the future, with T68891 and T68893, subdivision and custom smooth shading will be separate workflows. For now, and to better prepare for this future (although long term plan), we should discourage workflows mixing subdivision and custom smooth normals, and as such, this disables GPU subdivision when autosmoothing or custom split normals are used. This also adds a message in the modifier's UI to indicate that GPU subdivision will be disabled if autosmooth or custom split normals are used on the mesh. Differential Revision: https://developer.blender.org/D14194
2022-02-25Fix: Only possible to create one 8 bit integer attributeHans Goudey
The custom data code checks for `LayerTypeInfo.defaultname` before adding a second layer with a certain type. This was missed in e7912dfa1959be671f77e4e67eab. In practice, this default name is not actually used.
2022-02-25Curves: add surface object pointerJacques Lucke
Ref T95776. Differential Revision: https://developer.blender.org/D14182
2022-02-25LibOverrides: fix handling of hierarchy root in complex cases.Bastien Montagne
This affects essentially the Outliner 'create hierarchy' tool currenlty. Previously code did not handle properly hierarchy root in case overrides where created from a non-root ID (e.g. an object inside of a linked collection), and in case additional partial overrides were added to an existing partially overrided hierarchy. Also did some renaming on the go to avoid using 'reference' in override context for anything else but the reference linked IDs.
2022-02-24Curves: Use simpler "set" behavior for postion attributeHans Goudey
This is similar to f8fe0e831ec14cc521e03df, which made the change to the handle position attributes. This commit removes the way that setting the `position` attribute also changes the handle position attributes. Now, the "Set Position" node still has this behavior, but changing the attribute directly (with the modifier's output attributes) does not. The previous behavior was a relic of the geometry nodes design from before fields and the set position node existed. This makes the transition to the new curves data structure simpler. There is more room for optimizing the Bezier case of the set position node in the future.
2022-02-24Cleanup: code comments in vfont_to_curveCampbell Barton
2022-02-24Cleanup: remove dead code in vfont_to_curveCampbell Barton
Also replaces numbers with character literals for tab/space.
2022-02-24Cleanup: remove dead code from text wrapping logicCampbell Barton
Error from original commit in 2005, 97df61a7e5391e302d1a5f9069cf0b388f85e0c8.
2022-02-24Cleanup: use continue instead of goto for 3D text wrapping logicCampbell Barton
2022-02-24Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-24Fix T95116: Scale to fit fails with a single word & non-zero Y-sizeCampbell Barton
The scale-to-fit option did nothing for single words when the text box had a height. This happened because it was expected that text would be wrapped however single words never wrap. Now the same behavior for zero-height text boxes is used when text can't be wrapped onto multiple lines.
2022-02-23Curves: Use simpler "set" behavior for handle position attributesHans Goudey
The handle position attributes `handle_left` and `handle_right` had rather complex behavior to get expected behavior when aligned or auto/ vector handles were used. In order to simplify the attribtue API and make the transition to the new curves data structure simpler, this commit moves that behavior from the attribute to the "Set Handle Positions" node. When that node is used, the behavior should be the same as before. However, if the modifier's output attributes were used to set handle positions, the behavior may be different. That situation is expected to be very rare though.