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-10-11Cleanup: Remove unused spreadsheet geometry cache itemHans Goudey
2022-10-11Realtime Compositor: Implement variable size bokeh blurOmar Emara
This patch implements the variable size blur option in the Bokeh Blur node. The implementation is different from the CPU one in that it also takes the Bounding Box input into account, which is ignored for some reason for the CPU. Additionally, this implementation does not do the optimization where the search radius is limited relative to the maximum value in the size texture. That's because the cost of computing the maximum is not worth it for most use cases. The reference implementation does three unexpected things that are replicated here nonetheless. First, the center bokeh weight is always ignored and assumed to be 1. Second the size of the center pixel is taken into account. Third, a unidimensional distance is used instead of a 2D euclidean one. Those need to be considered independently. Differential Revision: https://developer.blender.org/D16185 Reviewed By: Clement Foucault
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-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-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-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-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-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-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-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-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-07Fix T101424: Empty group node added to node add searchHans Goudey
The group node type polls true, but adding an empty group node isn't useful, so just skip it.
2022-10-07FIX T101275: Regression in NLA causes Actions to be ignored by Context menu ↵Nate Rupsis
(I.e influence, etc) Reviewed By: sybren Differential Revision: http://developer.blender.org/D16154
2022-10-07Cleanup: Move editmesh_undo.c to C++Hans Goudey
To allow moving mesh runtime data to C++ (D16180).
2022-10-07GPencil: New Fill Extend lines adjust with MMBAntonio Vazquez
The actual length of extension lines can be adjusted using wheel mouse but this is very inconvenient for tablet users. Now, the extension can be adjusted using MMB of the pen. There was a similar request in Right-Click Select Reviewed By: Matias Mendiola, Daniel Martinez Lara Differential Revision: https://developer.blender.org/D16128
2022-10-07Cleanup: redundant parenthesisCampbell Barton
2022-10-07Cleanup: use function style casts for C++Campbell Barton
2022-10-07Cleanup: DRW: Rename ViewInfos to ViewMatricesClément Foucault
This makes sense now that the struct only contains matrices.
2022-10-07DRW: Remove mouse_pixel and is_inverted from ViewInfosClément Foucault
This is part of the effor to simplify the View struct in order to implement multiview rendering. `mouse_pixel` is only use for debug purpose and will be reintroduced later. `is_inverted` is moved to `draw::View`.
2022-10-07DRW: Remove viewport_size from DRWViewClément Foucault
This is part of the effor to simplify the View struct in order to implement multiview rendering.
2022-10-07EEVEE-Next: Use global viewport size instead of DRWView oneClément Foucault
This is part of the effor to simplify the View struct in order to implement multiview rendering.
2022-10-07GPencil: Use global viewport size instead of DRWView oneClément Foucault
This is part of the effor to simplify the View struct in order to implement multiview rendering.
2022-10-07Basic: Use global viewport size instead of DRWView oneClément Foucault
This is part of the effor to simplify the View struct in order to implement multiview rendering.