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-02-18Cleanup: Remove unused argument to mesh tessellationHans Goudey
This removes manual handling of normals that was hard-coded to false in the one place the function was called. This change will help to make a fix to T95839 simpler.
2022-02-18Cleanup: Use functions for accessing mesh normal dirty stateHans Goudey
It's better not to expose the details of where the dirty flags are stored to every place that wants to know if the normals are dirty. Some of these places are relics from before vertex normals were computed lazily anyway, so this is more of an incrememtal cleanup. This will make part of the fix for T95839 simpler.
2022-02-18Fix part of T95848: missing updates editing light object nodesBrecht Van Lommel
Make relation match material and world nodes. Does not address the reported issue regarding muted nodes, but another missing update found investigating.
2022-02-18Fix T95338: missing image editor refresh after render compositingBrecht Van Lommel
This was an old issue, but recent image partial update changes made this more likely to happen in some cases. Now ensure that whenever the rendered scene switches the image is updated.
2022-02-18Fix T87829, T95331: Issues when nodes too close togetherDominik Fill
This patch aims to fix the issues presented in T87829 and T95331, namely precision issues while connecting two nodes when being too close together in the node editor editors, in a few cases even resulting in the complete inability to connect nodes. Sockets are found by intersecting a padded rect around the cursor with the nodes' sockets' location. That creates ambiguities, as it's possible for the padded rect to intersect with the wrong node, as the distance between two nodes is smaller than the rect is padded. The fix in this patch is checking against an unpadded rectangle in visible_node(). Differential Revision: https://developer.blender.org/D14122
2022-02-18Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-18Fix T95542: Dual Mesh crashes with some non-manifold verticesWannes Malfait
The problem was that the code for sorting polygons around a vertex assumed that it was a manifold or boundary vertex. However in some cases the vertex could still be nonmanifold causing the crash. The cases where the sorting fails are now detected and these vertices are then marked as nonmanifold. Differential Revision: https://developer.blender.org/D14065
2022-02-18Fix: Curve to Mesh node creates caps when curve is cyclicLeon Schittek
The "Fill Caps" option on the Curve to Mesh node introduced in rBbc2f4dd8b408ee makes it possible to fill the open ends of the sweep to create a manifold mesh. This patch fixes an edge case, where caps were created even when the rail curve (the curve used in the "Curve" input socket) was cyclic making the resulting mesh non-manifold. Differential Revision: https://developer.blender.org/D14124
2022-02-18Merge branch 'blender-v3.1-release'Sebastian Parborg
2022-02-18VSE: Refactor our code to be compatible with ffmpeg 5.0Sebastian Parborg
In ffmpeg 5.0, several variables were made const to try to prevent bad API usage. Removed some dead code that wasn't used anymore as well. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D14063
2022-02-18UI: Speedup preview icon loading from hard driveJulian Eisel
Significantly improves loading speed of preview images from disk, e.g. custom previews loaded using `bpy.utils.previews.ImagePreviewCollection.load()`. See D14144 for details & comparison videos. Differential Revision: https://developer.blender.org/D14144 Reviewed by: Bastien Montagne
2022-02-18Mesh: Avoid creating incorrect original index layersHans Goudey
Currently, whenever any BMesh is converted to a Mesh (except for edit mode switching), original index (`CD_ORIGINDEX`) layers are added. This is incorrect, because many operations just convert some Mesh into a BMesh and then back, but they shouldn't make any assumption about where their input mesh came from. It might even come from a primitive in geometry nodes, where there are no original indices at all. Conceptually, mesh original indices should be filled by the modifier stack when first creating the evaluated mesh. So that's where they're moved in this patch. A separate function now fills the indices with their default (0,1,2,3...) values. The way the mesh wrapper system defers the BMesh to Mesh conversion makes this a bit less obvious though. The old behavior is incorrect, but it's also slower, because three arrays the size of the mesh's vertices, edges, and faces had to be allocated and filled during the BMesh to Mesh conversion, which just ends up putting more pressure on the cache. In the many cases where original indices aren't used, I measured an **8% speedup** for the conversion (from 76.5ms to 70.7ms). Generally there is an assumption that BMesh is "original" and Mesh is "evaluated". After this patch, that assumption isn't quite as strong, but it still exists for two reasons. First, original indices are added whenever converting a BMesh "wrapper" to a Mesh. Second, original indices are not added to the BMesh at the beginning of evaluation, which assumes that every BMesh in the viewport is original and doesn't need the mapping. Differential Revision: https://developer.blender.org/D14018
2022-02-18Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-18Fix T94495: Split edges node leads to a crash in edit modeHans Goudey
If original indices exist on the input mesh, also copy them to the BMesh used for the edge split operation so they aren't lost. Part of D14018
2022-02-18Cleanup: Rename original curve object type enumHans Goudey
This commit renames enums related the "Curve" object type and ID type to add `_LEGACY` to the end. The idea is to make our aspirations clearer in the code and to avoid ambiguities between `CURVE` and `CURVES`. Ref T95355 To summarize for the record, the plans are: - In the short/medium term, replace the `Curve` object data type with `Curves` - In the longer term (no immediate plans), use a proper data block for 3D text and surfaces. Differential Revision: https://developer.blender.org/D14114
2022-02-18Merge remote-tracking branch 'origin/blender-v3.1-release'Sybren A. Stüvel
2022-02-18Fix T95724: boundary error in `BLI_str_unescape_ex`Sybren A. Stüvel
Fix boundary error in `BLI_str_unescape_ex`. The `dst_maxncpy` parameter indicates the maximum buffer size, not the maximum number of characters. As these are strings, the loop has to stop one byte early to allow space for the trailing zero byte. Thanks @mano-wii for the patch!
2022-02-18Nodes: Update dependency graph when removing some nodesHans Goudey
When removing a node that has a dependence on an ID, like the object info node, the dependency graph relations weren't updated. This can cause unexpected performance issues if a complex node tree continues to depend on an ID that it doesn't actually use anymore. To fix this case, tag relations for an update if the node has a data-block socket. Fixes part of T88332 Differential Revision: https://developer.blender.org/D14121
2022-02-18Fix T95135: improve error filtering non-existant anim dataSayed Amin
If there is no animation at all, or it's all hidden, the Euler Filter operators poll now fails with a message that explains this a bit more, instead of just the generic "context is wrong" error. Reviewed By: sybren Maniphest Tasks: T95135 Differential Revision: https://developer.blender.org/D13967
2022-02-18LibOverride: Fix resync sometimes deleting root ID of other liboverrides.Bastien Montagne
While this should not happen in theory, very bad/broken/dirty files can lead to such situations. So we need to re-ensure valid root IDs after resync (for now, done after each 'library indirect level' pass of resync, this may not be 100% bulletproof though, time will say). Found while investigating Blender studio issues in Snow parkour short.
2022-02-18LibOverride: Fix potential broken cases re ShapeKeys when finding hierarchy ↵Bastien Montagne
root ID. In some cases broken files could lead to selecting a shapekey as hierarchy root ID, which is not allowed. Found while investigating Blender studio issues in Snow parkour short.
2022-02-18Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-02-18Fix graphics interop resources leak in CyclesSergey Sharybin
When new display driver is given to the PathTrace ensure that there are no GPU resources used from it by the work. This solves graphics interop descriptors leak. This aqlso fixes Invalid graphics context in cuGraphicsUnregisterResource error when doing final render on the display GPU. Fixes T95837: Regression: GPU memory accumulation in Cycles render Fixes T95733: Cycles Cuda/Optix error message with multi GPU devices. (Invalid graphics context in cuGraphicsUnregisterResource) Fixes T95651: GPU error (Invalid graphics context in cuGraphicsUnregisterResource) Fixes T95631: VRAM is not being freed when rendering (Invalid graphics context in cuGraphicsUnregisterResource) Fixes T89747: Cycles Render - Textures Disappear then Crashes the Render Maniphest Tasks: T95837, T95733, T95651, T95631, T89747 Differential Revision: https://developer.blender.org/D14146
2022-02-18Cleanup: Fix incompatible pointer types warningsPeter Kim
2022-02-18Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-18Fix broken shapekeys: check for 'NULL' `from` pointer too.Bastien Montagne
Add check for `NULL` `from` pointer to `BLO_main_validate_shapekeys`, and delete these shapekeys, as they are fully invalid and impossible to recover. Found in a studio production file (`animation test/snow_parkour/shots/0040/0040.lighting.blend`, svn rev `1111`). Would be nice to know how this was generated too...
2022-02-18Curves: add initial edit mode supportKévin Dietrich
This adds initial support for edit mode for the experimental new curves object. For now we can only toggle in and out of the mode, no real interraction is possible. This patch also adds empty menus in edit mode. Those were added mainly to quiet warnings as the menus are programmatically added to the edit mode based on the object type and context. Ref T95769 Reviewed By: JacquesLucke, HooglyBoogly Maniphest Tasks: T95769 Differential Revision: https://developer.blender.org/D14136
2022-02-18Fix strict compilation warningsSergey Sharybin
2022-02-18Curves: initial brush system integration for curves sculpt modeJacques Lucke
This adds the boilerplate code that is necessary to use the tool/brush/paint systems in the new sculpt curves mode. Two temporary dummy tools are part of this patch. They do nothing and only serve to test the boilerplate. When the first actual tool is added, those dummy tools will be removed. Differential Revision: https://developer.blender.org/D14117
2022-02-18XR: Enable Vive Focus 3 controller extensionPeter Kim
Allows controller-specific action bindings for the HTC Vive Focus 3 controller. Currently not supported by any OpenXR runtimes (save for the dedicated Focus 3 runtime in developer early-access: https://forum.vive.com/topic/11354-openxr-support-for-focus-3-early-access-application-form), but useful to have for the future.
2022-02-18Cleanup: Use compact license header.Jeroen Bakker
New file introduced in blender-v3.1-release branch.
2022-02-18Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-18Fix T95809: Check color space changes to refresh image engine.Jeroen Bakker
Previous commit fixed the compositor node, this commit is related to the shader tree. Also checks if the color space or alpha mode have changed.
2022-02-18Fix T95809: Compositor Node not directly updated in image editor.Jeroen Bakker
Image wasn't tagged to be dirty.
2022-02-18Image Engine: Store image usage to identity changes.Jeroen Bakker
Previous implementation had a copy of the image user, which doesn't contain all the data to identify changes. This patch introduces a new struct to store the data and can be extended with other data as well (color spaces, alpha settings).
2022-02-18Cleanup: simplify viewmove_applyCampbell Barton
Check for a camera-view before checking if the view is locked to the cursor/object since the camera-view takes priority, it reads better to check that first. Also reuse the event offset variable.
2022-02-183D View: Add camera view pan/zoom support for NDOFCampbell Barton
NDOF navigation in a camera view now behaves like orthographic pan/zoom. Note that NDOF orbiting out of the camera view has been disabled, see code comment for details. Resolves T93666.
2022-02-18Cleanup: move camera-view pan/zoom into utility functionsCampbell Barton
2022-02-18Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-18Fix T93526: Missing tooltip for attribute search buttonPratik Borhade
For the attribute search button, the tooltip was missing if the input socket type has attribute toggle activated. Differential Revision: https://developer.blender.org/D14142
2022-02-18Fix wrong method name in gpu documentationGermano Cavalcante
`use_program_point_size` --> `program_point_size_set`.
2022-02-17Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-17Fix build error on some compilers after recent bugfixBrecht Van Lommel
2022-02-17Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-17Fix T95368: wrong white point adaptation for Linear ACES color spaceBrecht Van Lommel
This affected loading of EXR files with set to Linear ACES colorspace, as well as the sky texture for in some custom OpenColorIO configurations. Use the builtin OpenColorIO transform from ACES AP0 to XYZ D65 to fix this.
2022-02-17Fix: Debug build error with vector type divisionHans Goudey
The idea is to keep `is_any_zero` in the `blender::math` namespace, so instead of trying to be clever, just move it there and expand the function where it was used in the class.
2022-02-17Merge branch 'blender-v3.1-release'Sebastian Parborg
2022-02-17Cleanup: Move more cmake library variables to be advancedSebastian Parborg
I noticed that there were a few variables that should not be visible per default. It seems to me to simply be an oversight, so I went ahead and cleaned them up. Reviewed By: Sybren, Ray molenkamp Differential Revision: http://developer.blender.org/D14132
2022-02-17GPU: Remove runtime sampler texture slot assignmentClément Foucault
This avoid potential shader recompilation and is more in line with vulkan design.
2022-02-17OCIO: Port shader creation logic to use GPUShaderCreateInfoClément Foucault
This commit should suffice to make the shader API agnostic now (given that all users of it use the GPU API). This makes the shaders not trigger a false positive error anymore since the binding slots are now garanteed by the backend and not changed at after compilation. This also bundles all uniforms into UBOs. Making them extendable without limitations of push constants. The generated uniforms from OCIO are not densely packed in the UBO to avoid complexity. Another approach would be to use GPU_uniformbuf_create_from_list but this requires converting uniforms to GPUInputs which is too complex for what it is. Reviewed by: brecht, jbakker Differential Revision: https://developer.blender.org/D14123