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-14Fix T95601: Missing handling of keyingsets ID pointers in ↵Bastien Montagne
lib_query/foreach_id code. This will have to be backported to 2.93 and possibly 2.83 if possible.
2022-02-14Fix segfault calling `id_properties_ui("prop").update()`Sybren A. Stüvel
Fix segfault when calling `some_id.id_properties_ui("propname").update()`, i.e. call the `update()` function without any keyword arguments. In such a case, Python passes `kwargs = NULL`, but `PyDict_Contains()` is not `NULL`-safe.
2022-02-14Cleanup use c style comments.Jeroen Bakker
2022-02-14Fix T95725: Changing render slot doesn't update displayed image.Jeroen Bakker
Fixed by checking the requested pass, layer and view against the previous used one.
2022-02-14Phase out IMA_GPU_REFRESH.Jeroen Bakker
IMA_GPU_REFRESH is replaced by BKE_image_partial_update_mark_full_update and should not be used anymore.
2022-02-14Fix T95699: Compostior backdrop not updated.Jeroen Bakker
The Viewer marked the gpu texture to be out of date. But it should have used the mark_full_update as the gpu textures are only used by the render/draw engines. The image/node editor uses the image engine that have its own GPU textures.
2022-02-14Image Engine: Remove region_uv_bounds.Jeroen Bakker
They have been replaced by clipping_uv_bounds. Using region_uv_bounds could lead to problems when drawing the compositor backdrop.
2022-02-14Image Engine: Limit the number of interal textures.Jeroen Bakker
Currently one a single texture slot is used to update the screen. Current design is implemented to use multiple textures. for now limit the number of texture slots to 1.
2022-02-14Fix T95749: missing update when normal node changesJacques Lucke
This node is a bit of a weird case, because it uses the value stored in an output socket as an input. So when we want to determine if the Dot changed, we also have to check if the Normal output changed. A cleaner solution would be to refactor this by either storing the normal on the node directly (instead of in an output socket), or by exposing it by a separate input. This refactor should be done separately though.
2022-02-11Fix T95698: deadlock with GPU subdivisionKévin Dietrich
Multithreaded tasks have to be isolated when holding a mutex, which was missing for the generation of the subdivision wrapper.
2022-02-11Fix excessive re-creation of VR viewport texturesPeter Kim
Due to the freeing and re-creation of textures performed when binding offscreen viewports, VR viewport textures would be needlessly re-created every drawing iteration, leading to a negative impact on VR frame rate. This was brought to light by 6738ecb64e8b, which introduced an additional texture clear operation on initialization and was prohibitively costly on some systems when performed every frame. Now, the textures for VR viewports will not be always re-created during offscreen binding, but only when necessary using a pre-drawing step (`wm_xr_session_surface_offscreen_ensure()`). Reviewed By: jbakker, fclem Differential Revision: https://developer.blender.org/D14059
2022-02-11Geometry Nodes: show indicator when realize instances node is in legacy modeJacques Lucke
For the majority of node groups created in Blender 3.0 the behavior does not change. So far we only found a single file where this setting has an effect. Differential Revision: https://developer.blender.org/D14078
2022-02-11Revert "Split Python OBJ importer and exporter, enabling only the importer."Howard Trickey
This reverts commit ff9dc1986e6c9a54fd0bb228e8813551e6baa042.
2022-02-11Fix: Enable edge bevel weight in solidify if neededHenrik Dick
Complex Solidify creates edge bevel weights on the rim if the according vertex has some vertex bevel weight. If there are no edge bevel weights, they were left disabled even if vertex bevel weights are used.
2022-02-11Fix: Bevel vertex didn't use weights in some casesHenrik Dick
Bevel Vertices did not use vertex/bevel weights if the Width Type was set to Width or Depth.
2022-02-10Fix T95458: Line art ignores curve objects with no evaluated meshHans Goudey
Some curve objects don't have an evaluated mesh at all, but line art currently assumes that all curve objects have one before converting it to a mesh internally. Fix this by checking if the curve object has an evaluated mesh before skipping it. The remaining problem is that evalauted from non-mesh objects or evaluated curves from non-curve objects, etc. will be ignored if "Allow Duplicates" is off. That's a different problem though. Differential Revision: https://developer.blender.org/D14036
2022-02-10Fix T95613: remove anonymous attributes when converting objectJacques Lucke
This is the same behavior as when applying a geometry nodes modifier that adds anonymous attributes.
2022-02-10Fix T95624: video texture not refreshing when changing offset in nodeJacques Lucke
The main issue is that the image and image user is not updated correctly in `rna_ImageUser_update`. `BKE_image_user_frame_calc` does not set the correct frame, because the image is null. Also `IMA_GPU_REFRESH` is not set for the same reason. When gpu materials are first created, it is expected that the frame is set correctly, and the flag is set if necessary. Therefore, somewhere during depsgraph evaluation, those have to be updated. The depsgraph node to do the update existed already. Now there is a new relation so that it is executed when the node tree changed, not only when the frame changed.
2022-02-10Fix 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-10Fix T95666: Crash when attempting multires linear subdivideSergey Sharybin
The crash was happening when the mesh had loose edges. Loose edges are not part of OpenSubdiv topology and hence should not be communicated to the refiner. Pass ta boolean flag indicating whether an edge is loose or not in the mesh foreach routines, which seems to be the easiest way.
2022-02-10Fix T95664: missing update after changing active output nodeJacques Lucke
2022-02-10Fix strict warning initializing texture result in compositorSergey Sharybin
From a strict language point of view the code required a braces around `trgba` initialization. But it is easier to rely on the fact that fields which are not specified are zero-initialized.
2022-02-10Fix invalid creation of partial image updaterSergey Sharybin
2022-02-09Fix T95620: Crash When Entering Edit Mode on a CurveHans Goudey
Under some circumstances, simply adding a curve object and going to edit mode would cause a crash. This is because the evaluated `CurveEval` was accessed but also freed by the dependency graph. The fix reverts the part of b76918717dbfd8363f that uses the `CurveEval` for the curve object bounds. While this isn't ideal, it was the previous behavior, and some unexpected behavior with object bounds is much better than a crash. Plus, given the plans of using the new "Curves" data-block for evaluated curves, this situation will change relatively soon anyway.
2022-02-09Fix T95612: only overwrite existing attributes with matching domain and typeJacques Lucke
Also fixes T95611 and T95610. Differential Revision: https://developer.blender.org/D14051
2022-02-09Fix T95640: missing null check in previous commitJacques Lucke
2022-02-09Adjust "Show Backface" tool tip to be more accurateAlaska
Reviewed By: fclem Differential Revision: https://developer.blender.org/D13849
2022-02-09Fix small grammatical mistake in Refraction Depth tooltipAlaska
Reviewed By: jbakker Differential Revision: https://developer.blender.org/D13850
2022-02-09Fix T91840: do not create invalid links when inserting a nodeJacques Lucke
Differential Revision: https://developer.blender.org/D14050
2022-02-08Fix T95570: missing task isolation when computing normalsJacques Lucke
2022-02-08Fix T94415: Nodes: poor selection behavior inside frame nodesPhilipp Oeser
Previously, node selection made no distinction between a frame node and other nodes. So a frame node would be selected by their whole rect or center (depending on box/lasso/circle select). As a consequence of this, box and lasso could not pratically be started inside a frame node (with the intention to select a subset of contained child nodes) because the frame would be selected immediately and tweak-transforming started. Circle selecting would always contain the frame node as well (making transforming a subset of nodes without also transforming the whole frame impossible). Now change selection behavior so that for all selection modes only the border [the margin area that is automatically added around all nodes, see note below] of a frame node is considered in selection. This makes for a much more intuitive experience when arranging nodes inside frames. note: to make the area of interest for selection/moving more obvious, the cursor changes when hovering over (as is done for resizing). note: this also makes the resize margin consistent with other nodes. note: this also fixes right resize border (was exclusive instead of inclusive as every other border) Also fixes T46540.
2022-02-08Fix T95573: Incorrect bounding box of evaluated curveHans Goudey
Account for `CurveEval`, which stores the proper deformed and procedurally created data, unlike the `nurb` list, which has always just meant a copy of the original curve. Also account for the case when the curve is empty by using a -1, 1, fallback bounding box in that case, just like mesh objects.
2022-02-08Fix T95532: Merge node deletes everything for empty selectionsWannes Malfait
The problem was that nullptr was returned which is a valid value for Mesh * and hence the returned optional was treated as having some value. There was no check for point clouds so that was fixed as well. Differential Revision: https://developer.blender.org/D14026
2022-02-07Fix T95502: macOS app has both python 3.9 and 3.10 executablesBrecht Van Lommel
2022-02-07Fix T95543: incorrect handling of implicit field inputs in uiJacques Lucke
2022-02-07Fix: missing null checkJacques Lucke
This fixes https://github.com/JacquesLucke/animation_nodes/issues/1827.
2022-02-07Fix T95578: missing update when linking selected nodesJacques Lucke
This removes a "narrow" update in `snode_autoconnect` in favor of the more general update in `node_make_link_exec`.
2022-02-07Fix UI messages (typos etc.).Bastien Montagne
2022-02-06Fix T95384: new obj exporter inaccurate roughness value in new exporter.Aras Pranckevicius
Fixes T95384. New exporter was missing a fix for T94516 that recently got applied to the python exporter. Also changed the obj export tests code so that when save_failing_test_output is requested and MTL result is different from the golden expectation, it is saved as well, similar to how it's done for the OBJ file result.
2022-02-06GPU: Fix assert when running without --debug-gpu option on older GLClément Foucault
This was caused by rB3a90f93507a344d2b6eb3ae631371348ff977047
2022-02-06Fix: Displaying any point cloud in the viewport causes crashHans Goudey
Caused by rBf75449b5f2b04b79, which was missing a null check when attempting to extract a `CustomData` pointer from an mesh that might be null if the object isn't a mesh object. The commit added null checks elsewhere, so simply adding them here is a straightforward fix. Fixes T95526, T95539
2022-02-06Fix T95360, new 3.1 obj exporter losing nurbs curve "endpoint".Aras Pranckevicius
The new wavefront .obj exporter in 3.1 was producing slightly invalid parm line syntax (missing u), and was not setting first/last N params to zeroes and ones for curves with "endpoint" flag properly.
2022-02-06GPU: Debug: Avoid double printing of compilation issuesClément Foucault
To avoid that, we simply filter using a debug group.
2022-02-05GPUTexture: Fix missing/wrong cases in to_data_format()Clément Foucault
2022-02-05GPU: Enable CLOG for gpu when `--debug-gpu` option is setClément Foucault
This is because all of the debug printing is done through CLog now. Without it the is little point in this option.
2022-02-05GL: Fix compute shader label errorClément Foucault
2022-02-04Fix: Remove incorrect assert in mesh modifier evaluationHans Goudey
Since we have a node that sets a mesh's auto smooth angle (unfortunately, in retrospect), we generally can't assume at all that value is the same as whatever input mesh. Similar asserts were removed previously in 8216b759e9557c786. While the attempt at assertions to clarify assumptions is noble, this one doesn't make sense anymore. I found this while investigating T95479. Differential Revision: https://developer.blender.org/D14009
2022-02-04Workbench: Fix unreported heavily quantized mesh due to driver issueClément Foucault
Detected on `amdgpu-pro` libGL implementation. The workaround is to not use explicit location for vertex attributes. This is not a real problem as we don't rely on them for now.
2022-02-04Fix: Incorrect default distance for merge by distance nodeHans Goudey
This was an oversight in the patch that added this node, the default merge distance is meant to be the same as the weld modifier, 0.001m, meaning by in most situations it removes vertices generally at the same location.
2022-02-04Fix T94410: stopping Cycles render in 3D viewport quad view keeps using CPUBrecht Van Lommel
Only one of the four renders was being stopped.