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-14Cleanup: Simplify NURBS basis cache argumentsHans Goudey
Only pass a mutable span and a return argument to the calculation function, so it's simpler and doesn't worry about where either are stored.
2022-03-14Curve: Remove temporary buffer during NURBS evaluationHans Goudey
Currently a single buffer is used as working space for all evaluated points. In order to make evaluations more independent, opening options like multi-threading in the future, instead use a separate array for each call. Using an inline buffer capacity higher than the default allows a few percent performance improvement, and removes allocations for every evaluated point.
2022-03-14Cleanup: Remove unnecessary NURBS optimizationHans Goudey
The step after calculating the NURBS basis for a single evaluated point trimmed extra zeroes from the weights. However, in practice this rarely did anything, only for the first and last evaluated point of certain knot configurations. Remove it in order to simplify code. Also use a separate span for the result, to clarify its length.
2022-03-13GPencil: Simplify modifier minimal vert count fixHenrik Dick
Lower the minimal vert count for all simplify modes. Differential Revision: http://developer.blender.org/D14319
2022-03-11Cleanup: Use new enum for NURBS curve knots modesHans Goudey
Move the definition of the enum to `Curves` DNA, since the values will be saved in files, and ongoing development needs to use this.
2022-03-11Curves: Move constructor/assignmentHans Goudey
Add the ability to move `CurvesGeometry` without copying its attributes and data. The benefit is more intuitive management of the data-block copying, and less overhead for copying in some cases. The "moved-from" source is left in an empty but valid state. A test file is added to test the move constructor.
2022-03-11Cleanup: use M_PI_2 and M_PI_4 where possibleHallam Roberts
The constant M_PI_4 is added to GLSL to ensure it works there too. Differential Revision: https://developer.blender.org/D14288
2022-03-11Fix: Deleting vertex group attribute can change original meshHans Goudey
There was an error with the attribute API implementation for vertex groups. If the vertex group layer referenced an original mesh, it wasn't properly duplicated for writing.
2022-03-11Cleanup: Use helper variableHans Goudey
For a NURBS curve, the order is just the degree plus one. So just pass around the degree instead of always subtracting one.
2022-03-11Fix threading conflict with movie cache lineSergey Sharybin
It was possible that a render thread will be freeing cache while the interface is iterating over cache items to build cache line. Found while looking into T94738. It might be a fix, but I am unable to reproduce the original issue, so can not know for sure whether there is something else going or or not.
2022-03-11Text: use simplified logic for txt_to_bufCampbell Barton
This function was copied from txt_sel_to_buf, including unnecessary complexity to support selection as well as checks for the cursor which don't make sense when copying the whole buffer. Use a simple loop to copy all text into the destination buffer.
2022-03-11Curve: Improve NURBS knot generation modesLaurynas Duburas
This patch enables all 8 combinations of Nurbs modes: Cyclic, Bezier and Endpoint. Also removes restriction on Bezier Nurbs order. The most significant changes are mode combinations bringing new meaning. In D13891 is a scheme showing NURBS with same control points in a modes, and also further description of each possible case. Differential Revision: https://developer.blender.org/D13891
2022-03-11Cleanup: use doxy sections in image.ccCampbell Barton
Also minor improvements & clarifications to comments.
2022-03-10Curves: actually delete curves with Delete brushJacques Lucke
Previously, the position was just set to zero as part of the prototype. Differential Revision: https://developer.blender.org/D14291
2022-03-10Cleanup: spelling in comments & some minor clarificationsCampbell Barton
2022-03-10Cleanup: Move image.c to c++Jesse Yurkovich
Passing on all platforms: https://builder.blender.org/admin/#/builders/18/builds/329 Differential Revision: https://developer.blender.org/D13962
2022-03-10Cleanup: Simplify/deduplicate curves built-in attribute accessHans Goudey
Separate two templated functions that deal with custom data so that each built-in attribute accessor doesn't need the same boilerplace and logic.
2022-03-09Cleanup: fix wrong spelling of texture and indentationBrecht Van Lommel
Contributed by luzpaz. Ref D14271, D14270
2022-03-09Fix wrong detection of alpha for grayscale images, after recent changesEthan-Hall
Differential Revision: https://developer.blender.org/D14286
2022-03-09Fix T96233: Crash with gpencil data with vertex groupsFalk David
Blender crashes when a multi-user grease pencil object has vertex groups and is modified by modifiers, layer transform or parenting. The fix makes sure that we copy the vertex group names list. Reviewed By: antoniov Maniphest Tasks: T96233 Differential Revision: https://developer.blender.org/D14275
2022-03-09Cleanup: use ELEM macroCampbell Barton
2022-03-09Attributes: Implement CustomData interpolation for boolean data typeAleksi Juvani
This commit fixes an issue, where for instance, when merging vertices with the "Merge by Distance" geometry node, the resulting vertices had their boolean attributes set unpredictably. Boolean attributes are implemented as custom data, and when welding vertices, the custom data for the resulting vertices comes from interpolating the custom data of the source vertices. This commit implements the missing interpolation function for the boolean custom data type. This interpolation function is implemented in terms of the logical or operation, that is to say, if any of the source vertices (with a weight greater than zero) have the boolean set, the boolean will also be set on the resulting vertex. This logic matches 95981c9876483256b28. In geometry nodes, attribute interpolation generally does not use the CustomData API for performance reasons, but other areas of Blender still do. Differential Revision: https://developer.blender.org/D14172
2022-03-08Cleanup: Correct commentHans Goudey
Normals aren't stored in custom data anymore, nor are they stored in MVert for comparisons.
2022-03-08LibOverride: Do not assert when root ID is not object/collection.Bastien Montagne
While uncommon, this is still a valid case...
2022-03-08Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-03-08Simplify sound property handlingRichard Antalik
Sound properties like volume, pitch and muting are handled in `BKE_sound_add_scene_sound()`. This is unnecessary, because in properties are then set to real values in `SEQ_edit_update_muting()` and `seq_update_seq_cb()`. Alternatively, it may be better to remove all other updates leave them in `BKE_sound_add_scene_sound()`. But I want to add muting per channel, whhich is easier and probably cleaner to do with function `SEQ_edit_update_muting()`. Reviewed By: sergey Differential Revision: https://developer.blender.org/D14269
2022-03-08Fix (unreported) liboverride rules from linked data disapearing.Bastien Montagne
Code cleaning up no-more-needed override data during diffing process would systematically remove override data from linked IDs. While this is not a critical issue in theory, it has bad consequences at the very least on user UI/UX, and potentially can cause bugs in some corner-cases scenarii.
2022-03-08LibOverrides: Tweak to ensure no overrides can be created on linked data.Bastien Montagne
Was already mostly the case, but from RNA API there was no proper check.
2022-03-08Fix T96213: Crash when texture painting across multiple materials.Jeroen Bakker
Issue only happens in release builds on windows. That said it was an actual error in the code. This class is compiled inline in release builds. When updating multiple textures it would reuse the same memory to collect the changes. When the previous loaded tilenumber was exactly the same but from a different image the tile buffer wasn't loaded. Reviewed By: sergey Maniphest Tasks: T96213 Differential Revision: https://developer.blender.org/D14274
2022-03-08Fix: add missing case in switch statement for curvesJacques Lucke
2022-03-08Cleanup: spelling in commentsCampbell Barton
2022-03-08Fix: Curves cyclic access function duplicates attributeHans Goudey
This was an oversight in 6594e802ab94ff11. First it must check if the attribute exists before adding it.
2022-03-08Cleanup: Rename geometry set "curve" to "curves"Hans Goudey
Similar to 245722866d6977c8b, just another function I missed before.
2022-03-07Cleanup: fix various typosBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D14203
2022-03-07Python: Add new `annotation_pre` & `annotation_post` handlersAntonio Vazquez
Annotation tool is used as a general mark tool for many add-ons. To be able to detect when an annotation is done is very handy to integrate the annotation tool in add-ons and other studio workflows. The new callback names are: `annotation_pre` and `annotation_post` Both callbacks are exposed via the Python module `bpy.app.handlers` Example use: ``` import bpy def annotation_starts(gpd): print("Annotation starts") def annotation_done(gpd): print("Annotation done") bpy.app.handlers.annotation_pre.clear() bpy.app.handlers.annotation_pre.append(annotation_starts) bpy.app.handlers.annotation_post.clear() bpy.app.handlers.annotation_post.append(annotation_done) ``` Note: The handlers are called for any annotation tool, including eraser. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D14221
2022-03-07Cleanup: quiet warningsCampbell Barton
2022-03-07Improve multi-user gpencil data performance with modifiersYann Lanthony
When a grease pencil data-block has multiple users and is subject to modifiers, layer transforms or parenting, performance (especially playback) is greatly affected. This was caused by the grease pencil eval process which does per instance full-copies of the original datablock in case those kinds of transformations need to be applied. This commit changes the behavior of the eval process to do shallow copies (layers with empty frames) of the datablock instead and duplicates only the visible strokes. When we need to have a unique eval data per instance, only copy the strokes of visible frames to this copy. Performance: On a test file with 1350 frames 33k strokes and 480k points in a single grease pencil object that was instanced 13 times: - master: 2.8 - 3.3 fps - patch: 42 - 52 fps Co-authored by: @filedescriptor This patch was contributed by The SPA Studios. Reviewed By: #grease_pencil, pepeland Differential Revision: https://developer.blender.org/D14238
2022-03-05Fix T96152: Crash realizing curve instancesHans Goudey
The "curve_type" was transferred to instances because it isn't a built-in curve attribute. Then it was interpolated as a point domain attribute from the instance domain in the realize instances node. The fix was just missing from 9ec12c26f16ea3da1e6de95d5. `curve_type` needs to be marked as a built-in attribute.
2022-03-04Fix T96164: Crash with curve domain attributesHans Goudey
When converting from the new type to the old, the curve domain attributes weren't properly resized, so their data was not properly allocated.
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-02Blender 3.1 bcon4 - change release cycle to release candidateThomas Dinges
This is still a rolling release candidate with new builds every day as a preparation to the final release.
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