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-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
2022-02-15Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-15Fix T95806: subdivision missing in Cycles when using autosmoothKévin Dietrich
Although rB56407432a6a did fix missing subdivision in some cases, in other cases it did not return the mesh wrapper (like when using autosmooth, which requires a copy of the mesh), so the non-subdivided mesh was still returned.
2022-02-15Fix T94994: Anim Player Stops working In Video Sequence EditorJörg Müller
Port from upstream: variable was unitialized when device initialization failed when the WASAPI mixing thread is started.
2022-02-15Merge remote-tracking branch 'origin/blender-v3.1-release'Kévin Dietrich
2022-02-15Fix T95697: GPU subdivision ignores custom normalsKévin Dietrich
Similarly to the CPU subdivision, we interpolate custom loop normals from the coarse mesh, and this for the final normals.
2022-02-15GPU subdiv: fix custom data interpolation for N-gonsKévin Dietrich
Not all coarse vertices were used to compute the center value (off by one), and the interpolation for the current would always start at the base corner for the base face instead of the base corner for the current patch.
2022-02-15BLI: Change dependencies in vector math filesHans Goudey
This patch reverses the dependency between `BLI_math_vec_types.hh` and `BLI_math_vector.hh`. Now the higher level `blender::math` functions depend on the header that defines the types they work with, rather than the other way around. The initial goal was to allow defining an `enable_if` in the types header and using it in the math header. But I also think this operations to types dependency is more natural anyway. This required changing the includes some files used from the type header to the math implementation header. I took that change a bit further removing the C vector math header from the C++ header; I think that helps to make the transition between the two systems clearer. Differential Revision: https://developer.blender.org/D14112
2022-02-15Cleanup: Rename file used for calculating mesh edgesHans Goudey
This commit renames `mesh_validate.cc` to `mesh_calc_edges.cc`. I would like to move `mesh_validate.c` to C++, but it makes sense to keep this specific algorithm in a smaller file.
2022-02-15Define CLANG_FORMAT_VERSION in install_deps.shMichael
When running `./blender/build_files/build_environment/install_deps.sh` on Ubuntu 20.04.3 LTS the following error can be seen: ``` ./blender/build_files/build_environment/install_deps.sh: line 1266: [: too many arguments ``` This error results from the call: ``` check_package_version_ge_DEB $CLANG_FORMAT $CLANG_FORMAT_VERSION ``` with `CLANG_FORMAT_VERSION` being undefined. Also as `clang-format` 13 is already released and hopefully didn't break anything `CLANG_FORMAT_VERSION_MEX` could use version bump. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D13924
2022-02-15Curves: add initial sculpt modeJacques Lucke
This adds a new sculpt mode to the experimental new curves object. Currently, this mode can only be entered and exited, nothing else. The main initial purpose of this node will be to use it for hair grooming. The patch also adds the `editors/curves/` directory for the new curves object, which will be necessary for many other things as well. I added a completely new mode (`OB_MODE_SCULPT_CURVES`), because `OB_MODE_SCULPT` seems to be rather specific to meshes, and reusing it doesn't seem worth the trouble. The tools/brushes used in mesh vs. curves sculpt mode are quite distinct as well. I had to add DNA_userdef_enums.h to make the patch compile with C++ (forward declaration of enums isn't allowed). This follows the same pattern that we use for other enums in dna. Differential Revision: https://developer.blender.org/D14107
2022-02-15RNA: add RNA_collection_is_empty & RNA_property_collection_is_emptyCampbell Barton
Some collections needed to be iterated over to count their length. Provide a function to check if the collection is empty to avoid this.
2022-02-15Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-15Merge branch 'blender-v3.1-release'Campbell Barton
2022-02-15Fix T95791: Unable to switch between multiviews.Jeroen Bakker
Root cause is copy pasting buggy code.
2022-02-15Fix T94085: Crash with empty stroke listCampbell Barton
2022-02-15Fix T95791: Unable to switch between multiviews.Jeroen Bakker
Root cause is copy pasting buggy code.
2022-02-15License headers: use SPDX for remaining files in CyclesCampbell Barton
2022-02-15License headers: use SPDX for remaining CMake find modules & gtestsCampbell Barton
2022-02-15Fix playing image-sequences with frames containing 9 or more numbersCampbell Barton
The path calculation method for animation players: frame-cycler, rv & mplayer would fail when the number of digits exceeded the range of a 32bit int causing RenderData.frame_path() to raise a ValueError. Use a simpler method of extracting the range that uses the sign to detect the beginning of the number.
2022-02-15Cleanup: move utility to create a frame path into a static methodCampbell Barton
Add PlayRenderedAnim._frame_path_with_number_char since mixing this logic inline made the code harder to follow.
2022-02-15readme.html: replace IRC with blender.chat, fix typoAnkit Meel
- Replace IRC links and channels with blender.chat ones. - Fix mismatch in text vs link of "GIT and Bug Tracker". - http -> https for blender links
2022-02-15CMake: create readme.html with configure_fileAnkit Meel
Since the output file stays unmodified for most developer builds, install step installed it redundantly. Create readme.html using `configure_file`: - Now it's modified only if final output changes (handled by CMake). - If input file (from git) or blender version changes, it //will// be modified. Also don't re-implement what CMake can do. Reviewed By: campbellbarton, LazyDodo Differential Revision: https://developer.blender.org/D13863
2022-02-15Cleanup: unused argument warningsCampbell Barton
2022-02-15Cleanup: minor changes to Python argument parsing loopCampbell Barton
- Increment the argument index at the end of the loop. Otherwise using the index after incrementing required subtracting 1. - Move error prefix creation into a function: `pyrna_func_error_prefix` so it's possible to create an error prefix without duplicate code. This simplifies further changes for argument parsing from D14047.
2022-02-15Merge branch 'blender-v3.1-release'Brecht Van Lommel
2022-02-15Cleanup: clang-formatBrecht Van Lommel
2022-02-15Merge branch 'blender-v3.1-release'Hans Goudey
2022-02-15Fix T95720: Spreadsheet missing volume grid infoHans Goudey
The cell drawing code in 474adc6f883c2d5a854d7 was missing an implementation for virtual arrays of strings.
2022-02-15GLShaderInterface: Fix undefined behavior when attributes are optimized away.Clément Foucault
Optimized out attributes returns an invalid location `-1` resulting in an undefined behavior shift.
2022-02-15Merge branch 'blender-v3.1-release'Clément Foucault