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-09-16Cleanup: spelling in commentsCampbell Barton
2022-09-16Make File Select dialog update operator's file & path propertiesColin Basnett
When an operator is attached to a file select dialog, the update callback function for the operator's directory, filename and filepath properties will be called as the user navigates through the dialog. This will allow add-on authors to make more interactive import operators. Differential Revision: https://developer.blender.org/D15543
2022-09-16Revert "UI: Use full word for face set operator name, tweak description"Hans Goudey
This reverts commit 15d85c54c3f960814068074bcdff0a5546fa4d5a. Included a separate change/new file by mistake. Sorry for the noise.
2022-09-16UI: Use full word for face set operator name, tweak descriptionHans Goudey
"Init" shouldn't be used in the UI, and avoid repeating the operator name in its description.
2022-09-16Sculpt: Respect hiding when creating face sets from loose partsHans Goudey
Different areas of the mesh can be "loose parts" visually when separated by hidden areas. This is consistent with other areas of sculpt mode that also treat hidden areas differently.
2022-09-16Cleanup: formatCampbell Barton
2022-09-15Cleanup: Rename attribute required functionsHans Goudey
Avoid "customdata" in the name, since that's an implementation detail in this context.
2022-09-15Fix: Merging mesh and non-empty BMesh creates "flag" attributesHans Goudey
We need to use the custom data copy function that skips mesh-only attributes like the hide status attributes, the generic material index attribute, etc. Otherwise the BMesh has those attributes which conflict with their builtin counterparts.
2022-09-15BLO: move blenloader to C++Jacques Lucke
Differential Revision: https://developer.blender.org/D15965
2022-09-15Python: fix failing bpy build with full release config on WindowsBrecht Van Lommel
* Fix issue with different build and install paths. * Fix issue with oneAPI kernel build. Ref D15957
2022-09-15Fix warning-as-errors in older GCC's, take 2.Bastien Montagne
rBf4e6616b835e did not work for `some reason`, this one has been verified with gcc 10!
2022-09-15Fix warning-as-errors in older GCC's.Bastien Montagne
Recent compilers (at least gcc 11 and 12) do not report any issue, but gcc 10 does.
2022-09-15PointCloud: add BKE_pointcloud_nomain_to_pointcloudKévin Dietrich
This adds a utility function to copy the data from a PointCloud outside of the main database to one that is in the database. This is similar to `BKE_mesh_nomain_to_mesh`. Ref D11592
2022-09-15I18n: disambiguate and extract a few messagesDamien Picard
Disambiguate: - Lower / Upper (case) - Spray (ocean modifier) - Keep Original (clip, grease pencil, object) - Screen [space] (inside some enum items, mostly) - Cast Shadow ("shadow that is cast", not "to cast a shadow") Extract: - Line Art Light Reference Near and Far - Mesh vertex attribute domain: Vertex Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15938
2022-09-15GPencil: Add frame number to Trace operatorAntonio Vazquez
The default trace can only trace an image or a sequence, but it was not possible to trace only selected frames in a sequence. This new parameter allows to define what frame trace. If the value is 0, the trace is done as before. The parameter is not exposed in the UI because this is logic if it is managed by a python API, but it has no sense in the UI. This feature was included after receiving feedback from Studios which need to trace videos only for some frames using custom python scripts.
2022-09-15NLA: draw track bg based on strip's extrapolation typeNate Rupsis
In the NLA, draw the track background based on the strip's extrapolation setting. Previously, this had no visual indicator; "Hold", "Hold Forward", and "Nothing" were visually indistinguishable. Now "Nothing" actually shows nothing, "Hold Forward" shows a dimly colored background from the strip to its right, and "Hold" shows that in both directions. Reviewed By: RiggingDojo, sybren Maniphest Tasks: T97572 Differential Revision: https://developer.blender.org/D14836
2022-09-15Cleanup: quiet sign-conversion warning in OFFSETOF_STRUCT_AFTERCampbell Barton
BLI_strict_flags.h raised a build error when this macro was used.
2022-09-15Workaround for msvc compiler bugJacques Lucke
This is the same issue as in rB2e8089b6bf50.
2022-09-15Correct over allocation in 0e172e9732a1cab2aba324ce10ce304df7b69338Campbell Barton
2022-09-15Cleanup: minor improvement to boundary checkCampbell Barton
Use a byte flag instead of counting polys using edges (technically a fix for edges with USHRT_MAX+2 users).
2022-09-15Fix T95649: Corrective Smooth can cause vertices to jumpCampbell Barton
Calculate a tangent per loop, apply the transformation in multiple spaces and accumulate the result weighting by the loop-angle. Note that previously only the tangents Z axis (normal) was properly accumulated, the X and Y axes only contained the values from a single loop (the last one written to), meaning only two edges contributed to the result. Now the transformation from all loops are taken into account. In practice the difference between both methods is minimal, only for more extreme bending it can be noticed which is often when the previous method didn't work as well.
2022-09-15Cleanup: use doxy sections, remove outdated commentCampbell Barton
2022-09-15Cleanup: spelling in comments, comment blocksCampbell Barton
2022-09-15CMake: exclude '.github' from addons in the install targetCampbell Barton
This file is only used for the github mirror and doesn't need to be installed.
2022-09-15Fix Unreported: VSE and NLA handle position text is not drawnRichard Antalik
When moving strip, or it's handle, text with frame number near handle should be drawn. This feature was broken by 8d53ead69bb5, because function `UI_view2d_text_cache_add` sets all fields of `v2s->rect` to 0. This case was checked in function `UI_view2d_text_cache_draw`, but it was not quite obvious. This commit reverts 8d53ead69bb5, makes condition for 0 size rectangle more obvious and adds comment for clarity. function `UI_view2d_text_cache_add` is only used in NLA and VSE, and this new condition fits existing use-cases. Status of T97500 is not affected by this change.
2022-09-15UV: rename "Pixel Snap Mode" to "Pixel Round Mode"Chris Blackbourn
Maniphest Tasks: T78391 Differential Revision: https://developer.blender.org/D15952
2022-09-14Fix: Build error after previous cleanup commitHans Goudey
The prototype didn't match the definition anymore.
2022-09-14Attributes: add color_srgb property to FloatColorAttributeValue and ↵Aras Pranckevicius
ByteColorAttributeValue This patch adds color_srgb property to FloatColorAttributeValue and ByteColorAttributeValue, so Python code can do `layer.data.foreach_get("color_srgb", ...)` to fetch the data efficiently, if it needs it in sRGB color space. Reviewed By: Bastien Montagne Differential Revision: https://developer.blender.org/D15966
2022-09-14Cleanup: Remove unused argument from modifier data mask callbackHans Goudey
This isn't likely to be helpful in the future with the move to generic attributes
2022-09-14Cleanup: Make formatHans Goudey
2022-09-14Sculpt: Separate hide status from face sets, use generic attributeHans Goudey
Whether faces are hidden and face sets are orthogonal concepts, but currently sculpt mode stores them together in the face set array. This means that if anything is hidden, there must be face sets, and if there are face sets, we have to keep track of what is hidden. In other words, it adds a bunch of redundant work and state tracking. On the user level it's nice that face sets and hiding are consistent, but we don't need to store them together to accomplish that. This commit uses the `".hide_poly"` attribute from rB2480b55f216c to read and change hiding in sculpt mode. Face sets don't need to be negative anymore, and a bunch of "face set <-> hide status" conversion can be removed. Plus some other benefits: - We don't need to allocate either array quite as much. - The hide status can be read from 1/4 the memory as face sets. - Updates when entering or exiting sculpt mode can be removed. - More opportunities for early-outs when nothing is hidden. - Separating concerns makes sculpt code more obvious. - It will be easier to convert face sets into a generic int attribute. Differential Revision: https://developer.blender.org/D15950
2022-09-14ViewLayer: Lazy sync of scene data.Monique Dewanchand
When a change happens which invalidates view layers the syncing will be postponed until the first usage. This will improve importing or adding many objects in a single operation/script. `BKE_view_layer_need_resync_tag` is used to tag the view layer to be out of sync. Before accessing `BKE_view_layer_active_base_get`, `BKE_view_layer_active_object_get`, `BKE_view_layer_active_collection` or `BKE_view_layer_object_bases` the caller should call `BKE_view_layer_synced_ensure`. Having two functions ensures that partial syncing could be added as smaller patches in the future. Tagging a view layer out of sync could be replaced with a partial sync. Eventually the number of full resyncs could be reduced. After all tagging has been replaced with partial syncs the ensure_sync could be phased out. This patch has been added to discuss the details and consequences of the current approach. For clarity the call to BKE_view_layer_ensure_sync is placed close to the getters. In the future this could be placed in more strategical places to reduce the number of calls or improve performance. Finding those strategical places isn't that clear. When multiple operations are grouped in a single script you might want to always check for resync. Some areas found that can be improved. This list isn't complete. These areas aren't addressed by this patch as these changes would be hard to detect to the reviewer. The idea is to add changes to these areas as a separate patch. It might be that the initial commit would reduce performance compared to master, but will be fixed by the additional patches. **Object duplication** During object duplication the syncing is temporarily disabled. With this patch this isn't useful as when disabled the view_layer is accessed to locate bases. This can be improved by first locating the source bases, then duplicate and sync and locate the new bases. Will be solved in a separate patch for clarity reasons ({D15886}). **Object add** `BKE_object_add` not only adds a new object, but also selects and activates the new base. This requires the view_layer to be resynced. Some callers reverse the selection and activation (See `get_new_constraint_target`). We should make the selection and activation optional. This would make it possible to add multiple objects without having to resync per object. **Postpone Activate Base** Setting the basact is done in many locations. They follow a rule as after an action find the base and set the basact. Finding the base could require a resync. The idea is to store in the view_layer the object which base will be set in the basact during the next sync, reducing the times resyncing needs to happen. Reviewed By: mont29 Maniphest Tasks: T73411 Differential Revision: https://developer.blender.org/D15885
2022-09-14Adding `const Scene*` parameter in many areas.Monique Dewanchand
Related to {D15885} that requires scene parameter to be added in many places. To speed up the review process the adding of the scene parameter was added in a separate patch. Reviewed By: mont29 Maniphest Tasks: T73411 Differential Revision: https://developer.blender.org/D15930
2022-09-14BLF: Incorrect Define UsedHarley Acheson
Replace incorrect usage of GLYPH_ASCII_TABLE_SIZE with correct KERNING_CACHE_TABLE_SIZE See D15815 for more details. Differential Revision: https://developer.blender.org/D15815 Own Code.
2022-09-14Fix: Mesh SoA format conversion skips versioningHans Goudey
Converting to the SoA format (T95965) immediately when reading meshes means that none of the changes from versioning would be applied first. This means important fixes like f14995aba70a aren't properly applied, so modifications could be done to invalid CustomData. To fix this, move the SoA changes into versioning code, in a new versioning_400.cc file. Differential Revision: https://developer.blender.org/D15919
2022-09-14Curves: Improve sculpting performance by reducing allocationsHans Goudey
The snake hook and grow/shrink brushes need some arrays for input to the length paramterization code. These were allocated and freed for every curve. Instead, use a local buffer for each task execution. Differential Revision: https://developer.blender.org/D15964
2022-09-14Mesh: Fix quadratic cost for accessing normals with RNAHans Goudey
Same as eb3a561a7fe0b22abc1, but for the mesh normal arrays introduced in b7fe27314b25a7220a.
2022-09-14Curves/PointCloud: Avoid quadratic cost for retrieving positionsHans Goudey
A "lookup_int" callback needs to be provided for RNA collections that aren't backed by DNA directly. Otherwise they will iterate from the start of the array for every access.
2022-09-14Cleanup: Add missing licence headersHans Goudey
Missed in eaf416693dcb
2022-09-14Cleanup: use proper `bool` variables in Main, instead of `char`.Bastien Montagne
2022-09-14Fix T49814: Collada Import Ignores Vertex NormalsMyron Carey
We now import and apply custom normals using a similar strategy to the STL importer. We store custom normal data for each loop as we read each MPoly and then apply it to the mesh after `BKE_mesh_calc_edges()` is called. The new behavior is optional and may be disabled in the Collada import UI. When disabled, we use the old behavior of only using normals to determine whether or not to smooth shade an MPoly. ---- Patch as requested in {T49814}. The Collada import UI now has an additional checkbox, similar to the glTF and FBX import UIs: {F13428264} Here is a test Collada file with a simple test cube with flipped custom normals: {F13428260} {F13428282} And a sphere where the two halves are disconnected geometry, but has custom normals that make the halves appear to be connected: {F13436363} {F13436368} I've tested it on a number of my own meshes, and the custom normals appear to be imported correctly. I'm not too sure about how I've plumbed the option down, though, or whether this is the most proper way to apply custom normals. Reviewed By: gaiaclary Differential Revision: https://developer.blender.org/D15804
2022-09-14Fix T100684: Correct descriptions in Python APIJoseph Micheli
The descriptions for view_layer_eval and scene_eval incorrectly duplicate the descriptions for view_layer and scene: - https://docs.blender.org/api/current/bpy.types.Depsgraph.html?highlight=depsgraph#bpy.types.Depsgraph.view_layer_eval - https://docs.blender.org/api/current/bpy.types.Depsgraph.html?highlight=depsgraph#bpy.types.Depsgraph.scene_eval This patch fixes this by changing "Original" to "Evaluated." Reviewed By: jbakker Maniphest Tasks: T100684 Differential Revision: https://developer.blender.org/D15931
2022-09-14Fix T100959: Memory leak when moving node with AltGermano Cavalcante
The memory leak happens because `ED_node_link_insert` (called after the transform operation) overwrites the pre-existing `snode->runtime->iofsd`, losing the reference without freeing the memory. So to "move" the reference from `snode->runtime->iofsd` to `op->customdata`, so that each operator works with its own data. Reviewed By: Severin Differential Revision: https://developer.blender.org/D15948
2022-09-14Cleanup: quiet warningsJacques Lucke
2022-09-14Cleanup: remove unused fields + add overrideJacques Lucke
2022-09-14Added missing license headers.Jeroen Bakker
2022-09-14Optimization: Exit early when resizing material slots.Erik Abrahamsson
When assigning a huge number of materials, like when importing thousands of objects, the function `BKE_objects_materials_test_all` uses quite a lot of resources because of the way it loops through all objects to resize the mat-array. By counting the amount of processed objects and comparing to the number of users of the obdata ID, we can exit early and avoid looping through all objects every time. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15740
2022-09-14Cleanup: remove redundant braces from assert & raiseCampbell Barton
autopep8 v1.7 added a space after assert & raise, remove the braces as they aren't needed.
2022-09-14Fix reports printing twice when called from Python in background-modeCampbell Barton
Calling operators in background-mode always printed with the assumption that output should never be hidden. However operators called from `bpy.ops` were also printing reports to the `stdout` (needed for the Python console and generally useful). Resolve by adding a flag to signal that the owner of the ReportList is responsible for printing to the `stdout`.
2022-09-14Cleanup: skip argument freeing when built as a Python moduleCampbell Barton