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-04-25Cleanup: spelling in commentsCampbell Barton
2022-04-25Cleanup: add missing doxy sections in customdataCampbell Barton
2022-04-25VSE: Update first thumbnail when moving handleRichard Antalik
When handles are moved, job is created only for strips that need to update first thumbnail. ref T91618
2022-04-24Cleanup: remove special cases for getting internal span or singleJacques Lucke
Those are handled in the called function already.
2022-04-24BLI: prioritize detecting single values higher than detecting spansJacques Lucke
In some contexts, single values can be handled more efficiently than spans.
2022-04-24Cleanup: various minor changesCampbell Barton
- Add missing doxy-section for Apply Parent Inverse Operator - Use identity for None comparison in Python. - Remove newline from operator doc-strings. - Use '*' prefix multi-line C comment blocks. - Separate filenames from doc-strings. - Remove break after return.
2022-04-24Cleanup: clang-formatCampbell Barton
2022-04-24pyproject: remove settings that cause other uses of autopep8 to failCampbell Barton
While the ability to run `autopep8 .` to format Blender's Python code is handy, the settings to perform this can conflict with other uses of autopep8 (which editors may use to auto-format on save). Some arguments now need to be passed in, e.g: autopep8 . --in-place --recursive --jobs=0 We'll likely include this in `make format` convenience target so the details for invoking autopep8 shouldn't be an issue in the long term.
2022-04-23Mikktspace: Reduce number of data queries to callerLukas Stockner
The current code for computing tangents is not exactly fast. This has been a long-standing issue, and recently came up again with T97378. The main bottleneck is fetching the mesh data, since it's handled through a callback system and each vertex might have its data queried dozens of times. I've tried a lot of things to optimize `mikktspace.c`, but unfortunately most weren't that useful: - Vectorizing SVec3 gives a ~5% speedup, but I'm not sure if the additional ~70 lines of code are worth it - Keeping an internal copy of the data instead of re-querying all the time helps a lot (~50-60% time reduction), but requires a lot of extra memory (~100 byte per face) - Going C++ and replacing the internal quicksort with std::sort shows no difference - Restructuring the entire file to be a header-only library so that the callbacks can be inlined gives ~10% reduction, but is a major change and deviation from the original library In the end, two simple fixes that actually help remain: - Don't re-query the number of faces in each loop iteration - Don't bother looking for identical vertices if there's only one vertex with that hash With this, time for the test case in T97378 goes from 6.64sec to 4.92sec. It's something I guess. I feel like completely refactoring this library would not be a bad idea at some point, but for now it does the job... Differential Revision: https://developer.blender.org/D14675
2022-04-23Fix a failing bmesh_bevel test by fixing buffer overflow.Howard Trickey
The uv fix just submitted had a bug where I forgot to wrap around after adding 1. This apparently worked anyway in a debug build but not in release build, hence the buildbot tests were failing.
2022-04-23Bake: add UDIM tile baking supportBrecht Van Lommel
Works for both Cycles and multires bake. Triangles are baked to multiple UDIM images if they span across them, though such UV layouts are generally discouraged as there is no filtering across UDIM tiles. The bake margin currently only works within UDIM tiles. For the extend method this is logical, for the adjacent faces method it may be useful to support copying pixels from other UDIM tiles, though this seems somewhat complicated. Fixes T95190 Ref T72390
2022-04-23Fix deprecation warning when building with OpenVDB 9Brecht Van Lommel
Based on patch by Sebastian Parborg.
2022-04-22Fix T97453: Blender crash when selecting Caching checkbox in VSEJörg Müller
Merge Audaspace fixes from upstream.
2022-04-22Cleanup: Clang tidy, unused variable warningsHans Goudey
Also remove unnecessary uses of `struct` and add const in one place.
2022-04-22Cleanup: Remove unused variables, adjust commentsHans Goudey
2022-04-22Cycles: removed UV requirement for MNEE, along with fixes and cleanupsOlivier Maury
Remove need for shadow caustic caster geometry to have a UV layout. UVs were useful to maintain a consistent tangent frame across the surface while performing the walk. A consistent tangent frame is necessary for rough surfaces where a normal offset encodes the sampled h, which should point towards the same direction across the mesh. In order to get a continuous surface parametrization without UVs, the technique described in this paper was implemented: "The Natural-Constraint Representation of the Path Space for Efficient Light Transport Simulation" (Supplementary Material), SIGGRAPH 2014. In addition to implementing this feature: * Shadow caustic casters without smooth normals are now ignored (triggered some refactoring and cleaning). * Hit point calculation was refactored using existing utils functions, simplifying the code. * The max number of solver iterations was reduced to 32, a solution is usually found by then. * Added generalized geometry term clamping (transfer matrix calculation can sometimes get unstable). * Add stop condition to Newton solver for more consistent CPU and GPU result. * Add support for multi scatter GGX refraction. Fixes T96990, T96991 Ref T94120 Differential Revision: https://developer.blender.org/D14623
2022-04-22LibOverride: Add hierarchy creation from IDTemplate UI widget.Bastien Montagne
This is fairly tricky to perform, since there is often very limited contextual information available about the 'active' hierarchy to override. This commit is a first step, it is expected to handle decently well cases like objects and obdata (recreating necessary object and collection hierarchy, and/or hooking it to a potential existing hierarchy), at least in most common cases. Ref: {T95707}.
2022-04-22Fix: Build error on macOS after previous commitHans Goudey
2022-04-22Re-fix some comments in bmesh_bevel.c.Howard Trickey
The UV fix just committed had gotten out of sync with some changes that had been made inside some comments (spelling and folding).
2022-04-22Curves: Further split of curves draw code from particlesHans Goudey
Extends the changes started in f31c3f8114616bb to completely separate much of the DRW curves code from the particle hair drawing. In the short term this increases duplication, but the idea is to simplify development by making it easier to do larger changes to the new code, and the new system will replace the particle hair at some point. After this, only the shaders themselves are shared. Differential Revision: https://developer.blender.org/D14699
2022-04-22BMesh: Add additional attribute access macrosMartijn Versteegh
Add macros to get/set boolean attributes, to set float2/float3 attributes and to get float2/float3 attributes via pointer access. Needed for D14365 and further generic attribute integration. Differential Revision: https://developer.blender.org/D14708
2022-04-22Fix T56625: Bevel sometimes made zero area UV faces.Howard Trickey
This substantially redoes the logic by which bevel chooses, for the middle segment when there are an odd number of segments, which face to interpolate in, and which vertices to snap to which edges before doing that interpolation. It changes the UV layouts of a number of the regression tests, for the better. An example, in the reference bug, is a cube with all seams, unwrapped and then packed with some margin around them, now looks much better in UV space when there are an odd number of segments.
2022-04-22Fix T96498: Modifiers affect multiple curve objectsHans Goudey
The original mistake I made in b9febb54a492ac6c938 was thinking that the input curve object data to `BKE_displist_make_curveTypes` was already copied from the original. I think I misread some of its `ID` flags. This commit places the result of curves evaluation in a duplicated curve instead, and copies the edit mode pointers necessary for drawing overlays. `Curve` needs to know not to free those pointers. I still don't have a full understanding of why some of the tactics I've used work and others don't. I've probably tried around 8 different solutions at this point, and this is the best I came up with. The dependency graph seems to have some handling of edit mode pointers that make the edit mode overlays work if the evaluated result is only an empty curve created by the evaluated geometry set. This doesn't work with the current method and I need to set the edit mode pointers at the end of evaluation explicitly. We're constrained by the confusing duality of the old curves system combined with the new design using the evaluated geometry set. Older areas of Blender expect the evaluated `Curve` to be a copy of the original, even if it was replaced by some arbitrary evaluated mesh. Differential Revision: https://developer.blender.org/D14561
2022-04-22Fix (unreported): Placement Tool not orienting the Object to normalGermano Cavalcante
Regression introduced in {rB721335553ccb5ce4f7a374b958b7d65befa319df}. `plane_omat` is only computed if `snap_state->draw_plane` is `true`.
2022-04-22Fix: Assert failure with certain screw modifier settingsHans Goudey
Caused by a typo/mistake in rB6a3c3c77b3ebdbcd4455.
2022-04-22Fix various typos and other UI messages issues.Bastien Montagne
2022-04-22Fix T97429: Translateable Unit Names Missing in the File.Bastien Montagne
Added some regex magic in i18n py module to also extract UI names from all of our units definitions. Those enum values are fully dynamically generated, so they cannot be extracted from RNA introspection.
2022-04-22Change vertex paint icon color (fix)Ramil Roosileht
Apply standard green tool color to vertex paint tools, to keep icon color palette more consistent https://developer.blender.org/D14694
2022-04-22Fix Data Transfer Projected Face/Edge Interpolated mode is wrongPhilipp Oeser
Caused by {rBcfa53e0fbeed} Above commit mixed up source and destination meshes causing bad lookups on calculated normals. Now make sure we get normals from our destination mesh to project along. Note this was only reported for Projected Face Interpolated mode, but same was true for Projected Edge Interpolated mode (though that one is a bit weird to test since I think there is generally something wrong with that mode -- with or without rBcfa53e0fbeed). Fixes T97528 Maniphest Tasks: T97528 Differential Revision: https://developer.blender.org/D14726
2022-04-22Fix accessing attribute data in editmodePhilipp Oeser
When in mesh editmode, attributes point to bmesh customdata, the attribute data is empty since custom data is stored per element instead of a single array there (same es UVs etc.). Opposed to e.g. UVs, general attributes were not setting their data length/size to zero in case of editmode though, which could lead to - crash in Outliner Data Api view [that was reported in T95922] - RuntimeError such as the following: ``` RuntimeError: bpy_prop_collection[index]: internal error, valid index 0 given in 8 sized collection, but value not found ``` Now check for mesh editmode in `BKE_id_attribute_data_length` (and return zero in that case). Alternatively, the check could also be done in `rna_Attribute_data_length` only (such as UVs do in `rna_MeshUVLoopLayer_data_length`). Ref D11998 Fixes T95922 Maniphest Tasks: T95922 Differential Revision: https://developer.blender.org/D14714
2022-04-22Fix T97277: Tweak drag transforming is broken for masks (RMB select)Campbell Barton
Regression in 4d0f846b936c9101ecb76a6db962aac2d74a460a, passing selection through to drag relied on tweak events running even when the press event was handled which is not the case for drag.
2022-04-22Fix - Display correct units in "Edit voxel size" widgetRamil Roosileht
Fix for T84962 Before the patch, edit voxel size always displayed voxel size without units, just as a number in meters. Now it changes like in the voxel remesh panel and shows correct units Video: {F13009428} In adaptive mode: {F13009435} Reviewed By: JulienKaspar Maniphest Tasks: T84962 Differential Revision: https://developer.blender.org/D14682
2022-04-22Change viewport shading text from "Color" to "Attribute"Ramil Roosileht
This change from T97104 Reviewed By: JulienKaspar, jbakker Maniphest Tasks: T97104 Differential Revision: https://developer.blender.org/D14620
2022-04-22Reorder sculpt toolsRamil Roosileht
Changed tool order as proposed in [[ https://developer.blender.org/T97206 | T97206 ]] {F12987559} Reviewed By: JulienKaspar, jbakker Maniphest Tasks: T97206 Differential Revision: https://developer.blender.org/D14612
2022-04-22Fix: VSE channels region visible in previewRichard Antalik
Hide region for preview and sequencer/preview combined view.
2022-04-22pyproject: add configuration for autopep8Campbell Barton
This adds pyproject.toml, needed to configure defaults for autopep8. The file is auto-discovered in a similar way to .clang-format, other tools could be configured here too. For now just configure autopep8 so this can be enabled in IDE's without causing unexpected edits such as wrapping lines over 80 columns in width. Now autopep8 can be used from the root directory by running: autopep8 . This uses multiple-jobs to run autopep8 over all Python scripts except paths that are explicitly ignored in exclude defined by pyproject.toml. Reviewed By: mont29, brecht, sybren Ref D14686
2022-04-22Cleanup: spelling in commentsCampbell Barton
2022-04-22Cycles: enable AMD RDNA GPU support on LinuxBrecht Van Lommel
This enables building of HIP binaries for AMD RDNA and RDNA2 GPUs. This requires the 22.10 / ROCm 5.1 driver. Ref T91571 Differential Revision: https://developer.blender.org/D14360
2022-04-22Fix: VSE channels area has no backgroundRichard Antalik
Draw area background even when there is no sequencer data.
2022-04-21Fix: Use alphabetical order in geometry nodes add menuHans Goudey
2022-04-21Fix: Memory leak writing to builtin attribute from modifierHans Goudey
If the attribute already existed, but had a different domain or data type than the user tried to write to it with (i.e. writing to `position` with a float), then the data from field evaluation wasn't freed. This restructures the geometry nodes modifier attribute writing process to solve that problem and remove some of the nested if statements that made the process confusing. One case that still doesn't work is writing to a builtin attribute from a different domain. If `OutputAttribute` gets that feature then that could be supported here too. Differential Revision: https://developer.blender.org/D14706
2022-04-21Fix T97490: snap to multiple objects with linked data can crashGermano Cavalcante
The problem is old. rB52be06301257 (fixed by rB4b35d6950d4f) just masked it. `Object->data`, on evaluated objects, is not a safe pointer to get objects with the same `BMEditData`. Use `Object->runtime.data_orig` instead.
2022-04-21Cleanup: Remove unused argument to mesh modifier evaluationHans Goudey
2022-04-21gpu.types.GPUBatch: warn about deprecated primitive typesGermano Cavalcante
As `GPU_PRIM_LINE_LOOP` is not supported on Vulkan or Metal and `GPU_PRIM_TRI_FAN` is not supported on Metal, they will be removed in future releases. So it is important to inform users that they are obsolete and may not be supported for a long time. Release Notes: https://wiki.blender.org/wiki/Reference/Release_Notes/3.2/Python_API Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D14679
2022-04-21Cleanup: don't use allocation variables in OpenColorIO configBrecht Van Lommel
These are only needed for the legacy GPU renderer, which we don't use.
2022-04-21Color Management: add ACEScg to the default configurationBrecht Van Lommel
For more easily reading and writing ACEScg EXR files.
2022-04-21Fix T97502: Issues/crashes with "color_attributes" AttributeGroupPhilipp Oeser
Property collection functions were not really in sync which could result in crashes in UI_LISTS. The reason is that attributes of type color defined on domains other than Points or Corners are still valid, but should really be skipped for the special "color_attributes". `rna_AttributeGroup_color_length` itself was fine here, it skips these, but the iterator (`rna_AttributeGroup_color_iterator_begin` / `rna_Attributes_noncolor_layer_skip`) wasnt, so when a UI_LIST filter_items() would iterate the collection it would actually get results were it shouldnt. Now check a suiting domain in `rna_Attributes_noncolor_layer_skip` as well. Maniphest Tasks: T97502 Differential Revision: https://developer.blender.org/D14717
2022-04-21Geometry Nodes: better support for byte color attributesJacques Lucke
Since {rBeae36be372a6b16ee3e76eff0485a47da4f3c230} the distinction between float and byte colors is more explicit in the ui. So far, geometry nodes couldn't really deal with byte colors in general. This patch fixes that. There is still only one color socket, which contains float colors. Conversion to and from byte colors is done when read from or writing to attributes. * Support writing to byte color attributes in Store Named Attribute node. * Support converting to/from byte color in attribute conversion operator. * Support propagating byte color attributes. * Add all the implicit conversions from byte colors to the other types. * Display byte colors as integers in spreadsheet. Differential Revision: https://developer.blender.org/D14705
2022-04-21Nodes: raise exception when creating node group input/output failsJacques Lucke
Previously this would silently return `None`. Now the behavior is similar to when new sockets are added to a node.
2022-04-21install_deps: Update USD to 22.03.Bastien Montagne
Add back a patch wrongly removed by rBb9c37608a9e9, and add another fix, for gcc11 build support. Re {T95206}.