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-02-03Curves: Changes to the new curves data-blockHans Goudey
This patch refactors the "Hair" data-block, which will soon be renamed to "Curves". The larger change is switching from an array of `HairCurve` to find indices in the points array to simply storing an array of offsets. Using a single integer instead of two halves the amount of memory for that particular array. Besides that, there are some other changes in this patch: - Split the data-structure to a separate `CurveGeometry` DNA struct so it is usable for grease pencil too. - Update naming to be more aligned with newer code and the style guide. - Add direct access to some arrays in RNA -- Radius is now retrieved as a regular attribute in Cycles. -- `HairPoint` has been renamed to `CurvePoint` -- `HairCurve` has been renamed to `CurveSlice` - Add comments to the struct in DNA. The next steps are renaming `Hair` -> `Curves`, and adding support for other curve types: Bezier, Poly, and NURBS. Ref T95355 Differential Revision: https://developer.blender.org/D13987
2022-02-03Fix T95334: Crash with no vertex normals in multires bakeHans Goudey
This is partially caused by a stupid mistake in cfa53e0fbeed7178c78 where I missed initializing the `vert_normals` pointer in `MResolvePixelData`. It's also caused by questionable assumptions from DerivedMesh code that vertex normals would be valid. The fix used here is to create a temporary mesh with the data necessary to compute vertex normals, and ensure them here. This is used because normal calculation is only implemented for `Mesh` and edit mesh, not `DerivedMesh`. While this might not be great for performance, it's potentially aligned with future refactoring of this code to remove `DerivedMesh` completely. Since this is one of the last places the data structure is used, that would be a great improvement. Differential Revision: https://developer.blender.org/D13960
2022-02-03Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-03Fix T94435: remove anonymous attributes when applying modifierJacques Lucke
Differential Revision: https://developer.blender.org/D13994
2022-02-03Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-03Fix (unreported) broken do_version of hidden layers from pre-2.8 files.Bastien Montagne
`BKE_collection_object_add` ensures given object is added to an editable collection, and not e.g. a linked or override one. However, some processes like do_version manipulate collections also from libraries, i.e. linked collections, in those cases we need a version of the code that unconditionnally adds the given object to the given colleciton.
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-03Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-03Cleanup: Rename 'TRACKBALLSIZE' to 'V3D_OP_TRACKBALLSIZE'Germano Cavalcante
2022-02-03Cleanup: Split View3D navigation code into specific compilation unitsGermano Cavalcante
The view3d_edit.c file is already getting big (5436 lines) and mixes operators of different uses. Splitting the code makes it easier to read and simplifies the implementation of new features. Differential Revision: https://developer.blender.org/D13976
2022-02-03Fix T91254: Some editing operation indirectly delete objects from override ↵Bastien Montagne
collections. Those cases are fairly hard to track down... Added some more checks, also at lower levels, more generic levels of object editing, and fixed core check in liboverride (previously code was assuming that an override of a collection only could have overrides of objects or linked objects, but this is not necessarily true).
2022-02-03Split Python OBJ importer and exporter, enabling only the importer.Howard Trickey
This is from patch D13988. It removes the "- New" from the menu of the new obj exporter, changes the default addon to just io_import_obj, and does the right versioning thing. Also disables the python tests for the old python exporter.
2022-02-03Cleanup: use NULL items for the default sample enumCampbell Barton
Using this enum quiets a warning when exporting key-maps.
2022-02-03Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-03Docs: correct weight paint sample descriptionCampbell Barton
2022-02-03Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-03Fix T95137: Spline calc_length not working with just 1 NURB pointJesse Yurkovich
The NURB case did not properly handle a curve with only 1 point. Ref D13904
2022-02-03Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-03Fix T66913: undo after frame-change doesn't refresh properlyCampbell Barton
Use the ID.recalc flag to detect when updates after frame-change is needed. Since comparing the last calculated frame doesn't take undo into account (see code-comment for details). `ID_RECALC_AUDIO_SEEK` has been renamed to `ID_RECALC_FRAME_CHANGE` since this is not only related to audio however internally this flag is still categorized in `NodeType::AUDIO`. Reviewed By: sergey Ref D13942
2022-02-03Cleanup: clang-formatCampbell Barton
2022-02-03Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-03Fix assert in original modifiers pointer update functionSergey Sharybin
The issue was happening with a specific file where the ID management code was not fully copying all modifiers because of the extra check in the `BKE_object_support_modifier_type_check()`. While it is arguable that copy-on-write should be a 1:1 copy there is no real need to maintain the per-modifier pointer to its original. Use its SessionUUID to perform lookup in the original datablock. Downside of this approach is that it is a linear lookup instead of direct pointer access, but the upside is that there is less pointers to manage and that the file with unsupported modifiers does behave correct without any asserts. Differential Revision: https://developer.blender.org/D13993
2022-02-03Cleanup: Use utility function to access original modifier in RNASergey Sharybin
2022-02-03Despgraph: Remove asserts from object modifier backupSergey Sharybin
The modifiers are mapped between original and evaluated objects based on their session IDs. The pointer to original modifier is no longer needed for the backup: it remained from the initial implementation which was rewritten at some point. This is a preparation for removal of the pointer to original modifier.
2022-02-02LibOverride: Move proxy conversion code in its own file.Bastien Montagne
This will allow to keep the access to deprecated DNA proxy data in that specific file, instead of allowing deprecated accesses in the whole override kernel code. Part of T91671.
2022-02-02Remove operators to manually convert proxies to liboverrides.Bastien Montagne
Now that proxy conversions if enforced, those operations are not useful anymore. Part of T91671.
2022-02-02Fix T95397: Grease Pencil Icons do not match in Outliner vs Dope Sheet EditorAntonio Vazquez
There was an inconsistency between icons.
2022-02-02Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-02Fix (unreported) bug in liboverride resync code.Bastien Montagne
Part of the resynching code would access collections' objects base cache, which can be invalid at that point (due to previous ID remapping and/or deletion). Use a custom recursive iterator over collections' objects instead, since those 'raw' data like collection's objects list, and collection's children lists, should always be valid. Found while investigating a studio production file.
2022-02-02Draw Manager: Marked work around code.Jeroen Bakker
Mark the work around that was added for the VSE memory leak.
2022-02-02Workaround for VSE memory leak.Jeroen Bakker
This is a temp fix for a memory leak where the VSE isn't aware that a float representation of the image could exist. The VSE somehow doens't clears it (refcounter is still 1). The work around is just to let the image engine clean up all the data it created. Potential this would add more overhead when buffers are needed more than once.
2022-02-02Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-02BLI: fix memory leak in VectorSetJacques Lucke
The leak happened when the vector set had to grow when it was empty but it had allocated the keys array already.
2022-02-02Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-02Fix T95084: evaluate all output attributes before changing geometryJacques Lucke
This refactors how output attributes are computed in the geometry nodes modifier. Previously, all output attributes were computed one after the other. Every attribute was stored on the geometry directly after computing it. The issue was that other output attributes might depend on the already overwritten attributes, leading to unexpected behavior. The solution is to compute all output attributes first before changing the geometry. Under specific circumstances, this refactor can result in a speedup, because output attributes on the same domain are evaluated together now. Overwriting existing might have become a bit slower, because we write the attribute into new buffer instead of using the existing one. Differential Revision: https://developer.blender.org/D13983
2022-02-02Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-02Fix T95288: Shrinkwrap selection broken in edit modeSergey Sharybin
Mistake in the 974981a63704: f the edit data is not present then the origindex codepath is to be used. Added a brief note about it on the top of the file. More ideally would be to remove edit mesh from non-bmesh-wrappers but this would require changes in the draw manager to make a proper decision about drawing edit mode overlays.
2022-02-02Remove option to not auto-convert proxies on file load.Bastien Montagne
Now all proxies will always be converted to library overrides. If conversion fails, they are simply 'disabled'. This should be the last 'user-visible' step of proxies removal. Remaining upcoming commits will remove internal ID management, depsgraph and evaluation code related to proxies. Also bump the blendfile subversion. Part of T91671.
2022-02-02Proxies Removal: Handle conversion to liboverrides also for linked data.Bastien Montagne
So far linked proxies were just kept as-is, this is no longer an option. Attempt to convert them into liboverrides as much as possible, though some cases won't be supported: - Appending proxies is broken since a long time, so conversion will fail here as well. - When linking data, some cases will fail to convert properly. in particular, if the linked proxy object is not instanced in a scene (e.g. when linking a collection containing a proxy as an epty-instanced collection instead of a view-layer-instanced collection). NOTE: converion when linking/appending is done unconditionnaly, option to not convert on file load will be removed in next commit anyway. Part of T91671.
2022-02-02LibOverride: Add 'owner library' info to some liboverride code.Bastien Montagne
This will help when dealing with liboverrides from other library files, e.g for resync or proxies conversion. This commit only affects proxy conversion. Part of T91671.
2022-02-02Cleanup: Use correct identifier for ShaderParameters.Jeroen Bakker
Code use struct and class, but should only have used struct.
2022-02-02Cleanup: skip redundant steps when the selection buffer is cachedCampbell Barton
The viewport theme loaded and virtual modifiers allocated unnecessary.
2022-02-02Cleanup: exclude bone names & axes from selection drawingCampbell Barton
These aren't used for picking bones so there is no need to draw them.
2022-02-02Fix crash in recent pose-bone transform cleanupCampbell Barton
ff5e8e6d535374891e09bc0e6ceb7059a22bdd53 dereferenced a NULL pointer when dragging a bone with a connected parent in pose-mode.
2022-02-02Docs: note that Bone.xwidth & zwidth are doubledCampbell Barton
2022-02-02Docs: add doc-string for RNA_property_is_set_ex use_ghost argumentCampbell Barton
2022-02-02Cleanup: spelling in commentsCampbell Barton
2022-02-02Cleanup: shadow warning, remove unused flagsCampbell Barton
2022-02-02Compositor: Combine and Separate XYZ NodeAaron Carlisle
We have this node for shader and geometry nodes. Compositor can also work with vectors, and this can help with that. Reviewed By: manzanilla Maniphest Tasks: T95385 Differential Revision: https://developer.blender.org/D12919
2022-02-02Geometry Nodes: Remove object transform dependency in some casesHans Goudey
The geometry nodes modifier currently always adds a dependency relation from the evaluated geometry to the object transform. However, that can be avoided unless there is a collection or object info node in "Relative" mode. In order to avoid requiring dependency graph relations updates often when editing a node tree, this patch doesn't check if the node is muted or if the data-block sockets are empty before adding the dependency. Fixes T95265 Differential Revision: https://developer.blender.org/D13973