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-03-22Silence warningtemp-library-overrides-outlinerJulian Eisel
2022-03-22Merge branch 'master' into temp-library-overrides-outlinerJulian Eisel
2022-03-22Fix T96705: Crash when pressing F3 outside a Blender window if Developer extrasJulian Eisel
If the mouse is not hovering the window, there is no active region. This is a valid state, but the UI-list filter operator didn't account for that case.
2022-03-22Tiny visual fixes/tweaks for new library override buttons in OutlinerJulian Eisel
Tweaks: - Increase horizontal padding for the buttons from 1 point to 2, looked like an unintentional placement error before. Fixes: - Missing horizontal padding for array buttons - Small gap between separator line and right column when using a high interface scale - Properly center buttons vertically.
2022-03-22Fix T96361: missing update when changing texture mapping propertiesJacques Lucke
2022-03-22Fix T96524: Regression: The Material Preview doesn't showSergey Sharybin
The preview does not work well with deferred render result pixels allocation: it breaks the refresh and requires to toggle current panels. Since there is no tiled rendering for previews we don't save any memory by deferring pixels allocations, so do it for the render result during the render result creation. Differential Revision: https://developer.blender.org/D14414
2022-03-22Fix: Drag link search doesn't always connect to socketLeon Schittek
Connecting to some sockets of a few nodes via the drag link search would fail and trigger an assert, because the picked socket wasn't available. This was due to some sockets only being available with certain settings. This patch fixes these cases by adding the availability conditions of the socket to the node declaration with the `make_available` method or manually adding a `node_link_gather_search` function. Differential Revision: https://developer.blender.org/D14283
2022-03-22Curve: Validation message split from nurb_check_validLaurynas Duburas
Split retrieval of translated text for the "invalid" messages for NURBS curves from the actual calculation, which is a lower-level function. Also fixes an issue where "At least two points required" would always display in the "Active Spline" panel. Differential Revision: https://developer.blender.org/D14315
2022-03-22Fix T96294: Crash and error with shape key normal calculationHans Goudey
A mistake in the mesh normal refactor caused the wrong mesh to be used when calculating normals with a shape key's deformation. This commit fixes the normal calculation by using the correct mesh, with just adjusted vertex positions, and calculating the results directly into the result arrays when possible. This completely avoids the need to make a local copy of the mesh, which makes sense, since the only thing that changes is the vertex positions. Differential Revision: https://developer.blender.org/D14317
2022-03-22Cleanup: Use bool for BMesh creation paramsHans Goudey
These boolean options are passed as uint, but they would be easier to understand if using bool. Differential Revision: https://developer.blender.org/D14405
2022-03-22Fix T96308: Mesh to BMesh conversion doesn't calculate vertex normalsHans Goudey
Currently there is a "calc_face_normal" argument to mesh to bmesh conversion, but vertex normals had always implicitly inherited whatever dirty state the mesh input's vertex normals were in. Probably they were most often assumed to not be dirty, but this was never really correct in the general case. Ever since the refactor to move vertex normals out of mesh vertices, cfa53e0fbeed7178c7, the copying logic has been explicit: copy the normals when they are not dirty. But it turns out that more control is needed, and sometimes normals should be calculated for the resulting BMesh. This commit adds an option to the conversion to calculate vertex normals, true by default. In almost all places except the decimate and edge split modifiers, I just copied the value of the "calc_face_normals" argument. Differential Revision: https://developer.blender.org/D14406
2022-03-22GL: Fix compilation error on MSVC (for real)Clément Foucault
2022-03-22GL: Fix compilation error on MSVCClément Foucault
2022-03-22Fix T96577: setting curve handles not working correctly with multiple curvesJacques Lucke
Differential Revision: https://developer.blender.org/D14409
2022-03-22Cleanup: refactor passing of color management settings for image saveBrecht Van Lommel
Make a copy of ImageFormatData that contains the effective color management settings, and pass that along to the various functions. This will make it possible to add more complex logic later. For compositing nodes, passing along view and display settings through many functions made it harder to add additional settings, so just get those from the scene now. Differential Revision: https://developer.blender.org/D14401
2022-03-22Cleanup: make format and fix warningJacques Lucke
2022-03-22Metal: Make GLSL shader source MSL compliant alsoJason Fielder
Metal shading language follows the C++ 14 standard and in some cases requires a greater level of explicitness than GLSL. There are also some small language differences: - Explicit type-casts (C++ requirements) - Explicit constant values (C++ requirements, e.g. floating point values using 0.0 instead of 0). - Metal/OpenGL compatibility paths - GLSL Function prototypes - Explicit accessors for vector types when sampling textures. Authored by Apple: Michael Parkin-White Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14378
2022-03-22Metal: Initial Implementation of Metal Backend for GPU Module.Jason Fielder
Adding WITH_METAL option to CMAKE to guard compilation for macOS only. Implemented stub METALBackend to mirror GPUBackend interface and added capabilities initialisation, along with API initialisation paths. Global rendering coordination commands added to backend with GPU_render_begin and GPU_render_end() commands globally wrapping GPU work. This is required for Metal to ensure temporary resources are generated within an NSAutoReleasePool and freed accordingly. Authored by Apple: Michael Parkin-White, Vil Harvey, Marco Giordano, Michael Jones, Morteza Mostajabodaveh, Jason Fielder Ref T96261 Reviewed By: fclem Maniphest Tasks: T96261 Differential Revision: https://developer.blender.org/D14293
2022-03-22Fix T96624: NLA crash when reordering tracks if no object is selected.Pratik Borhade
Caused by rBc0bd240ad0a1. To avoid crash, make boolean value false if active object data is NULL. Should be backported to 2.93 LTS and 3.1 corrective releases.
2022-03-22Cleanup: make format + extra parenthesisDalai Felinto
Nested ? : get better formatted with some parenthesis around the expressions.
2022-03-22Fix (unreported) Crash in Array modifier.Bastien Montagne
Typo (copy/paste mistake) in rB923b28aab85768e2b.
2022-03-22Fix T96420: Set ID node not working for instancesJacques Lucke
Previously, instances used the point domain, but now there is a special domain for instance attributes that the node has to use.
2022-03-22CMake: prep USD build & find scripts for USD >= 21.11Sybren A. Stüvel
Since USD 21.11 the libraries are prefixed with "usd_", i.e. "libusd_m.a" became "libusd_usd_m.a". This commit adjusts our `usd.cmake` (for building USD) and `FindUSD.cmake` (for finding the USD libraries) so that they work with and without this `usd_` prefix. See for more info: https://github.com/PixarAnimationStudios/USD/blob/release/CHANGELOG.md#2111---2021-11-01 Reviewed By: LazyDodo, brecht, mont29 Differential Revision: https://developer.blender.org/D14334
2022-03-22Cleanup: remove unused code from ed_object_select_pickCampbell Barton
- No need to store is_pose_mode, check the object_mode flag instead. - Remove redundant pose-mode check which now skips object selection. - Remove disabled grease pencil cursor toggling, since I couldn't manage to reproduce a situation where the cursor failed to update - also, as there are other places the active object can change this would need a more general solution anyway.
2022-03-22Cleanup: refactor 3D view selection picking to early exit for menusCampbell Barton
Selecting that opens a menu is now returns early. Handling the menu selection in-line made this function more difficult to follow. Also split out selecting an object by it's center into it's own function.
2022-03-22Cleanup: de-duplicate object-mode locking when selectingCampbell Barton
2022-03-22Obj: try to fix Linux testsAras Pranckevicius
Related to previous D14368 bug fix, the sorting operator was not necessarily a stable order sort.
2022-03-22Fix pose-selection from menu not activating the objectCampbell Barton
Unlike the regression from T96663 selecting pose bones from menus never activated the object.
2022-03-22Fix T96663: Selecting a pose-bone doesn't activate the objectCampbell Barton
Regression in [0] that removed object selection changes while remaining in pose-mode. This unintentionally removed object activation. [0]: 859c062a2a3083f53d801fce4b722dcc52482e7e
2022-03-22Fix pose-bone menu selecting before activating the menuCampbell Barton
Regression in 1d88aeb95fc40771be7ef3a835af4206c845aa9b.
2022-03-22Cleanup: variable names for menu selectionCampbell Barton
- Rename baseCount to bone_count, was copy-pasted from object code. - Also rename baseCount to base_count for object selection, following snake case naming conventions. - Use int instead of short for counters, as there is no reason to use short ints.
2022-03-22Cleanup: add proper IMB_openexr.h instead of including file from intern/Brecht Van Lommel
2022-03-22Fix build error when WITH_OPENEXR=OFF, after recent refactorBrecht Van Lommel
2022-03-22Fix build when using WITH_TBB=OFF after recent changesBrecht Van Lommel
And wrap tbb::parallel_sort in blender namespace similar to other TBB functionality.
2022-03-22Cleanup: Clang tidyHans Goudey
2022-03-22Cleanup: Small changes to multires bake normals accessHans Goudey
- Order return arguments last, add `r_` prefix - Use explicit size on array argument - Avoid double negative in if statement
2022-03-22Fix T96401: Broken multires baked normals resultHans Goudey
A 7 year old commit, 2ec00ea0c1be1ace7c, used incorrect indexing for the optional array of precomputed poly normals. Apparently that code path was never used, or this issue would have been discovered earlier. Recent changes calculate normals on a temporary mesh and use those for the "low-res" layer, meaning the precomputed path was always taken.
2022-03-21Fix T96494: Array modifier with caps crash on curve objectsHans Goudey
Since 3b6ee8cee7080af20, a list of vertex groups cannot be retrieved from curve objects for merging because curve objects do not support vertex groups. Previously the empty list on the object was returned. Only mesh objects are supported for the caps.
2022-03-21Fix T96511: New OBJ exporter no longer groups faces by materialAras Pranckevicius
Old python exporter in 3.0 and earlier ordered faces by material, but the new C++ exporter in 3.1+ did not, and was just writing them in whatever is the order of the mesh data structure. This mostly does not cause problems, except in some apps e.g. Procreate -- for large enough meshes, this lack of "order by material" (which ends up having more usemtl lines) ends up creating more mesh subsets than necessary inside Procreate. The change is not computationally heavy, e.g. exporting 6-level subdivided Monkey mesh goes 1085ms -> 1105ms on my machine. Reviewed By: @howardt Differential Revision: https://developer.blender.org/D14368
2022-03-21Curves: new Add brushJacques Lucke
This adds a new Add brush for the new curves object type in sculpt mode. The brush is used to insert new curves (typically hair) on the surface object. Supported features: * Add single curve exactly at the cursor position when `Add Amount` is 1. * Front faces only. * Independent interpolate shape and interpolate length settings. * Smooth and flat shading affects curve shape interpolation. * Spherical and projection brush. This also adds the `surface_triangle_index` and `surface_triangle_coordinate` attributes. Those store information about what position on the surface each added curve is attached to: * `surface_triangle_index` (`int`): Index of the internal triangle that a curve is attached to. `-1` when the curve is not attached to the surface. * `surface_triangle_coordinate` (`float2`): First two numbers of a barycentric coordinate that reference a specific position within the triangle. Ref T96444. Differential Revision: https://developer.blender.org/D14340
2022-03-21UI: improve names and tooltips in viewport preferencesEthan-Hall
Rename OpenGL to GPU, Show to Text Info Overlay, and various other tweaks. Differential Revision: https://developer.blender.org/D14344
2022-03-21Fix T96132: Cycles RGB/Vector/Float Curve shaders ignore extrapolation settingHallam Roberts
Differential Revision: https://developer.blender.org/D14393
2022-03-21UI: Use title case for labelsHans Goudey
2022-03-21Cleanup: move render image and multilayer EXR write code to image_save.ccBrecht Van Lommel
These share a lot of logic with regular image saving and should be unified more in the future.
2022-03-21Cleanup: move image_save.c to c++Brecht Van Lommel
2022-03-21Cleanup: move OpenEXR channel name construction to OpenEXR codeBrecht Van Lommel
2022-03-21Cleanup: add image_format.cc for functions related to ImageFormatDataBrecht Van Lommel
Also fixes missing code to read/write/free/copy color management settings in various places. This can't be set through the UI currently, but still should be handled consistently.
2022-03-21Cycles: make 3D texture sampling at boundaries more similar to GPUEthan-Hall
CPU code for cubic interpolation with clip texture extension only performed texture interpolation inside the range of [0,1]. As a result, even though the volume's color is sampled using cubic interpolation, the boundary is not being interpolated. The GPU appears was interpolating samples that span the clip boundary softening the edge, which the CPU now does also. This commit also includes refactoring of 2D and 3D texture sampling in preparation of adding new extension modes. Differential Revision: https://developer.blender.org/D14295
2022-03-21GPU: Allow the user to set an anisotropic filtering setting below the ↵Ethan-Hall
implementation-defined value of `GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT` Allow the user to set an anisotropic filtering setting below the implementation-defined value of `GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT`. This bug-fix is also needed for 2.93 LTS. Reviewed By: fclem Differential Revision: https://developer.blender.org/D14392
2022-03-21Fix T96655: Bloom crashes EeveeHallam Roberts
This patch fixes T96655, bloom crashing Eevee. The error occurs because rB472fc0c55848b2e2d428cfb4f7debb80a4e12081 added `vec3 safe_color(vec3 c)` to `common_math_lib.glsl`. However, `vec3 safe_color(vec3 c)` already exists in `effect_bloom_frag.glsl`. This means `vec3 safe_color(vec3 c)` is duplicated within `common_math_lib.glsl` and `effect_bloom_frag.glsl`. {F12938060 size=full} The duplicate code in `effect_bloom_frag.glsl` can be removed since it's no longer needed. (I checked the remaining methods, there shouldn't be any additional duplicate code) Reviewed By: fclem Maniphest Tasks: T96655 Differential Revision: https://developer.blender.org/D14396