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-09-17Cleanup: Use dedicated function to offset VSE strip handlesRichard Antalik
2022-09-17Fix T101098: Moving meta strip can change its lengthRichard Antalik
Caused by clamping handle translation to strip bounds in functions `SEQ_time_*_handle_frame_set()` to prevent strip ending in invalid state. Issue happens when meta strip is moved so quickly, such that immediate offset is greater than strip length. Currently meta strip bounds are updated when any contained strip changes its position, but this update always preserves meta strip position. Transforming meta strip is not possible directly and all contained strips are moved instead. Therefore this is 2-step process and fix needs to be applied on update function and on translation function. Inline offset handling without clamping in function `SEQ_time_update_meta_strip_range()`. Add new function `seq_time_translate_handles()` to move both handles at once in `SEQ_transform_translate_sequence()`.
2022-09-16Sculpt: add .sculpt to allow_procedural_attribute_accessJoseph Eagar
Also cleaned up a comment.
2022-09-16Sculpt: Improve performance when initializing face setsHans Goudey
Avoid conversion to `BMesh` for basic topology operations and data access. Instead use a mesh map to retrieve the faces connected to each edge. I observed performance improvements of 5x (600ms to 100ms) to 10x (15s to 1s), with bigger changes for large meshes with more data layers Switching to `std::queue` over Blender's `GSQueue` gave another 25% improvement. Differential Revision: https://developer.blender.org/D15988
2022-09-16Fix: Missing updates for multires sculptingHans Goudey
Caused by ee23f0f3fb58ce56, which removed the update tag when entering sculpt mode, and by b5f7af31d6d474c, which made these layers lazily created, so they weren't always available at the start of a stroke. Now update the evaluated mesh/multires CCG as necessary. Some updates could potentially avoided when switching modes in the future, but for now do it all the time. Fixes T101116 Also fixes a crash when painting multires mask for the first time
2022-09-16Sculpt: New attribute APIJoseph Eagar
New unified attribute API for sculpt code. = Basic Design = The sculpt attribute API can create temporary or permanent attributes (only supported in `PBVH_FACES` mode). Attributes are created via `BKE_sculpt_attribute_ensure.` Attributes can be explicit CustomData attributes or simple array-based pseudo-attributes (this is useful for PBVH_GRIDS and PBVH_BMESH). == `SculptAttributePointers` == There is a structure in `SculptSession` for convenience attribute pointers, `ss->attrs`. Standard attributes should assign these; the attribute API will automatically clear them when the associated attributes are released. For example, the automasking code stores its factor attribute layer in `ss->attrs.automasking_factor`. == Naming == Temporary attributes should use the SCULPT_ATTRIBUTE_NAME macro for naming, it takes an entry in `SculptAttributePointers` and builds a layer name. == `SculptAttribute` == Attributes are referenced by a special `SculptAttribute` structure, which holds all the info needed to look up elements of an attribute at run time. All of these structures live in a preallocated flat array in `SculptSession`, `ss->temp_attributes`. This is extremely important. Since any change to the `CustomData` layout can in principle invalidate every extant `SculptAttribute`, having them all in one block of memory whose location doesn't change allows us to update them transparently. This makes for much simpler code and eliminates bugs. To see why this is tricky to get right, imagine we want to create three attributes in PBVH_BMESH mode and we provide our own `SculptAttribute` structs for the API to fill in. Each new layer will invalidate the `CustomData` block offsets in the prior one, leading to memory corruption. Reviewed by: Brecht Van Lommel Differential Revision: https://developer.blender.org/D15496 Ref D15496
2022-09-16Fix: Geometry nodes crash with undefined nodeHans Goudey
The new evaluator crashes for multi-input sockets coming from undefined nodes. The multi-input socket lazy node tries to retrieve the default value since the undefined node never created output values. But there is no default value stored because the socket is linked. Differential Revision: https://developer.blender.org/D15980
2022-09-16Cleanup: Remove unused member variable in lazy function graphHans Goudey
2022-09-16Fix T101100: missing smooth shading with linked subdivision surface in editmodeBrecht Van Lommel
Smooth flag should come from the evaluated mesh, only selection and hidding state should be mapped to the original bmesh. Pre-existing issue revealed by refactor in b247588dc0f4.
2022-09-16Fix: crash when evaluating geometry nodes after deleting an unlinked nodeJacques Lucke
This was essentially a use-after-free issue. When a geometry nodes group changes it has to be preprocessed again before it can be evaluated. This part was working, the issue was that parent node groups have to be preprocessed as well, which was missing. The lazy-function graph cached on the parent node group was still referencing data that was freed when the child group changed. Now the depsgraph makes sure that all relevant geometry node groups are preprocessed again after a change. This issue was found by Simon Thommes.
2022-09-16Fix Linux bpy wheel failing to install due to wrong ABI flagsBrecht Van Lommel
2022-09-16Sculpt: Move sculpt_face_set.c to C++Hans Goudey
2022-09-16Eevee: Add support for Nishita sky textureLukas Stockner
Sun Disc is currently not supported because it'll need special handling - on the one hand, I'm not sure if Eevee would handle a 1e6 coming out of a background shader without issues, and on the other hand it won't actually cast sharp shadows anyways. I guess we'd want to internally add a sun to the lamps if Sun Disc is enabled, but getting that right is tricky since the user could e.g. swap RGB channels in the node tree and the lamp wouldn't match that. Anyways, that can be handled later, the sky itself is already a start. Reviewed By: fclem Differential Revision: https://developer.blender.org/D13522
2022-09-16Fix 101000: color picker colors drift above 1 for some OCIO configurationsBrecht Van Lommel
Increase threshold to avoid float precision issues.
2022-09-16Revert "EEVEE: Fix volumetric resolve in large scenes."Jeroen Bakker
This reverts commit 34051fcc12f388375697dcfc6da53e9909058fe1. Although for normal use this doesn't make a difference. But when working with huge scenes and volumetrics + NVIDIA it made a work-around not possible anymore. For the heist production we added a fix on the render-farm (enable GPU workarounds). {rB34051fcc12f388375697dcfc6da53e9909058fe1} made another work-around not accessible anymore and it and was requested to revert this change.
2022-09-16Fix T101040: Blender Crashes When snap roll a bone in armatureGermano Cavalcante
The modes that don't support individual projection shouldn't support FACE_NEAREST either. Differential Revision: https://developer.blender.org/D15970
2022-09-16Cleanup: formatCampbell Barton
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-16make_source_archive: exclude hidden git filesCampbell Barton
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-16Docs: Update sphinxAaron Carlisle
2022-09-16Cleanup: formatCampbell Barton
2022-09-16Cleanup: typos in 427d669f625e1408e3b4509ab5aae19fc8b0bbc1Campbell Barton
2022-09-16make_bpy_wheel: various minor improvementsCampbell Barton
- Add doc-string with example usage shown in the --help message. - Add help text for command line arguments. - Only search for the CMakeCache.txt file when the `--build-dir` is omitted. - Write fatal errors to the stderr.
2022-09-16Cleanup: suppress type warnings for make_bpy_wheel & make_utilsCampbell Barton
'make check_mypy' now runs without warnings.
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: script for packing bpy module as wheelBrecht Van Lommel
The buildbot will call this script to create a binary .whl file that can be easily installed through pip. This wheel will only work with the same Python version used for Blender. Other minimum system requirements are the same as regular Blender builds. Includes contributions by Campbell Barton. Differential Revision: https://developer.blender.org/D15957
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-15Python: fix failing tests when building bpy moduleBrecht Van Lommel
* Use Python executable from lib folder since it's not installed. * Make bpy module test work for portable install. * Disable gtests which don't work with different Python link flags and shared library locations. Ref D15957
2022-09-15Cleanup: move Blender version parsing to make_utils.pyBrecht Van Lommel
Ref D15957
2022-09-15Fix T101065: wrong denoising depth after ray precision improvementsBrecht Van Lommel
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-15PyDoc: hide overly long titles from the side-barCampbell Barton
The side-bar included both title and description for documentation pages including quickstart, tips & tricks .. etc. Titles often wrapped and took up a lot of vertical space in the side-bar. Now these pages are linked on the main page, with the side-bar used for top-level Python modules.
2022-09-15Cleanup: spelling in comments, comment blocksCampbell Barton