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-08-16LibOverride: Tweaks to new menus in Outliner.Bastien Montagne
Also add new outliner liboverride operators mapping to the manual, though this is useless currently as this feature is not working in many part of the UI, including the Outliner contextual menu.
2022-08-16Fix T100375: Renaming items from the outliner does not update the despgraph.Bastien Montagne
Only object renaming was properly depsgraph-tagged, now all IDs (and their sub-data like bones etc.) should be properly handled.
2022-08-16Fix T100421: OBJ importer in 3.3 does not keep the vertex orderAras Pranckevicius
While fixing T100302 (rBd76583cb4a1) I did not realize that the change in imported vertex order would actually matter. Turns out, it does for morph targets / mesh shape keys. So redo the fix in a way that does not change the vertex order. Fixes T100421.
2022-08-16Fix T100435: Use evaluated material for line art loading.YimingWu
Materials can be changed by other evaluations like geometry nodes, now handles that kind of situation.
2022-08-16Sculpt: Fix T100379: Anchored brush tags all nodes for updateJoseph Eagar
Node tagging needed to happen after the undo node's null check.
2022-08-15Fix T100106: Cycles poor playback performance with still image and auto refreshBrecht Van Lommel
The auto refresh option should be ignored in this case.
2022-08-15Fix T99255: Strips inserting incorrectlySebastian Parborg
When dropping file to sequencer timeline, coordinates for strip position and overlap handling are used even if not set. Reset internal state in on_drag_start callback and set is_modal variable only if coordinates are updated. This way when dragging file from external file browser, strip is added at current frame as before modal operator was implemented. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D15333
2022-08-15Fix T99955: Crash with 'Cache Result' and all render layers are disabledSergey Sharybin
Ensure render passes are allocated in the result prior to writing them. Alternative could be to not write empty passes, but that is kind of different from perspective of s one who reads the file. Differential Revision: https://developer.blender.org/D15692
2022-08-15Cleanup: make formatBrecht Van Lommel
2022-08-15Fix build error in libc_compat when using musl libcBrecht Van Lommel
Checking for the existence of and using __GLIBC_PREREQ can't be done in the same conditional. Contributed by listout. Differential Revision: https://developer.blender.org/D15690
2022-08-15Fix status bar keymap items during modal operationsDamien Picard
The status bar keymap items still don't get translated because the TIP_ translation introduced by rBe1974ae30e46 uses the wrong context: it uses the default context, while the extraction introduced in rB630b961f234e uses ID_WINDOWMANAGER. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15684
2022-08-15I18n: translate recent files and bookmarks in the file browserDamien Picard
This is not dynamic: it only happens when the dir is added to the list--automatically for recent files, and by the user for bookmarks. Entries can then be manually renamed like other dirs. They will keep the same name if the language is changed afterwards. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15629
2022-08-13Fix Cycles MetalRT compile errorBrecht Van Lommel
2022-08-13Fix T100354: Home key being the grave accent in french keyboard layoutGermano Cavalcante
I'm still not sure how the `0xFF` value came about, but it's not a valid virtual key code. Therefore it should not be used in `MapVirtualKey`.
2022-08-12Fix out of bounds read in LineArt if there are only interestion edgesSebastian Parborg
In this case the array allocation would allocate an array of size zero. This would then later lead to out of bounds memory reads. Now the code will skip zero length allocations.
2022-08-12Fix T100370: Depth choice for "Add Cube" tool always using SurfaceGermano Cavalcante
As the surface normal is calculated along with the coordinates, the surface depth was always being used when surface orientation was set. Therefore, even calculated, ignore the surface depth when it is not required. Also promote an optimization when neither orientation nor depth is required.
2022-08-12Py API doc: Add warning that py-defined property accessor callbacks may be ↵Bastien Montagne
called in threaded context. At least Depsgraph evaluation and liboverride diffing do process IDs in parallel, so python code in py-defined properties should not access any data outside of their owner ID. Ref. T100203.
2022-08-12Fix T100203: Freeze using `override_hierarchy_create` with Object level ↵Bastien Montagne
property with custom getter function. As suggested by @brecht, use the `BPy_BEGIN`/`END_ALLOW_THREADS` macros. Note that there may be other bits of code needing this too.
2022-08-12Fix syntax error introduced in previous commitPatrick Mours
2022-08-12Cycles: Improve denoiser update performance when rendering with multiple GPUsPatrick Mours
This patch causes the render buffers to be copied to the denoiser device only once before denoising and output/display is then fed from that single buffer on the denoiser device. That way usually all but one copy (from all the render devices to the denoiser device) can be eliminated, provided that the denoiser device is also the display device (in which case interop is used to update the display). As such this patch also adds some logic that tries to ensure the chosen denoiser device is the same as the display device. Differential Revision: https://developer.blender.org/D15657
2022-08-12Cleanup: unused debug variable.Bastien Montagne
2022-08-12Cleanup: leftover debug prints.Bastien Montagne
2022-08-12LibOverride: Rework Outliner contextual menu.Bastien Montagne
Follow-up to design discussions here at the studio, add liboverride operations into their own sub-menu, with three main entries: - Create: Create, or enable for user editing, override hierarchies. - Reset: Keep overrides data, but reset all local changes to the reference linked data values. - Clear: like reset, but also turn editable overrides back to system overrides (aka non user editable). Those three options can all operate either on the selected items, their content only, or both. Advanced operations are moved into a "Troubleshoot Hierarchy" sub-menu, where one can resync, resync enforced, and fully delete library overrides. Those operations always affect a whole override hierarchy, regardless of which items are selected or not.
2022-08-12Fix T100191: Crash with the wave modifier using normals in edit-modeCampbell Barton
2022-08-12Fix T100350: missing brush falloff preview in sculpt modeBrecht Van Lommel
2022-08-12Cleanup: Typos in comments.Bastien Montagne
2022-08-12Fix (unreported) infinite tie building Outliner liboverride hierarchy tree.Bastien Montagne
In complex scenes featuring thousands of connections between IDs in their liboverride hierarchies (e.g. Heist files), the time required to check if tree items were available (before allocated a new one) would become insanely long (O(n^2)). This commit brings it back to roughly a constant time, only re-checking the whole array for unused items once in a while (once every 10k times currently), since in almost all cases is the index after `lastused` value is not unused, and you have reached the end of the currently used array of items, you actually need to 'allocate' a new one anyway. It also improves the handling of `lastused` index, in particular in `tse_group_add_element`. This makes switching to the Outliner override hierarchy view in Heist scenes from virtually infinite time (more than 30mins for sure) to about 20 seconds on my machine. Still far from being effectively usable. Note that this is only a bandaid fix anyway, root of the issue is that this view has to deal with way too many items in its tree, current code is not designed for that. Either outliner has to improve its tree handling (by only building subsets of the whole tree maybe?), or we have to cull/filter out some of the ID relationships between overridden IDs to make this view actually usable. Maybe limit the depth of the tree?
2022-08-12Fix (unreported) crashes in Outliner override hierarchy view.Bastien Montagne
Fix wrong assumption that 'embedded' IDs are only ever used by their owners. This is especially not true with shape keys. Also small optimization by adding an eraly abort when both IDs are the same (i.e. an ID has a pointer to itself).
2022-08-12IDType `get_owner`: add an optional hint about owner ID.Bastien Montagne
In some cases, there is a chance code already knows who might be the owner of the given ID, in which case it can be more efficient to check it first (especially in cases like embedded node trees or scene collections, where the only other way is to loop over all possible owners currently). Will be used in next commit in some Outliner fix.
2022-08-12Fix T100138: Use `double` for LineArt intersection record.YimingWu
The use of `float` for intermediate intersection record led to some inaccuracy which caused flickering in intersection lines. Now fixed.
2022-08-12Fix T96885: Drag Fallback on Tweak is using Move insteadCampbell Barton
Since [0] (fix for T95591), the tweak tools fallback action used tweak instead of press. This was enabled so tools such as "Measure" & "Add Cube" could use fallback tools (otherwise is wasn't possible to add a new ruler without also selecting for e.g.), however this is of limited use since both tools support dragging anywhere to activate, making them less useful with other selection tools beside tweak (box/lasso for e.g.). Resolve by disabling the fallback option for tools where using the tweak tool to select is undesirable. Selection by clicking with "Measure" & "Add Cube" is still supported as this is also set in the 3D view's key-map. [0]: 0e51defcf42e1cb231d36da9ecc2cc0fbe6ae505
2022-08-11Fix T100130: animation player crash on exitBrecht Van Lommel
GPU_exit is now expected to run within an active GPU context. Also run BLF_exit and IMB_exit first they can use GPU resources and gave ASAN errors. And remove redundant GPU_shader_free_builtin_shaders already handled by GPU_exit.
2022-08-11Fix T98781: OBJ exporter wrongly writing default material socket values when ↵Aras Pranckevicius
textures are present Report T98781 and part of T97642: the MTLMaterial info only captures image nodes and the default socket values. When the image information is present, do not emit the socket defaults - the .MTL spec states they are multiplied together, but the default value is not used in blender when the socket is connected. Also contains svn tests repository update to extend the test coverage, and update test expectation outputs.
2022-08-11Fix T100204: RMB select (with "Select Tool") causes edit-mesh conflictCampbell Barton
When RMB select activated the selection tool, Alt-RMB would both tweak and loop-select. Fix/workaround this by passing though 'enumerate' unless the option can be used (when selecting objects or armatures).
2022-08-10obj: Also find .mtl images by their basename, if all else fails (T77801)Aras Pranckevicius
While T77801 itself is working as expected in the new C++ obj importer, the repro file there uses absolute paths to material images, yet the images themselves are right there in the current folder. The old python based importer did find them, since it was doing a really complex image search. My understanding is that while C++ importer was developed, it was decided to not do that -- however just the "basename file in the mtl directory" sounds simple enough and gets the repro case file work correctly.
2022-08-10Render: remove camera shift hard limitsBrecht Van Lommel
There is no need for these to be limited to -10..10, soft limits are enough. Contributed by fundorin. Differential Revision: https://developer.blender.org/D15650
2022-08-10Fix T100302: New OBJ importer produces too many vertices when faces don't ↵Aras Pranckevicius
span a continuous range As part of the previous fix (D15410), the importer got code to track min & max vertex indices used as part of the mesh faces. However, if faces refer to a "sparse" (i.e. non-contiguous) subset of all vertices, then the imported mesh would contain all the vertices between min & max range. Replace that with proper tracking of actually used vertex indices for each imported mesh. Fixes T100302. This does affect import performance a tiny bit, e.g. importing Blender 3.0 splash scene goes 21.7s -> 22.1s, and importing rungholt.obj goes 2.37s -> 2.48s. Importer related tests have a bunch of vertex changes in them, since now vertices are added in the order that the faces are referring to them. Which incidentally matches the order that the Python based importer was creating them too.
2022-08-10Fix T99963: Fallback actions are used in RCS on left clickCampbell Barton
Regression in [0]. Disable fallback tools for the 3D cursor so other shortcuts are available such as lasso-select. [0]: b0847eff2a29b0f2ba3263afc3f367011703df84
2022-08-10Update RNA to User manual mappingsAaron Carlisle
2022-08-10Fix T100308: Removing scene time node does not update relationsHans Goudey
Similar to the fix in 734c6a4405f21078270e71.
2022-08-10Fix T99661: Use after free converting edit mode curve object to meshHans Goudey
The fix from c0fdf16561034f85aadae8a was missing in one place. We don't want to free the edit mode pointers, those are just copied because the edit mode changes aren't present in the actual original data-block.
2022-08-09Cycles: improve ray tracing precision near triangle edgesBrecht Van Lommel
Detect cases where a ray-intersection would miss the current triangle, which if the intersection is strictly watertight, implies that a neighboring triangle would incorrectly be hit instead. When that is detected, apply a ray-offset. The idea being that we only want to introduce potential error from ray offsets if we really need to. This work for BVH2 and Embree, as we are able to match the ray-interesction bit-for-bit, though doing so for Embree requires ugly hacks. Tiny differences like fused-multiply-add or dot product intrinstics in matrix inversion and ray intersection needed to be matched exactly, so this is fragile. Unfortunately we're not able to do the same for OptiX or MetalRT, since those implementations are unknown (and possibly impossible to match as hardware instructions). Still artifacts are much reduced, though not eliminated. Ref T97259 Differential Revision: https://developer.blender.org/D15559
2022-08-09Cycles: make transform inverse match Embree exactlyBrecht Van Lommel
Helps improve ray-tracing precision. This is a bit complicated as it requires different implementation depending on the CPU architecture.
2022-08-09Cleanup: simplify CPU instruction checkingBrecht Van Lommel
The performance of this will be slightly more important for upcoming changes. Also removed an unused function and changed includes so these system.h can be included in more places.
2022-08-09Fix T99949: Crash when last input from File Output node is deletedSergey Sharybin
Regression since e4278b72bb1a. Need to check inputs exist prior to requesting first input as it might not exist.
2022-08-09Fix T100119: Cycles light object's parametric vector distortedSergey Sharybin
Caused by 38af5b050100. Adjust barycentric coordinates used for intersection result in the ray-to-rectangle intersection check. Differential Revision: https://developer.blender.org/D15592
2022-08-09Fix memory leak exporting to colladaCampbell Barton
2022-08-09I18n: make more parts of the UI translatableDamien Picard
- "Name collisions" label in mesh properties - "Threshold" labels in Vertex Weight Edit modifier - "Particle System" label in Particle Instance modifier - Slot number in the Shader Editor - Status bar keymap items during modal operations: add TIP_() macro to status bar interface template - On dumping messages, sort preset files so their messages are stable between runs Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15607
2022-08-09I18n: add extraction of modal event names.Bastien Montagne
Alternative fix to the one proposed in D15607. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15643
2022-08-09WM Modal Keymaps: Add accessors to modal event values.Bastien Montagne
It is currently impossible to access modal keymaps' event values (from `propvalue` enum) from python code (for API introspection). This is needed for i18n messages extraction (see D15607). Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D15643