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-02-17Fix part of T95654: Cycles crash with text objects in excluded view layersBrecht Van Lommel
This is a bug on the Blender side, where the depsgraph does not have proper relations for text object duplis and fails to include the required materials in the dependency graph. But at least Cycles should not crash.
2022-02-17Cleanup: Replace direct `id.lib` pointer checks with `ID_IS_LINKED` macro ↵Bastien Montagne
usages.
2022-02-17Fix build errors on Linux/clang after recent changesBrecht Van Lommel
2022-02-17Fix: Memory leak in recently added curves copy functionHans Goudey
Specify that the destination curve must be initialized, and free the existing attributes (which `CustomData_copy` doesn't do).
2022-02-17Camera: Simplify View Frame codeGermano Cavalcante
- No need for `normal_tx` array if we normalize the planes in `plane_tx`. - No need to calculate the distance squared to a plane (with `dist_signed_squared_to_plane_v3`) if the plane is normalized. `plane_point_side_v3` gets the real distance, accurately, efficiently and also signed. So normalize the planes of the member `CameraViewFrameData::plane_tx`.
2022-02-17Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-17Build: update CMake to support OpenImageIO 2.3.4Brecht Van Lommel
FindOpenImageIO was updated to link to separate OpenImageIO_Util for new versions, where it is required. For older versions, we can not link to it because there will be duplicated symbols. Ref D14128
2022-02-17Build: update CMake to support OpenEXR 3Brecht Van Lommel
FindOpenEXR was updated to find new lib names and separate Imath. It's all added to the list of OpenEXR include dirs and libs. This keeps it compatible with both version 2 and 3 for now, and doesn't require changes outside the find module. Ref D14128
2022-02-17Images: update code to support OpenEXR 3Sebastian Parborg
Compatibility with OpenEXR 2 is preserved, since Blender releases and Linux distribution packages can be on different versions. Ref D14128
2022-02-17Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-17Fix compile error on MSVCKévin Dietrich
`uint` is POSIX type, use `GLuint` like for the rest of the code.
2022-02-17Cleanup/fix comment.Bastien Montagne
2022-02-17Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-17Fix T94881: GPU subdivision fails with high polycount coarse meshesKévin Dietrich
Coarse meshes with high polycount would show as corrupted when GPU subdivision is used with AMD cards This was caused by the OpenSubdiv library not taking `GL_MAX_COMPUTE_WORK_GROUP_COUNT` into account when dispatching computes. AMD drivers tend to set the limit lower than NVidia ones (2^16 for the former, and 2^32 for the latter, at least on my machine). This moves the `GLComputeEvaluator` from the OpenSubdiv library into `intern/opensubdiv` and modifies it to compute a dispatch size in a similar way as for the draw code: we split the dispatch size into a 2 dimensional value based on `GL_MAX_COMPUTE_WORK_GROUP_COUNT` and manually compute an index in the shader. We could have patched the OpenSubdiv library and sent the fix upstream (which can still be done), however, moving it to our side allows us to better control the `GLComputeEvaluator` and in the future remove some redundant work that it does compared to Blender (see T94644) and probably prepare the ground for Vulkan support. As a matter of fact, this patch also removes the OpenGL initialization that OpenSubdiv would do here. This removal is not related to the bug fix, but necessary to not have to copy more files/code over. Differential Revision: https://developer.blender.org/D14131
2022-02-17Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-17Fix T95827: vertex groups do not display correctly with GPU subdivisionKévin Dietrich
Issue caused by 993839ce85137ac37a978f49ae894703a39dbf6a which modified the coarse face flags update function, but forgot the case where we have a mapped extraction with no BMesh.
2022-02-17Fix vertex groups not rendering properly with GPU subdivisionKévin Dietrich
This was missing the BMesh case. Issue found while investigating T95827.
2022-02-17XR: Allow variable count of action map subactionsPeter Kim
Previously, the number of action map subactions was limited to two per action (identified by user_path0, user_path1), however for devices with more than two user paths (e.g. Vive Tracker) it will be useful to support a variable amount instead. For example, a single pose action could then be used to query the positions of all connected trackers, with each tracker having its own subaction tracking space. NOTE: This introduces breaking changes for the XR Python API as follows: - XrActionMapItem: The new `user_paths` collection property replaces the `user_path0`/`user_path1` properties. - XrActionMapBinding: The new `component_paths` collection property replaces the `component_path0`/`component_path1` properties. Reviewed By: Severin Differential Revision: https://developer.blender.org/D13949
2022-02-17Merge branch 'blender-v3.1-release'Peter Kim
2022-02-17Fix T76082: VR Scene Inspection: It shows me only a pink screenPeter Kim
This fixes VR pink screen issues when using the DirectX backend, caused by `wglDXRegisterObjectNV()` failing to register the shared OpenGL-DirectX render buffer. The issue is mainly present on AMD graphics, however, there have been reports on NVIDIA as well. A limited workaround for the SteamVR runtime (AMD only) was provided in rB82ab2c167844, however this patch provides a more complete solution that should apply to all OpenXR runtimes. For example, with this patch, the Windows Mixed Reality runtime that exclusively uses DirectX can now be used with AMD graphics cards. Implementation-wise, a `GL_TEXTURE_2D` render target is used as a fallback for the shared OpenGL-DirectX resource in the case that registering a render buffer (`GL_RENDERBUFFER`) fails. While using a texture render target may be less optimal than a render buffer, it enables proper display in VR using the OpenGL/DirectX interop (tested on AMD Vega 64). Reviewed By: Severin Differential Revision: https://developer.blender.org/D14100
2022-02-17Cleanup: compiler warning, typo in commentCampbell Barton
2022-02-17License headers: use SPDX identifiersCampbell Barton
2022-02-16fix: RNA property not set for Graph editor breakdown opChristoph Lendenfeld
After running the breakdown operator for the graph editor, the factor property in the redo panel didn't reflect the value you chose to mitigate that issue down the line there is a new helper function to get the factor value, and store it at the same time Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D14105 Ref: D14105
2022-02-16Cleanup: Deduplicate functions for creating attributesHans Goudey
2022-02-16macOS/bpy module: install text files correctlyAnkit Meel
Instead of Blender.app (despite building bpy), install license etc in `Resources/text` of bpy install location. Part of D14111
2022-02-16macOS/bpy module: install scripts relative to bpy.soAnkit Meel
Brew's Python framework's site-packages is a symlink so the assumption that Resources and site-packages would be in the same directory doesn't hold. So install scripts etc relative to bpy.so. Part of D14111
2022-02-16Merge branch 'blender-v3.1-release'Sebastian Parborg
2022-02-16Cleanup: Remove deprecated StringGrid from our openvdb codeSebastian Parborg
StringGrid has been deprecated in openvdb 9.0.0 and will be removed soon Reviewed By: Brecht Differential Revision: http://developer.blender.org/D14133
2022-02-16Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-16Fix T95815: missing null check when computing dupli dimensionsJacques Lucke
Some instances might be "empty" and therefore have no dimensions. Those should be ignored here.
2022-02-16Curves: Further implementation of new curves data structureHans Goudey
The general idea here is to wrap the `CurvesGeometry` DNA struct with a C++ class that can do most of the heavy lifting for the curve geometry. Using a C++ class allows easier ways to group methods, easier const correctness, and code that's more readable and faster to write. This way, it works much more like a version of `CurveEval` that uses more efficient attribute storage. This commit adds the structure of some yet-to-be-implemented code, the largest thing being mutexes and vectors meant to hold lazily calculated evaluated positions, tangents, and normals. That part might change slightly, but it's helpful to be able to see the direction this commit is aiming in. In particular, the inherently single-threaded accumulated lengths and Bezier evaluated point offsets might be cached. Ref T95355 Differential Revision: https://developer.blender.org/D14054
2022-02-16BLI: Generalize short algorithm for finding boundsHans Goudey
Finding the greatest and/or smallest element in an array is a common need. This commit refactors the point cloud bounds code added in 6d7dbdbb44f379682 to a more general header in blenlib. This will allow reusing the algorithm for curves without duplicating it. Differential Revision: https://developer.blender.org/D14053
2022-02-16BLI: Implement templated math functions for basic typesHans Goudey
This is meant to complement the `blender::math` functions recently added by D13791. It's sometimes desired to template an operation to work on vector types, but also basic types like `float` and `int`. This patch adds that ability with a new `BLI_math_base.hh` header. The existing vector math header is changed to use the `vec_base` type more explicitly, to allow the compiler's generic function overload resolution to determine which implementation of each math function to use. This is a relatively large change, but it also makes the file significantly easier to understand by reducing the use of macros. Differential Revision: https://developer.blender.org/D14113
2022-02-16Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-16Fix: removing anonymous attributes before adding mesh to bmainJacques Lucke
This was an issue when e.g. `bpy.data.meshes.new_from_object` was used on an object that uses geometry nodes.
2022-02-16Cleanup: Use const qualifier in modifier data copySergey Sharybin
Fix possible overflow of Modifier UUID The code prior this change was re-generating modifier's session UUID prior to copying this id from the source. This approach has a higher risk of modifiers session UUID to overflow and start colliding with existing modifiers. This change makes it so that modifier copy does not re-generated the session UUID unless it is needed. Differential Revision: https://developer.blender.org/D14125
2022-02-16Cleanup: Use const qualifier in modifier data copySergey Sharybin
2022-02-16Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-16Cycles: restore basic standalone GUI, now using SDLBrecht Van Lommel
GLUT does not support offscreen contexts, which is required for the new display driver. So we use SDL instead. Note that this requires using a system SDL package, the Blender precompiled SDL does not include the video subsystem. There is currently no text display support, instead info is printed to the terminal. This would require adding an embedded font and GLSL shaders, or using GUI library. Another improvement to be made is supporting OpenColorIO display transforms, right now we assume Rec.709 scene linear and display. All OpenGL, GLEW and SDL code was move out of core cycles and into app/opengl. This serves as a template for apps that want to integrate Cycles interactive rendering, with a simple OpenGLDisplayDriver example. In general this would be adapted to the graphics API and color management used by the app. Ref T91846
2022-02-16BLI: Fix compilation error caused by rBa9f023e22638Clément Foucault
Explicitly referencing the typename fixes the issue.
2022-02-16Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-16Fix Image GPU texture.Jeroen Bakker
Due to recent changes there have been reports of incorrect loading of GPU textures. This fix reverts a part of {D13238} that might be the source of the issue.
2022-02-16Merge branch 'blender-v3.1-release'Philipp Oeser
2022-02-16Fix T95787: Texture paint: Apply Camera Image crash for certain imagesPhilipp Oeser
This does not happen with **any** image, but with images that have ID properties. ID properties are used to store view projection matrices (e.g. for reprojection with `Image from View` or `Quick Edit` -- these are the ones we are interested in), but of course they can be used for anything else, too. The images in the file from the report have ID properties from an Addon for example. So the crash can reliably be reproduced with **any** image doing the following: ``` bpy.data.images['myImage']['myIDprop'] = "foo" ``` This would lead code in `texture_paint_camera_project_exec` to think the needed `view_data` is on the image (but in reality it was just some other IDprop). Solution is simple: just check `view_data` is really valid after getting it from the IDprops. Maniphest Tasks: T95787 Differential Revision: https://developer.blender.org/D14116
2022-02-16UV: move sticky selection from image space into tool settingsCampbell Barton
Having this setting stored in the image space caused low level selection logic to have to pass around the image space (which could be NULL in some cases). Use the tool-settings instead since there doesn't seem to be much/any advantage in having this setting per-space.
2022-02-16License headers: use SPDX identifiersCampbell Barton
2022-02-16Cleanup: spelling in commentsCampbell Barton
2022-02-16Cleanup: clang-format, use static sets, sort struct declarationsCampbell Barton
2022-02-16GPUTexture: Add dimensions getterClément Foucault
Pretty straight forward. Returns the texture dimensions count. This is different from the size.
2022-02-15Fix: Build error in debug buildHans Goudey
Error in a9f023e226389461b1140