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-10-11Realtime Compositor: Implement parallel reductionOmar Emara
This patch implements generic parallel reduction for the realtime compositor and implements the Levels operation as an example. This patch also introduces the notion of a "Compositor Algorithm", which is a reusable operation that can be used to construct other operations. Differential Revision: https://developer.blender.org/D16184 Reviewed By: Clement Foucault
2022-10-11GPencil: Fix unreported Close Stroke operator did not select new pointsAntonio Vazquez
When use the close stroke, the new created points were not addedd to the selection.
2022-10-11Sculpt: Fix T101694: Change operator for unhide face setsPratik Borhade
In 22c3db72ca2f `SHOW_ALL` has been removed from `face_set_change_visibility`. Instead `SCULPT_OT_reveal_all` is now used for unhiding all face sets. Reviewed By: Joseph Eagar & Julian Kaspar Differential Revision: https://developer.blender.org/D16199 Ref D16199
2022-10-11Cleanup: rename base_index to ob_index in knife logicCampbell Barton
This indexes the "objects" array, so rename 'b' and 'base_index' to 'ob_index'.
2022-10-11Fix T101741: GPencil Outline modifier removes unexpectedly strokesAntonio Vazquez
The stroke could be tagged before modifier and was removed due the tag. Now, the tag is reset before to avoid this problem.
2022-10-11Fix T101721: Knife project crashesCampbell Barton
The crash was caused by [0] however knife-project functionality has been incorrect since [1] which would loop over each edit-mode object and run the knife project function which operated on all edit-mode objects too. - Resolve the crash by postponing face-tessellation recalculation until the knife tool has cut all objects - Objects occluding each other is now supported (an old TODO and something that was never supported). [0]: 690ecaae208d5f72217c165621d0d036e4029e86 [1]: 6e77afe6ec7b6a73f218f1fef264758abcbc778a
2022-10-11GHOST/Wayland: correct the library path for libwayland-eglCampbell Barton
Systems without `libwayland-egl.so` (Fedora 37 beta) failed to start, as the name `libwayland-egl.so.0` wasn't correct.
2022-10-11Py Docs: Update to sphinx 5.2.3Aaron Carlisle
Notable change is the improvements made to search.
2022-10-11GHOST/Wayland: print all dynamic loading failure when using WaylandCampbell Barton
Previously only failure to dynamically load libdecor would report a warning. Now report failure to load all Wayland libraries. This was done because Wayland libraries (besides libdecor) are likely to be installed on systems running Wayland. However it makes it difficult to troubleshoot failure to load Wayland on systems with libdecor. Only silence Wayland dynamic loading warnings when Wayland isn't running.
2022-10-11Correct argument type for BKE_pbvh_node_get_bm_orco_data, formatCampbell Barton
2022-10-11Sculpt: Clean up Dyntopo's original triangle apiJoseph Eagar
Cleaned up Dyntopo original triangle API (which is deprecated): * BMVerts for original triangles are now stored. * BKE_pbvh_bmesh_update_topology now handles original triangle * data properly. * BKE_pbvh_bmesh_node_save_orig can now initialize the original coordinates from the current BMLogEntry. * Ray casting of original data now returns active vertex. Should fix various random crashes. Hopefully this will fix a number of bugs.
2022-10-11Sculpt: Fix T101674: Passing null to GPU_batch_elembuf_setJoseph Eagar
2022-10-10Sculpt: T101699: Face set change visibility crashes on no face setsJoseph Eagar
Cleaned up sculpt_face_sets_change_visibility_exec some more: * SCULPT_UNDO_HIDDEN is now pushed instead of SCULPT_UNDO_FACE_SETS (since face sets no longer encode visibility). * Added branches for if face sets do not exist. * Cleaned up independent if statements into a switch.
2022-10-10Sculpt: Fix T101729: Automasking crash in elastic deform brushJoseph Eagar
Was missing a call to SCULPT_automasking_node_update.
2022-10-10deps_builder: Add support for cve-bin-toolRay Molenkamp
This change adds support for intels cve-bin-tool [1] in the deps builder. This adds 2 new targets to the builder that do not build automatically but can be build on demand when required. `make cve_check` will output to the console. `make cve_check_html` will output a html file that can be shared with other people. Requirements: - A working installation of cve-bin-tool on the system Not required but higly recommended: - Obtaining a key from the nvd [2] to speed up the database download. you can pass the key to cmake using `-DCVE_CHECK_NVD_KEY=your_api_key` [1] https://github.com/intel/cve-bin-tool [2] https://nvd.nist.gov/developers/request-an-api-key Reviewed By: brecht Differential Revision: https://developer.blender.org/D16160
2022-10-10Fix building WITH_HEADLESSSebastian Parborg
An earlier commit removed the '#ifdef' check for the function call but not for the function declaration.
2022-10-10Cleanup: clang-formatLukas Stockner
2022-10-10Fix T101651: Cycles crashes when failing to initialize render deviceLukas Stockner
The issue here was that PathTraceWork was set up before checking if any error occurred, and it didn't account for the dummy device so it called a non-implemented function. This fix therefore avoids creating PathTraceWork for dummy devices and checks for device creation errors earlier in the process.
2022-10-10I18n: disambiguate message "World"Damien Picard
The confusion is about World as an ID type, and the World coordinates. Use no context for the latter, and either `BLT_I18NCONTEXT_ID_WORLD`, or other more fine-grained contexts when needed as part of enums for the former. The message from the custom HDRI installation operator cannot be disambiguated right now, because Python enums don't support contexts. Ref T43295 Reviewed By: mont29 Maniphest Tasks: T43295 Differential Revision: https://developer.blender.org/D16194
2022-10-10Cleanup: NLA transforms, simplify `recalcData_nla()`Thibault de Villèle
Refactor the `recalcData_nla()` function, which takes data from the transform system and updates NLA strips, such that the actual logic to change the strip is moved into its own function. This also moves some generic code (find prev/next strip) from that function to BKE. This is to make the code easier to adjust when different transform operations need to perform different modifications of the strip (i.e. to fix T101130). Manifest Task: T101130 Reviewed By: sybren Differential Revision: https://developer.blender.org/D16181
2022-10-10Cycles: oneAPI: Trigger compilation of used kernels onlyNikita Sirgienko
JIT compilation of oneAPI kernels now happens during load stage and proper message gets shown in the GUI during compilation. Also, this implementation skips kernels that aren't needed for the used scene, reducing overall (re)compilation time.
2022-10-10Fix missing view layer update when iterating a collection from Python.Alexander Gavrilov
The previous fix ignored the most fundamental access operation. Follow up to 4a60c4746ddf fixing 68589a31ebfb.
2022-10-10Node: Add blend modes to Mix node link drag searchCharlie Jolly
Allows searching for Mix blend modes e.g. Overlay when using link drag search Requested by @simonthommes in GN chat Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D16209
2022-10-10IO: support Presets in Alembic, Collada, OBJ, STL, USD importersAras Pranckevicius
The exporters already had Preset functionality, but the importers did not.
2022-10-10IO: remove BKE_layer_collection_resync_forbid & allowAras Pranckevicius
Part of T101073: after the view layer sync was made lazy (D15885), the BKE_layer_collection_resync_forbid and BKE_layer_collection_resync_allow in Alembic/USD/OBJ importers is no longer needed, as long as they do view layer dependent operations (selecting new objects) in a separate loop after creating all the objects. Verified that this does not regress import times for 26k objects OBJ scene (Blender 3.0 splash) and 250k objects USD scene (Moana).
2022-10-10I18n: disambiguate or extract a few messagesDamien Picard
Disambiguate: - "Active Only" (GPencil copy material and layer, add NLA modifier) - "Clip" (movie clip, image extension mode) - "Emission" (particles) - "New" (scene) - "Tracking" (movie clip) Extract: - "ViewLayer", the default view layer name when creating new scene Ref T43295 Reviewed By: mont29 Maniphest Tasks: T43295 Differential Revision: https://developer.blender.org/D16196
2022-10-10I18n: fix popup menus contextDamien Picard
When calling `wm.call_menu_pie` and `wm.call_menu`, the menu context was ignored when showing its name in the header or pie menu center. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D16195
2022-10-10EEVEE-Next: Fix surface deferred shader compilation in debug modeClément Foucault
2022-10-10GHOST/Wayland: warn when falling back to X11 because of missing libdecorCampbell Barton
X11 is used as a fallback when libdecor isn't found on the users system. Now print a warning when Blender falls back to X11 and a missing libdecor is the only reason wayland could not be used. Only print this warning when using Wayland so this warning doesn't show on X11 systems which have Wayland libraries installed. Addresses T101715.
2022-10-10Fix typos & co in UI messages.Bastien Montagne
2022-10-10OBJ: add global scale factor import settingAras Pranckevicius
Requested in D16095 proposal - also USD & Alembic have import scale option; OBJ has an export scale object but the import scale was not there for some reason.
2022-10-10UI: show the windowing environment in the "About" splashCampbell Barton
Show the windowing environment on non MS-Windows/Apple systems, since X11/WAYLAND are selected startup there was no convenient way for users to know which back-end was being used. Include the windowing environment in the About splash & system-info.txt since it will be useful for handling bug reports. This commit adds a private API call not intended for general use as I would like to be able to remove this later and it's only needed in the specific case of testing if Blender is using WAYLAND or X11 (which maybe be used via XWayland). Python scripts can already inspect the system to check which windowing environment used, the API call is mainly useful for troubleshooting.
2022-10-10Cleanup: spelling in commentsCampbell Barton
2022-10-10Cleanup: quiet warnings, formatCampbell Barton
2022-10-10Partially fix T101702: OSL Shaders with boolean inputs crashLukas Stockner
OSL (like Cycles) has no internal boolean type, instead an integer input can be flagged to be shown as a boolean in the UI. Cycles reacts to this by creating a boolean socket on the Blender side, but as a result incorrectly called the boolean overload of the set function even though the internal type is an integer. There's another unrelated crash in the GPU viewport shader code that appears to apply to every OSL node that outputs a shader, and the file in T101702 triggers both, so this is only a partial fix for the report.
2022-10-09Fix T101685: OBJ importer does not assign proper material if "usemtl" is ↵Aras Pranckevicius
before "o" The importer logic was wrongly resetting "current material name" upon encountering a new object ("o" command). However as per OBJ specification, this is incorrect: > Specifies the material name for the element following it. Once a > material is assigned, it cannot be turned off; it can only be > changed. Fixes T101685. Test coverage for this was added in svn tests repo.
2022-10-09OBJ: extend importer tests to test imported material expectationsAras Pranckevicius
Previously "which material got assigned to an object in the end" was not covered by tests. This is preparation for fixing T101685.
2022-10-09Cleanup: Remove data duplication from large array in eevee_camera.hhJesse Yurkovich
Use `inline constexpr` instead of `static const` to prevent these variables from being duplicated in each translation unit that includes the eevee_camera.hh header (was included into 17 different object files with MSVC). Differential Revision: https://developer.blender.org/D16200
2022-10-08Set operator poll message when vertex group is lockedColin Basnett
Differential Revision: https://developer.blender.org/D16190
2022-10-08Attribute Node: support accessing attributes of View Layer and Scene.Alexander Gavrilov
The attribute node already allows accessing attributes associated with objects and meshes, which allows changing the behavior of the same material between different objects or instances. The same idea can be extended to an even more global level of layers and scenes. Currently view layers provide an option to replace all materials with a different one. However, since the same material will be applied to all objects in the layer, varying the behavior between layers while preserving distinct materials requires duplicating objects. Providing access to properties of layers and scenes via the attribute node enables making materials with built-in switches or settings that can be controlled globally at the view layer level. This is probably most useful for complex NPR shading and compositing. Like with objects, the node can also access built-in scene properties, like render resolution or FOV of the active camera. Lookup is also attempted in World, similar to how the Object mode checks the Mesh datablock. In Cycles this mode is implemented by replacing the attribute node with the attribute value during sync, allowing constant folding to take the values into account. This means however that materials that use this feature have to be re-synced upon any changes to scene, world or camera. The Eevee version uses a new uniform buffer containing a sorted array mapping name hashes to values, with binary search lookup. The array is limited to 512 entries, which is effectively limitless even considering it is shared by all materials in the scene; it is also just 16KB of memory so no point trying to optimize further. The buffer has to be rebuilt when new attributes are detected in a material, so the draw engine keeps a table of recently seen attribute names to minimize the chance of extra rebuilds mid-draw. Differential Revision: https://developer.blender.org/D15941
2022-10-08Cleanup: Use helper function for previous mesh loopHans Goudey
2022-10-08Cleanup: Fix outdated mesh data commentsHans Goudey
2022-10-08Linux: enable WAYLAND by defaultCampbell Barton
Enable the following CMake options: - WITH_GHOST_WAYLAND Enable Wayland which is now included as part the bundled dependencies. When the pre-compiled libraries aren't used, only X11 will be enabled. - WITH_GHOST_WAYLAND_DYNLOAD So systems without libwayland can fall back to X11. - WITH_GHOST_WAYLAND_LIBDECOR To draw window frames on WAYLAND compositors such as gnome-shell which expect client-side decorations (without this the Blender window is borderless). Unfortunately there doesn't seem to be a reliable way to know if the compositors handles server-side decorations, so libdecor is required for Wayland to be used even with KDE and tiling compositors where it's not needed. Although this is an area that could use some further investigation - possibly bundling libdecor or handling client-side decorations in Blender. The final part of D16091.
2022-10-08Build: show X11 & Wayland options on first runCampbell Barton
2022-10-08Mesh: Multithread some boolean domain interpolation logicIliya Katueshenock
This can improve performance by 3-10x in some simple test cases, when reading a boolean attribute on a different domain from the one it's stored on. Differential Revision: https://developer.blender.org/D16054
2022-10-08Viewport: Enable draw_debug.cc code when WITH_DRAW_DEBUG is onJoseph Eagar
2022-10-08Curve: Retain active NURBS curve after point deletionLaurynas Duburas
Before, the active spline index and the active point index were always cleared. Now the active index is only cleared when the curve/surface is deleted. This was accomplished by making the surface patch delete function handle that correctly. The spline deletion already handled it. This fixes only vertex deletion mode. Fixes problem mentioned in T101160. Differential Revision: https://developer.blender.org/D16133
2022-10-08Build: reference bundled wayland and libdecor headersCampbell Barton
When using pre-compiled libs, reference the bundled wayland headers, needed so the headers from the bundled wayland-scanner are compatible. Part of D16091.
2022-10-08Deps: add libdecor for Wayland window framesCampbell Barton
Include libdecor, note that this only bundles a header file as Blender dynamically loads on the system at run-time. Part of D16091.
2022-10-08Deps: harvest Wayland headers, build Wayland librariesCampbell Barton
The headers on centOS7 (Wayland 1.15) aren't compatible with the headers generated by wayland-scanner 1.20. Include the headers to support building Wayland on systems with older Wayland installed. Using these headers will be part of a separate commit. Part of D16091.