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
2021-11-10Fix T91518: crash when recalculating looptris after clearing geometry.Jeroen Bakker
When clearing geometry the runtime mutexes of a mesh were freed. This resulted in crashes afterwards. The clear geometry is an RNA function so would only effect when using from scripts. This patch separates init/freeing of the mutexes from other code so they can be used when needed. Reviewed By: mont29 Maniphest Tasks: T91518 Differential Revision: https://developer.blender.org/D13142
2021-11-10Fix T92864: curve object does not sync correctly in cyclesJacques Lucke
The issue was that the `object_is_geometry` method was used in two different contexts that expected the function to behave differently. So a recent change that fixed `object_is_geometry` for one context, broke it for the other context. The two contexts are: * Check if a "real" object can contain a geometry to check if it has to be tagged for sync after an update. * Check if an object/instance actually is a geometry that cycles can work with. I created a new `object_can_have_geometry` method for the first use case, instead of trying to adapt the existing object_is_geometry method to serve both uses. Additionally, I changed it so that a BObjectInfo is passed into `object_is_geometry` to make it more explicit when this method is supposed to be used. Differential Revision: https://developer.blender.org/D13135
2021-11-10Fix T92979: Emission Strength Animation read wrong in 3.0Philipp Oeser
First this was wrong for files written in 2.93 read into blender in 3.0 after the CyclesX merge. Then this was fixed by versioning in rB6321dd3d4007. But this caused files written in 3.0 to have this versioning applied as well (leading to socket shifting). Now only do the versioning for files created before the CyclesX merge. Maniphest Tasks: T92979 Differential Revision: https://developer.blender.org/D13173
2021-11-10Fix T92874: Custom normals reset when vertex is deletedCampbell Barton
Storing and restoring custom normals was broken by 39b2a7bb7e815e051348bf5c5ec777d091324164 This also caused "Sharp Edge" option for Weld by Distance to fail, reported as T92875.
2021-11-09Fix: Incorrect assert in dot grid drawingHans Goudey
It's totally valid for the grid levels to be zero.
2021-11-09Fix: Crash with no active object after recent commitHans Goudey
rBaa13c4b386b13111 added a check for the active object in drawing code, but it missed adding a check for the active base before trying to retrieve its object.
2021-11-09tests/benchmarks: Fix operation on windowsRay Molenkamp
The test script did not work on windows since it had some trouble importing the api module on the blender side of things. turning the file path to the module into a raw string literal sidesteps the backslash issue in the path. Differential Revision: https://developer.blender.org/D13163 Reviewed by: brecht
2021-11-09Fix T92908: print warning when instance recursion limit is reachedJacques Lucke
Currently we have a fixed instance recursion limit. While we want to lift this limitation at some point, that is out of scope for a bug fix. For now just print a warning to make it easier to detect the issue. Differential Revision: https://developer.blender.org/D13162
2021-11-09UI: use plural form of "Gizmo" in Gizmo display menusAaron Carlisle
Because the menus list several gizmo visibility settings it makes grammatical sense that the panel name is plural. This also matches the "Overlays" menu.
2021-11-09Cycles: mark both RDNA and RDNA2 as support for HIPBrecht Van Lommel
2021-11-09Viewport: Remove different outline color for instancesHans Goudey
With instancing becoming more common with geometry nodes, instances are less of a separate thing and more of an essential part of evaluated data. Displaying them with a separate outline, while helpful in some cases, is not worth the lack of visibility or confusion about selected/active status. Information about the performance of the scene due to instancing is always available with the statistics like vertex count, etc. The problems were compounded by the fact that the instancing system is used to output geometry components that don't correspond to the object's original type. So this patch also fixes that problem. Fixes T92079, T81010 Ref T91310 Differential Revision: https://developer.blender.org/D13133
2021-11-09Fix T92928: Geometry nodes animation decorator wrong for vectorsPhilipp Oeser
Decorators were only added for the first item of an array. Decorators for all items of an array are added: - if the layout is flagged `UI_ITEM_PROP_DECORATE` automatically in `uiItemFullR` or - calling `uiItemDecoratorR` (but only in certain situations, see below) When calling `uiItemDecoratorR` with an index of 0, the following happens: - the index is passed to `uiItemDecoratorR_prop` - that checks with `ui_item_rna_is_expand` if decorators should be added to all items of an array - the check fails (because it only permits RNA_NO_INDEX -- which is -1) So two things we can do: - remain using `uiItemDecoratorR` (that would require to pass an index of RNA_NO_INDEX -- a bad level include -- or -1 - just use `uiLayoutSetPropDecorate` to flag the row properly This patch does later. Differential Revision: https://developer.blender.org/D13159
2021-11-09Fix: wrong attribute propagation in Distribute nodeJacques Lucke
Currently the Distribute Points on Faces node does not propagate non-point attributes correctly. That is because it first interpolates the attributes to the point domain on the input mesh, and then propagates them. Differential Revision: https://developer.blender.org/D13148
2021-11-09Cleanup: Remove `SMALL_TRI_RIGHT_VEC` iconPablo Vazquez
Since the recent change to context paths to use the arrow icon instead of the triangle (D13106), the `SMALL_TRI_RIGHT_VEC`is no longer used. This patch removes the icon and all references. - Replace `SMALL_TRI_RIGHT_VEC` with `RIGHTARROW` in Freestyle UI - Remove references to `SMALL_TRI_RIGHT_VEC` and `ICON_SMALL_TRI_RIGHT_VEC`. Fix for built-in add-ons has been done in rBAcc2f71bfe9b0/rBAa84028f8a89a. This will be added to the list of breaking changes [[ https://wiki.blender.org/wiki/Reference/Release_Notes/3.0/Python_API#Breaking_Changes | in the Wiki ]]. Reviewed By: Severin Differential Revision: https://developer.blender.org/D13130
2021-11-09Cycles: add AMD driver version info for HIP on WindowsBrecht Van Lommel
2021-11-09Fix T92645: Cycles OSL crash due use of uninitialized pointerBrecht Van Lommel
Thanks to Ilja Razinkov for identifying the problem and solution.
2021-11-09Fix T92939: Crash on drop when a curve is the active objectGermano Cavalcante
The active object was being set as the edited object even though it was not in edit mode.
2021-11-09View3D Snap Cursor: make the pool a little more restrictiveGermano Cavalcante
The snap cursor tagged overlapping regions to redrawn even though the cursor itself is not drawn.
2021-11-09Node Editor: Display warning when using Nishita sky texture with EeveeThomas Dinges
Nishita sky is not available in Eevee, display a warning to make this clear inside the Sky texture node. Differential Revision: https://developer.blender.org/D13161
2021-11-09Cycles: Improve OptiX denoising with dark images and fix crash when denoiser ↵Patrick Mours
is destroyed Adds a pass before denoising that calculates the intensity of the image, which can be passed into the OptiX denoiser for more optimal results for very dark or very bright images. In addition this also fixes a crash that sometimes occurred on exit. The OptiX denoiser object has to be destroyed before the OptiX device context object (since it references that). But in C++ the destructor function of a class is called before its fields are destructed, so "~OptiXDevice" was always called before "OptiXDevice::~Denoiser" and therefore "optixDeviceContextDestroy" was called before "optixDenoiserDestroy", hence the crash. Differential Revision: https://developer.blender.org/D13160
2021-11-09Fix T92472: OptiX denoising artifacts with recent GPU driver 495.29.05 or ↵Patrick Mours
newer on Linux Adds a workaround for a driver bug in r495 that causes artifacts with OptiX denoising. `optixDenoiserSetup` is not working properly there when called with a stream other than the default stream, so use the default stream for now and force synchronization across the entire context afterwards to ensure the other stream Cycles uses to enqueue the actual denoising command cannot execute before the denoising setup has finished. Maniphest Tasks: T92472 Differential Revision: https://developer.blender.org/D13158
2021-11-09Fix T91923: Save/Apply as Shape Key ignores shape keysCampbell Barton
Support virtual modifiers when using applying the modifier as a shape.
2021-11-09Tests: disable Cycles tests based on more build optionsBrecht Van Lommel
WITH_OPENCOLORIO and WITH_COMPOSITOR are required to run the tests at all, since they affect many tests. WITH_OPENSUBDIV WITH_FREESTYLE, WITH_OPENVDB, WITH_OPENIMAGEDENOISE and WITH_MOD_FLUID selectively disable some tests.
2021-11-09Fix T92934: crash rendering with wrong image pathJacques Lucke
These null checks were missing in rB0c3b215e7d5456878b155d13440864f49ad1f230. Differential Revision: https://developer.blender.org/D13157
2021-11-09Fix T92876: Cycles incorrect volume emission + absorption handlingBrecht Van Lommel
2021-11-09Fix T92318: adding layers (UVs, ...) doesn't notify about limitPhilipp Oeser
When adding certain customdata layers (namely UVs, vertex colors and sculpt vertex colors), the user does not get notified the specific limit has been hit (blender just silently does nothing). Now inform the user [decided to not do this in poll() since it could get messy once operators are extended to operate on all selected objects, so left this as a visible error in execute() -- or from python]. Maniphest Tasks: T92318 Differential Revision: https://developer.blender.org/D13147
2021-11-09Fix T92559: Tracking camera presets don't workFynn Grotehans
New tracking-camera presets d486ee2dbdd3 used wrong code because I copied them from the camera-presets. Now they set the right properties again, the values stay the same as before. Differential Revision: https://developer.blender.org/D13139
2021-11-09Fix T92384: Wrong UV layers used with Boolean Modifier (Fast Solver)Campbell Barton
Ensure the layers from the source mesh are used instead of the object referenced by the boolean modifier.
2021-11-09Fix T92469: Transform tools inaccessible in weight-paint + pose modeCampbell Barton
Expose transform tools when in weight paint mode with pose-mode enabled, displaying transform tools in the toolbar, as is already done in object & pose mode. These are only shown when weight-paint + pose mode are active at once. This allows single key-strokes to activate tools, needed when tool-access is set as the default action for G/R/S key bindings. Reviewed By: JulienKaspar Ref D13028
2021-11-09Fix T92704: Redrawing while saving crashes outside the main threadJeducious
If the blend file is saved from a script in another thread, like the render thread for example, Blender will crash on the call that redraws the UI. Ref D13140
2021-11-08Fix performance issues with pose library sidebar and many posesJulian Eisel
When the asset view in the sidebar of the pose library would contain more than a few handful poses, interaction and animation playback performance would be impacted considerably. This was because our icon drawing scales image buffers using a rather slow method on the CPU. This commit changes it so the asset icons are scaled using the GPU. Note that this is a temporary change. I'd like all icon code to use GPU-side scaling, see D13144. But such a change is too risky to do in the release branch at this point, so this fix is specifically for the 3.0 release.
2021-11-08Fix T92043: Relax/Push Pose does nothing for quaternion rotation.Alexander Gavrilov
As can be confirmed by checking generic code for this operation, it is supposed to blend between the result of Breakdown based on actual frame range, and the current pose. However for some reason the quaternion specific code was blending between the current pose and the current keyframed pose. This means that the operation does nothing if invoked without modifying the pose first. This rewrites the code to match the non-quaternion behavior. Differential Revision: https://developer.blender.org/D13030
2021-11-08Fix T92481: Memory leak with subdivision surface modifierCampbell Barton
Interpolation vertex data on loose edges was writing into already allocated data. Resolve this by skipping vertex end-points for custom-data interpolation which has already been copied from the source mesh. Reviewed By: sergey Ref D13082
2021-11-08Docs: improve comments & doc-strings for the tool-systemCampbell Barton
2021-11-08Fix reading the 3rd value of 2D cursors when transformingCampbell Barton
Out of bounds read and potential out-of-bounds write when transforming the 2D cursor for image editor and sequencer. While this didn't cause user visible bugs in my tests, it's error prone and should be avoided. Use TransData2D for 2D cursors.
2021-11-08Cleanup: quiet compiler warningsCampbell Barton
2021-11-08CMake: add missing headers to CMake listsCampbell Barton
2021-11-08Cleanup: use static setsCampbell Barton
2021-11-08Fix snap cursor not active even if gizmo is availableGermano Cavalcante
Error introduced in rB69d6222481b4 and partially fixed in rB24310441ddc8. When gizmo was turned on but the scene has more than one 3D viewport, one of them the snap cursor did not appear.
2021-11-06Cleanup: Decrease variable scope, rename functionsHans Goudey
2021-11-06Update RNA to user manual url mappingsAaron Carlisle
2021-11-06Fix: Property editor icon jittering in some casesLeon Leno
In the tools tab, the tool icon would be offset when it intersected the bottom of the editor. With some screen resolutions, the icons on the left side of the editor would also move when intersecting the bottom of the editor. This happened because of the truncation in the implicit conversion from float to int. Instead, use explicit conversion functions. Differential Revision: https://developer.blender.org/D11097
2021-11-06Cycles: perform CPU film reading in the kernel, to use AVX2 half conversionBrecht Van Lommel
Adds a bunch of CPU kernel function to process on row of pixels, and use those instead of calling unoptimized implementations. Fixes T92598
2021-11-05Fix T91733, T92486: Cycles wrong shadow catcher with volumesBrecht Van Lommel
Changes: * After hitting a shadow catcher, re-initialize the volume stack taking into account shadow catcher ray visibility. This ensures that volume objects are included in the stack only if they are shadow catchers. * If there is a volume to be shaded in front of the shadow catcher, the split is now performed in the shade_volume kernel after volume shading is done. * Previously the background pass behind a shadow catcher was done as part of the regular path, now it is done as part of the shadow catcher path. For a shadow catcher path with volumes and visible background, operations are done in this order now: * intersect_closest * shade_volume * shadow catcher split * intersect_volume_stack * shade_background * shade_surface The world volume is currently assumed to be CG, that is it does not exist in the footage. We may consider adding an option to control this, or change the default. With a volume object this control is already possible. This includes refactoring to centralize the logic for next kernel scheduling in intersect_closest.h. Differential Revision: https://developer.blender.org/D13093
2021-11-05Fix T92566: Cycles distant lights too dim in reflectionsBrecht Van Lommel
2021-11-05Fix T92503: Cycles OSL crash with object attributesBrecht Van Lommel
Can't cast to float4 because it might not have correct alignment.
2021-11-05UI: Fix minor theme mismatchPablo Vazquez
Pie menu got wrong item highlight and options settings were outdated.
2021-11-05Fix T92815: Incorrect handling of evaluated meshes from curvesHans Goudey
Evaluated meshes from curves are presented to render engines as separate instance objects now, just like evaluated meshes from other object types like point clouds and volumes. For that reason, cycles should not consider curve objects as geometry (previously it did, meaning it retrieved a second mesh from the curve object as well as the temporary evaluated mesh geometry). Further, avoid adding a curve object's evaluated mesh as data_eval, since that is special behavior for meshes that is arbitrary. Adding an evaluated mesh there but not an evalauted pointcloud is arbitrary, for example. Retrieve the evaluated mesh in from the geometry set in BKE_object_get_evaluated_mesh now, to support that change. This gets us closer to a place where all of an object's evaluated data is stored in geometry_set_eval, and we just have helper functions to access specific geometry components. Differential Revision: https://developer.blender.org/D13118
2021-11-05Fix part of T89313: Attribute search crash during animation playbackHans Goudey
During animation playback, data-blocks are reallocated, so storing pointers to the resulting data is not okay. Instead, the data should be retrieved from the context. This works when the applied search item is the "dummy" item added for non-matches. However, it still crashes for every other item, because the memory is owned by the modifier value log, which has been freed by the time the exec function runs. The next part of the solution is to allow uiSearchItems to own memory for the search items.
2021-11-05Fix T92848: Crash when joining curves with spline domain attributesHans Goudey
The point domain attributes (stored on splines) are sorted so they have a consistent order on all splines after the join. However, spline domain attributes were included in the new order, which didn't work because the length of the attribute lists didn't match. The simple fix is to only include point domain attributes in the new order vector.