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-06-29Fix T99231: Wrong anchored mode test for smear brushJoseph Eagar
2022-06-28Build: add HIP version to buildbot configurationBrecht Van Lommel
2022-06-28Fix compile after last backport.Thomas Dinges
rB6edc9438a461 introduced code from a recent refactor (rB3772dda4ab1b), which isn't part of 3.2, so undo that part.
2022-06-28Fix T96776: Assets dropped upside down when looking through cameraGermano Cavalcante
In perspective mode the snap point direction needs to be taken into account to define which side of the face is being looked at. If there is no face under the mouse cursor, there is no direction adjustment and the element normal will be used.
2022-06-28Sculpt: Fix backwards normals in PBVH_GRIDS raycastingJoseph Eagar
Winding order of grid quads was backwards.
2022-06-28Fix T99016: GPU subdiv artifacts in weight paint with smooth shadingKévin Dietrich
Flags in the smooth shading case were not properly set.
2022-06-28Fix color attribute interpolation with GPU subdivisionKévin Dietrich
Handling of 16-bits compression was missing, which gave values that were way off.
2022-06-28Fix artefacts with GPU subdiv and weight paint face selectionKévin Dietrich
Addendum to previous fix, which was for point selection, this fixes the face selection mode. The issue is caused by wrong flags used for paint mode (the edit mode flag was always used). Also add back flag which was accidentally removed in 16f5d51109bce849dff5379c60360f271622ac0f.
2022-06-28Fix T98735: GPU subdiv displays normals for all elementsKévin Dietrich
The normals flags were not setup properly which made normals for all elements (vertices, faces) to be drawn when using the normals overlay. Also remove usage of uints for the flag in the APIs.
2022-06-27Fix T99178: Console warning using search (F3) in grease pencil draw modeAntonio Vazquez
The preview data was not available in this context and need to be checked to avoid the warning.
2022-06-27PyAPI: Expose event.type_prev, value_prevCampbell Barton
Before [0] mouse-motion events left the 'event.value' un-changed, so a mouse-move would be set to PRESS/RELEASE based on previous events. Support accessing the previous event value directly to address feedback from T99102. Note that the previous cursor location is already exposed. [0]: 52af3b20d45ea525a0ce66b2613ac132c9032a3f
2022-06-26Fix T98782: ignore OBJ face normal indices if no normals are presentAras Pranckevicius
Some OBJ files out there (see T98782) have face definitions that contain vertex normal indices, but the files themselves don't contain any vertex normals. The code was doing a "hey, that's an invalid index" and skipping these faces. But the old python importer was silently ignoring these normal indices, so do the same here. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D15177
2022-06-25Cleanup: Fix building warnings on gcc 9.4.0Dalai Felinto
Solution by Jacques Lucke
2022-06-25Fix T98975: Broken vertex paint mode operatorsHans Goudey
All of the operators in vertex paint mode didn't work properly with the new color attribute system. They only worked on byte color type attributes on the face corner domain. Since there are four possible combinations of domains and types now, it mostly ended up being simpler to convert the code to C++ and use the geometry component API for retrieving attributes, interpolating between domains, etc. The code changes ended up being fairly large, but the result should be simpler now. Differential Revision: https://developer.blender.org/D15261
2022-06-24Cleanup: Move paint_vertex_color_ops.c to C++Hans Goudey
2022-06-24Fix T98956: Crash removing some builtin attributesHans Goudey
An alternative to the solution in cebc5531e944 that avoids using the CustomData_free_layer_named function that wasn't added to 3.2 yet.
2022-06-24Fix T99058: geometry nodes ignore if subdivision surface modifier is disabledBrecht Van Lommel
It was looking up the last modifier in the stack, ignoring visibility, instead of mesh->runtime.subsurf_runtime_data set by the modifier evaluation and used by the drawing code.
2022-06-24Fix T99028: crash deleting file output node with color management overrideBrecht Van Lommel
One case of copying image formats was not properly using BKE_image_format_copy. To fix this for existing .blend file we need to do versioning, ensuring the curve mapping is properly copied.
2022-06-24Fix T98925: Editor panels are brokenRichard Antalik
Commit 277fa2f441f4 added channels region to unintended editors if sequencer was used in area. This caused issues with some editors having 2 tool regions and non functioning side panel. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15253
2022-06-24Fix T99110: Crash after running view_all operator in VSERichard Antalik
Crash caused by NULL dereference, when `Editing` is not initialized. Check if data is initialized in poll function.
2022-06-24Fix T99091: Freeze when changing strip source with thumbnails enabledRichard Antalik
When input file is changed, `orig_height` and `orig_width` fields are reset, which causes thumbnail dimensions to be incorrectly calculated. Only draw thumbnails if both mentioned fields are non 0.
2022-06-24Fix T99027: Touch typing in text fields results in dropped key pressesCampbell Barton
Fix by always testing unhandled double-click events as press events, irrespective of the previous event type. **Details** Handling double-click events only ran when the previously pressed-key matched the current pressed-key. Originally when double-click support was added the previous type was compared (ignoring it's press/release value) and while not necessary it was harmless as it matched the check for double-click events being generated. As of [0] the logic for click/drag detection changed to ignore release events as release this could interrupt dragging. This made it possible to generate double-click events that failed the `event->prev_press_type == event->type` comparison. In these cases it was possible to generate double-click events that would not fall-back to a 'press' value when unhandled. [0]: 102644cb8cbb8b21e55643cebe2ed364885023a6
2022-06-24Fix T94969: Crash in Volume to Mesh with 0 voxelsErik
Checks if voxel amount or -size is <= 0 and if so, returns early. Differential Revision: https://developer.blender.org/D15241
2022-06-24Fix T98773: GPU Subdivision breaks auto selection in UV edit modeKévin Dietrich
When GPU subdivision is used, and the modifier is not set to be applied on the cage, UV selection is not synced with the face selection in the viewport. This happens because the extraction, despite being in edit mode, is set to `MESH` instead of `BMESH` (or `MAPPED` in some cases) like for CPU subdivision, and since the mesh is not always synchrnised with the BMesh the edit mode flags are not always updated. With GPU subdivision, when creating the `MeshRenderData`, the condition `has_mdata && do_final && editmesh_eval_final != editmesh_eval_cage` is true which forces the `MESH` extraction. Following comment in D14485, this replace the `has_mdata` in the condition with `use_mapped` which solves the issue. Differential Revision: https://developer.blender.org/D15248
2022-06-22Fix T98874: new obj importer missing an option to import vertex groupsAras Pranckevicius
The old Python OBJ importer had a (somewhat confusingly named) "Keep Vertex Order -> Poly Groups" option, that imported OBJ groups as "vertex groups" on the resulting mesh. All vertices of any face were assigned the vertex group, with a 1.0 weight. The new C++ importer did not have this option. It was trying to do something with vertex groups, but failing to actually achieve anything :) -- the vertex groups were created on the wrong object (later on overwritten by "nomain mesh to main mesh" operation); vertex weights were set to 1.0/vertex_count, and each vertex was only set to be in one group, even when it belongs to multiple faces from different groups. End result was that to the user, vertex groups were not visible/present at all (see T98874). This patch adds the import option (named "Vertex Groups"), which is off by default, and fixes the import code logic to actually do the right thing. Tested on file from T98874; vertex groups are imported just like with the Python importer. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D15200
2022-06-22Fix T98919: Eevee unlinked aov output nodes don't render.Jeroen Bakker
Eevee rendered an empty image for aov nodes that weren't linked to any other nodes. When connected the result was OK. The root cause was that the AOV nodes were not marked as output node and pruned when not connected to any other nodes. The pruning process is there to reduce the complexity of the GLSL and improve compilation time and execution time.
2022-06-22Cleanup: remove unneeded code in eevee_bloom.Jeroen Bakker
This had to be added to the previous commit.
2022-06-22Fix T98972: EEVEE Bloom Pass Outputs Final Image Instead of Bloom.Jeroen Bakker
Regression introduced by {rBca37654b6327}. This commit reversed the order of loading uniforms. The bloom renderpass used the previous loading order to overwrite an existing uniform (bloomBaseAdd). Due to the new ordering this doesn't work anymore where the render pass outputted an image similar to the final image. This was fixed by loading the correct value for bloomAddBase and remove the rewrite.
2022-06-22OBJ: Use filename as the default object nameJesse Yurkovich
To match the existing Python .obj importer, and to make it easier for the user to determine which object is which, use the filename for the default object name instead of "New object". Differential Revision: https://developer.blender.org/D15133
2022-06-22Fix T99018: EEVEE: Regression: Specular BSDF apply specular color input twiceClément Foucault
This was an oversight. I checked that no other node had the same regression.
2022-06-22Fix T99019 EEVEE: Regression: Specular BSDF does not apply occlusionClément Foucault
Since the occlusion input is going to be removed in EEVEE-Next, I just added a temporary workaround. The occlusion is passed as SSS radius as the Specular BSDF does not use it. The final result matches 3.1 release
2022-06-22Fix T98913: GPU Subdivision: "Show Wire" overlay glitchKévin Dietrich
Issue is caused by an off by one error which would map some edge loops to the loops of some the next polygon in the list of polygon, which may not be a topological neighbor.
2022-06-22Fix T98663: Eevee compilation error cryptomatte shaders.Jeroen Bakker
On MacOS Eevee cyptomatte shaders fails as it doesn't ignore the `attrib_load` parameter. I validated that removind the parameter works on Linux/AMD and MacOS Intel. It could be that there are other platforms that require the dummy parameter. If this should use a forward declaration and implement an emoty function in the cryptomatte vertex shader.
2022-06-22Fix T98847: missing null check in versioning codeJacques Lucke
It's perfectly legal for `nmd->settings.properties` to be null if there are no properties.
2022-06-22Fix T98796: avoid unnecessary mesh copyJacques Lucke
The call to `get_component_for_write` would sometimes copy the mesh even when the mesh is replaced with itself. The `replace_mesh` method handles that case already, so just use that instead.
2022-06-22Fix T98708: Crash on startup - OpenGL4.2 without conservative depth.Jeroen Bakker
Intel iGPU (HD4000) supports OpenGL 4.4 but doesn't support conservative depth. (GL_ARB_conservative_depth). This change will only check for the availability of the extension.
2022-06-22Fix T98904: GPencil sculpt brushes break after you delete a brushAntonio Vazquez
There were two problems here: 1) Console warnings due to brush was None. 2) It was impossible to recreate a brush. This patch fixes both issues and it is now possible to recreate any brush. Differential Revision: https://developer.blender.org/D15213 Reviewed by: @dflelinto
2022-06-22GPencil: Avoid console warnings when no Sculpt brush selectedAntonio Vazquez
If the brush is deleted, the panel must not be filled. To recreate the missing Brush is necessary to use `Reset All` This fix part of T98904
2022-06-22Curves: Use copied original data for invalid NURBS curvesHans Goudey
NURBS curves can be invalid when the order is less than the number of points, or in a few other situations. Currently the evaluated data of an invalid NURBS curve is empty. This is inconvenient because it requires checking for empty curves when it otherwise wouldn't be necessary. This patch replaces that fallback with copying the original data to the evaluated points. This makes conceptual sense too, as if the curve couldn't be evaluated-- which wouldn't necessarily delete it. Usually the UI protects against this happening, but it's currently possible to create an invalid curve with some operations like the delete geometry node. Differential Revision: https://developer.blender.org/D14837
2022-06-22Fix T98699: Face dot colors in UV editor was using wrong color from themeChris Blackbourn
2022-06-22GPencil: Fix crash when using time offset modifierFalk David
This fixes a mistake in 60bf561d379a, which did not account for offset frames by the time offset modifier.
2022-06-22Fix T98853: Blender crashes when moving grease pencil object has any ↵filedescriptor
invisible layers Whats happening is that the modifier keeps adding new frames to the evaluated object resulting in an exponential increase. This is because when preparing the data for the modifiers we only copy visible strokes to the eval object. But the modifiers do not consider visibility and will generate the mirrored strokes even for layers that are hidden. Because those layers have not been copied (only their structure) we run into this issue. The solution is always copy the active frame of all layers (even if the layer is hidden).
2022-06-22Fix T97820: new OBJ importer wrongly producing "sharp" edges in some casesAras Pranckevicius
The new OBJ importer is producing "sharp" edges on some meshes that should be completely smooth. Only observed on UV-Sphere type meshes so far (see T97820). I'm not 100% sure what is the root cause, but my theory was that maybe due to limited number of float digits that are printed for vertex normals in the file, the normals that are read in are not always exactly 1.0 length. And then the Blender's "set custom loop normals" function (which expects normalized inputs) wrongly marks some edges as sharp. Adding explicit normalization for the normals that are read from the file fixes the wrongly-sharp edges in test cases from T97820. I have not observed measurable performance impact in importing large models (e.g. 6-level subdivided Monkey) that contain vertex normals. Reviewed By: Howard Trickey Differential Revision: https://developer.blender.org/D15202
2022-06-22Fix T98293: Scene stats info not updated after new OBJ importAras Pranckevicius
The importer was not doing a notification that the scene has changed, so the bottom status bar scene stats info was not updated right after the new OBJ import. Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D15015
2022-06-22Fix T98765: Regression: Unable to select mask points in clip editorSergey Sharybin
Re-organize de-selection so that there is less conflict between tracking and masking operators. Still not fully ideal: the LMB selection does not de-select everything now since the `mask.select` with `deselect_all` is only added to the keymap when the RMB is the select mouse. While this is sub-optimal, this seems to be how mask selection behaved in the Image Editor in 3.1. Not sure it worth looking into a more complete fix, as it will likely be too big to be safe for a corrective release. Differential Revision: https://developer.blender.org/D15183
2022-06-22Fix T98718: Face Is Planar Node Not handling Certain ConditionsJohnny Matthews
The comparison between dot products of each point of the poly were not taking into consideration negative values. FLT_MIN was used rather than -FLT_MAX due to a misunderstanding of the FLT_MIN definition. Maniphest Tasks: T98718 Differential Revision: https://developer.blender.org/D15161
2022-06-22Fix 2 for T98700: Crash when recursively nesting NLA meta stripsSybren A. Stüvel
When searching for the active NLA strip, avoid overwriting the found strip pointer with NULL if it was already found in a previous iteration. The active strip is searched for while looping over the NLA tracks. If the active strip was found on a previous track, and not on the current track, this would effectively set `actstrip = NULL`. This is now avoided. Another benefit is that the search for the active strip is stopped as soon as it's found, which should increase performance a tiny bit.
2022-06-22Fix T98700: Regression: Crash when recursively nesting NLA meta stripsSybren A. Stüvel
The `update_active_strip_from_listbase()` function took meta-strips in the "source" list into account, but didn't recurse into the corresponding meta-strip of the "destination" list. This is now fixed. `update_active_strip_from_listbase()` needed a few changes to resolve the issue: - It was renamed to `find_active_strip_from_listbase()` to limit its reponsibility to just finding the active strip. It now leaves the assignment to the caller. This reduces the number of parameters by 1 and makes recursion simpler. - The destination strips are now, like the source strips, passed as `ListBase`, so that both source & dest can be recursed simultaneously.
2022-06-22Fix T98753: Outliner Unlink material in Blender File mode crashesJulian Eisel
This issue was only exposed by ba49345705a3. The ID pointer of the material's parent tree-element wasn't actually pointing to an ID, but to the list-base containing the IDs. It was just unlikely to cause issues in practice, although an assert was thrown. Just don't do anything if the object or object-data to unlink the material from could not be found. The following commit will introduce a error message about this.
2022-06-22Fix T98813: crash with GPU subdiv in edit mode and instanced geometryBrecht Van Lommel
Instancing with geometry nodes uses just the evaluated Mesh, and ignores the Object that it came from. That meant that it would try to look up the subsurf modifier on the instancer object which does not have the subsurf modifier. Instead of storing a session UUID and looking up the modifier data, store a point to the subsurf modifier runtime data. Unlike the modifier data, this runtime data is preserved across depsgraph CoW. It must be for the subdiv descriptor contained in it to stay valid along with the draw cache. As a bonus, this moves various Mesh_Runtime variables into the subsurf runtime data, reducing memory usage for meshes not using subdivision surfaces. Also fixes T98693, issues with subdivision level >= 8 due to integer overflow. Differential Revision: https://developer.blender.org/D15184