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-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
2022-06-22Fix T98715: Crash drag-dropping collection from outliner to ID propertyJulian Eisel
The value of disabled buttons shouldn't be changed through dropping onto it. Check for the disabled state in the drop operator poll, so the dragging code will change the cursor to show that dropping isn't possible at the given cursor location.
2022-06-22Fix T98565: remove unused BRUSH_PAINT icon definitionPhilipp Oeser
This could spam the console with errors (potentionally slowing down in cases). Was added in rBeae36be372a6, but not used. Maniphest Tasks: T98565 Differential Revision: https://developer.blender.org/D15113
2022-06-22Fix T98624: Curve Pen NURBS extrusion creates duplicatesDilith Jayakody
The initial point count check was only being done for Bezier curves. This revision fixes T98624 by adding the check for NURBS curves as well. Reviewed By: HooglyBoogly Maniphest Tasks: T98624 Differential Revision: https://developer.blender.org/D15140
2022-06-22Fix T98745: Anchored mode not working for sculpt smear brushJoseph Eagar
2022-06-22Fix T98866: GPU subdiv crash in edit mode with loose geometryKévin Dietrich
The BMesh case was missing when extracting the loose edges flags used for display, so the code was crashing on unitialized `MEdge` pointer.
2022-06-22Fix T98620: Video sequencer screen corruption occurs when resizing.Jeroen Bakker
Added Windows/Intel GPU to the list of work-a-rounds. This will reduce the performance when using Intel GPUs on all platforms.
2022-06-22Fix armatures not visible in VRPeter Kim
Now that VR offscreen drawing accounts for object type visibility, armatures should be displayed when specified.
2022-06-22Fix T98756: GPencil Set Vertex Color Attribute does not color unpaintedAntonio Vazquez
The operator set the color but the factor of the mix value was not updated and as the default value was 0, the color was not vivible and only worked when the stroke was previously painted.
2022-06-22Fix T98727: Dynamic Paint does not update normalsPhilipp Oeser
Caused by {rB6a3c3c77b3eb}. Displacement and wave were tagging the original mesh normals dirty, instead the result's normals need tagging. Seems like a typo in above commit (similar to rBfe43c170831f). Maniphest Tasks: T98727 Differential Revision: https://developer.blender.org/D15165
2022-06-22Blender 3.2: Version bump to 3.2.1Thomas Dinges
Setting version and flag to RC for the upcoming corrective release.
2022-06-08Licenses: Attribution document for Blender 3.2v3.2.0Dalai Felinto
A few libraries were updated, a few were added, and a few were missing from the previous license document.
2022-06-08Update freedesktop release infos for 3.2.Thomas Dinges
2022-06-07Bump version cycle to release for Blender 3.2.Thomas Dinges
2022-06-07Fix T98647: EEVEE: Camera Data Node's View Vector BrokenClément Foucault
Fix regression and remove duplicated computation.
2022-06-07Fix EEVEE: Shader error when using volume temperature or color attributesClément Foucault
This bug was unreported. This was triggering a linking error caused by the vertex shader not having a local version of `attr_load_temperature_post` and `attr_load_color_post`.
2022-06-07Fix T98091: EEVEE: Volume: Crash caused by non-present gridClément Foucault
This was caused by the `copy_m4_m4` trying to copy the `object_to_texture` from `drw_grid` which was `nullptr`. Fixing this also exposed that rendering such volumes (without any valid grid attributes) is not supported and we should follow what Cycles does. Differential Revision: https://developer.blender.org/D15147
2022-06-07GPUMaterial: Make compilation fail when reusing failed `GPUPass`Clément Foucault
This avoid leaving a `GPUMaterial` in a `GPU_MAT_QUEUED` state which would block rendering. Fix T98603: Hang when saving project in material preview mode Maniphest Tasks: T98603 Differential Revision: https://developer.blender.org/D15135
2022-06-06Geometry Nodes: Fix Assert in Duplicate ElementsJohnny Matthews
The original assert did not take into account the offset size in the loop being -1. The tests were then run in non-debug mode, so while the mesh regressions still passed, the false positive asserts that happened were not caught. Differential Revision: https://developer.blender.org/D15136
2022-06-03Fix use of OpenGL interop breaking in Hydra viewports that do not support itPatrick Mours
Rendering directly to a resource using OpenGL interop and Hgi doesn't work in Houdini, since it never uses the resulting resource (it does not call `HdRenderBuffer::GetResource`). But since doing that simultaneously disables mapping (`HdRenderBuffer::Map` is not implemented then), nothing was displayed. To fix this, keep track of whether a Hydra viewport does support displaying a Hgi resource directly, by checking whether `HdRenderBuffer::GetResource` is ever called and only enable use of OpenGL interop if that is the case. Differential Revision: https://developer.blender.org/D15090
2022-06-03Fix T98571: corrupted face selection drawing with GPU subdivisionKévin Dietrich
Simple typo in rB55e3930b253e.
2022-06-03Spreadsheet Editor: Support int 8 attributeDalai Felinto
This was leading to some crashes and warnings such as: "Code marked as unreachable has been executed. Please report this as a bug." Differential Revision: https://developer.blender.org/D15116
2022-06-03Fix T98570: Cycles AOVs not working in background shaderBrecht Van Lommel
Must include the AOV writing feature in background shader evaluation. Differential Revision: https://developer.blender.org/D15114
2022-06-03Fix T98573: Rescaling Image by python wrongPhilipp Oeser
This did not refresh the Image editor, but more importantly this now appeared cropped (a regression from the partial image updater). Solved in the RNA function by: - calling BKE_image_partial_update_mark_full_update - sending appropriate notifier Maniphest Tasks: T98573 Differential Revision: https://developer.blender.org/D15110