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-06-06BLI: fix memory error when moving VArray_SpanJacques Lucke
The issue was that the new span still referenced data that was potentially stored in the old VArray_Span.
2022-06-06Fix Windows compiler errorAntonio Vazquez
This error was introduced in 176d7bcc2eb47b9820861037f90a7fb26de8c9a0 Fix provided by @deadpin
2022-06-06UI: offset scale gizmos instead of scaling their shapeCampbell Barton
Scaling handles while dragging could be distracting, especially at extreme values where handles could become large on-screen. Now all gizmos are shown while scaling. GIZMO_GT_arrow_3d now now support changing their length while being dragged as well as negative lengths.
2022-06-06Cleanup: quiet compiler warningCampbell Barton
2022-06-05Curves: Port bounding box node to the new curves typeHans Goudey
Avoid the conversion to and from the old type, which could be a substantial improvement in somce cases.
2022-06-05Cleanup: Remove unused BKE_spline.hh includesHans Goudey
2022-06-05Curves: Fix overallocation for curve attributes when deleting curvesHans Goudey
Curve attributes were allocated to the size of the point domain, which wouldn't cause bad behavior, just potentially worse performance.
2022-06-05Fix: incorrect operator warningJacques Lucke
2022-06-05Cleanup: Move wm_event_system.c to C++Hans Goudey
This allows the use of C++ data structures to simplify code and improve performance.
2022-06-05Geometry Nodes: Use fields for delete geometry inversionHans Goudey
The separate geometry and delete geometry nodes often invert the selection so that deleting elements from a geometry can be implemented as copying the opposite selection of elements. This should make the two nodes faster in some cases, since the generic versions of selection creation functions (i.e. from d3a1e9cbb92cca04e) are used instead of the single threaded code that was used for this node. The change also makes the deletion/separation code easier to understand because it doesn't have to pass around the inversion.
2022-06-05UI: align gizmo scale handles to both Y and Z axesCampbell Barton
This resolves a minor inconsistency displaying the scale gizmo handles since they're cubes it's noticeable when they're not axes aligned.
2022-06-05UI: show gizmo while transformingCampbell Barton
When interacting with translate/rotate/scale gizmo, show the gizmo while it's in use. There are some exceptions to this, as showing all scale gizmos while scaling causes the gizmos to become large & distracting so in this case only the gizmo being dragged is shown. Resolves T63743.
2022-06-05Cleanup: assign operator type flags in their initializationCampbell Barton
Some operators OR'ed the existing flags in a way that made it seem the value might already have some values set. Replace this with assignment as no flags are set and the convention with almost all operators is to write the value directly.
2022-06-05Cleanup: Use shorter variable nameHans Goudey
2022-06-05Cleanup: Comments and formatting in mesh extract headersHans Goudey
Also remove accidentally committed WIP commented code.
2022-06-05Curves: use uv coordinates to attach curves to meshJacques Lucke
This implements the new way to attach curves to a mesh surface using a uv map (based on the recent discussion in T95776). The curves data block now not only stores a reference to the surface object but also a name of a uv map on that object. Having a uv map is optional for most operations, but it will be required later for animation (when the curves are supposed to be deformed based on deformation of the surface). The "Empty Hair" operator in the Add menu sets the uv map name automatically if possible. It's possible to start working without a uv map and to attach the curves to a uv map later on. It's also possible to reattach the curves to a new uv map using the "Curves > Snap to Nearest Surface" operator in curves sculpt mode. Note, the implementation to do the reverse lookup from uv to a position on the surface is trivial and inefficient now. A more efficient data structure will be implemented separately soon. Differential Revision: https://developer.blender.org/D15125
2022-06-05Cleanup: Move remaining mesh draw code to C++Hans Goudey
After this commit, all mesh data extraction and drawing code is in C++, including headers, making it possible to use improved types for future performance improvements and simplifications. The only non-trivial changes are in `draw_cache_impl_mesh.cc`, where use of certain features and macros in C necessitated larger changes. Differential Revision: https://developer.blender.org/D15088
2022-06-05Fix compiling debug buildJacques Lucke
2022-06-04D15041: Sculpt: Elastic TransformPablo Dobarro
This implements transform modes for the transform tool and Elastic Transform. This mode uses the Kelvinlets from elastic deform to apply the transformation to the mesh, using the cursor radius to control the elasticity falloff. {F9269771} In order for this to work, the transform tool uses incremental mode when elastic transform is enabled. This allows to integrate the displacement of the Kelvinet in multiple steps. Review By: Sergey Sharbin & Daniel Bystedt & Julian Kaspar & Campbell Barton Differential Revision: https://developer.blender.org/D9653 Ref D15041
2022-06-04Cleanup: Use const for retrieved custom data layersHans Goudey
2022-06-04Cleanup: Use const, make formatHans Goudey
2022-06-04Mesh: Only check dirty normals flag of current domainHans Goudey
The code that checked whether vertex normals needed to be recalculated was checking the dirty tag for face normals and vertex normals, in an attempt at increased safety. However, those tags are always set together anyway. Only checking the vertex dirty tag allows potentially allocating or updating the normals on the two domains independently, which could allow further skipping of calculations in some cases.
2022-06-04Cleanup: Remove unnecessary struct keywordsHans Goudey
2022-06-03Fix T98580: image flip/invert/resize don't work on active UDIM tileBrecht Van Lommel
2022-06-03Sculpt: Fix zeroing of last position on stroke startJoseph Eagar
Fixes bug where clicking in empty space resets viewport pivot in rotate around active mode to zero.
2022-06-03Fix T98579: image save operators changing file path to absoluteBrecht Van Lommel
2022-06-03Fix new curve objects showing as UNKNOWN in the outlinerDalai Felinto
The fix is to unify with the name we had for the old Curves objects. That means that we will see them bothi (old and new curves) in the outliner (under two different categories but with different names). This is considered to be a temporary solution until we remove the old curve system entirely.
2022-06-03Merge remote-tracking branch 'origin/blender-v3.2-release'Kévin Dietrich
2022-06-03Fix T98571: corrupted face selection drawing with GPU subdivisionKévin Dietrich
Simple typo in rB55e3930b253e.
2022-06-03Cleanup: clang-formatRichard Antalik
2022-06-03Merge remote-tracking branch 'origin/blender-v3.2-release'Dalai Felinto
2022-06-03Spreadsheet Editor: Support int 8 attributeDalai Felinto
This was leading to some crashes and warnings such as: "Code marked as unreachable has been executed. Please report this as a bug." Differential Revision: https://developer.blender.org/D15116
2022-06-03Fix (unreported) important memory leak in Boolean modifier using a ↵Bastien Montagne
Collection operand and Fast mode. Code handling repetitive boolean operations when using several objects from a Collection would not handle result mesh properly, re-creating for each object without properly freeing it. Further more, existing code was effectively converting the BMesh to mesh twice, including a modification of the initial (input) mesh, which modifiers should never do! Removed the extra useless conversion, which also gives a small improvement in performances: With as simple of a scene as four objects (three operands in a collection, and the modified one) totalling 20k vertices/faces, this commit: * Avoids 2MB memory leak per evaluation (!). * Speeds up boolean evaluation by 5-10%. Found while investigating some production files of the Project Heist here at the Blender Studio.
2022-06-03Fix (unreported) invalid debug timing code in Boolean modifier code.Bastien Montagne
2022-06-03Cleanup: remove unused codeJacques Lucke
2022-06-03Curves: Add surface UV map name propertyHans Goudey
In the latest discussions about curves/hair mesh attachement information (T95776), it was decided to use UV coordinates to store where on the mesh each root is. For that, we have to specify which of the UV map attributes to use for UV lookups. This property isn't used yet, but it will be shortly when refactoring the attachement information in the add brush and the to particle system conversion. Differential Revision: https://developer.blender.org/D15115
2022-06-03Cleanup: deduplicate resampling curve after moving last pointJacques Lucke
2022-06-03Eevee/Workbench: store 8 bit image textures as half float for some color spacesBrecht Van Lommel
Same as in Cycles, this is needed for some color space conversions that don't compress well to byte sRGB, like for example Filmic sRGB. Ref T68926
2022-06-03Constraints: introduce wrapper functions to access target lists.Alexander Gavrilov
Instead of directly accessing constraint-specific callbacks in code all over blender, introduce two wrappers to retrieve and free the target list. This incidentally revealed a place within the Collada exporter in BCAnimationSampler.cpp that didn't clean up after retrieving the targets, resulting in a small memory leak. Fixing this should be the only functional change in this commit. This was split off from D9732. Differential Revision: https://developer.blender.org/D13844
2022-06-03Cycles: Fix rendering of packed UDIM tiles with different sizesSergey Sharybin
The packed image loader was not aware of the fact that UDIM tiles can be of a different size. Exposed Python API required to access this information. It has the same complexity as the "regular" packed files: in both cases the ImBuf will be acquired and released to access the information. While the current workflow of packing UDIMs is not very streamlined, it is still possible and is something what the studio is using here. Test file: {F13130516} Expected behavior achieved with this patch: a bigger checker board pattern in viewport render Actual behavior prior to this patch: either memory corruption, or wrong/black render result on the plane Differential Revision: https://developer.blender.org/D15111
2022-06-03Merge branch 'blender-v3.2-release'Philipp Oeser
2022-06-03Fix T98573: Rescaling Image by python wrongPhilipp Oeser
This did not refresh the Image editor, but more importantly this now appeared cropped (a regression from the partial image updater). Solved in the RNA function by: - calling BKE_image_partial_update_mark_full_update - sending appropriate notifier Maniphest Tasks: T98573 Differential Revision: https://developer.blender.org/D15110
2022-06-03Cleanup: remove dead codeJacques Lucke
2022-06-03Fix: Curves sculpt mode keymaps missing in preferencesHans Goudey
These changes make the curves sculpt mode keymap consistent with other modes. They now show up in the keymap, for potential editing of tool shortcuts, etc. I don't fully understand this system, but at least these changes should make it consistent. Differential Revision: https://developer.blender.org/D15112
2022-06-03Cleanup: deduplicate retrieving data from context in curves brushesJacques Lucke
2022-06-03Geometry Nodes: Show supported types in geo socket tooltipAngus Stanton
Show the supported geometry types returned by geometry node socket declarations in the socket inspection tooltip. Differential Revision: https://developer.blender.org/D14802
2022-06-03Fix T98459: vertex weight paste/copy inconsistentPhilipp Oeser
In the editmode sidebar, pasting a particular vertex's weight in a single group was not behaving the same as copying for all groups [in that the former dis not copy to unassigned vertices whereas the later did copy to unassigned vertices]. This behaves like this since the introduction in {rB70fd2320c8d2}, but there does not seem to be a good reason for this? Now make this consistent and use `BKE_defvert_copy_index` in both cases (instead of earlying out if unassigned, this will make sure this will also copy to unassigned). Maniphest Tasks: T98459 Differential Revision: https://developer.blender.org/D15062
2022-06-03Compositor: add pre/post/cancel handlers and background job infoPhilipp Oeser
Main motivation is from T54314 where there was no way to read from a Viewer image datablock after the compositor has run. The only solution there was to do a full rerender (which obviously takes much longer). Adding a handler avoids having to rerender. This uses new syntax from rBf4456a4d3c97 and also adds "COMPOSITE" as a job type that can be queried by `bpy.app.is_job_running`. NOTE: there is another issue when multiple viewers are used and these get active via RNA (compo execution is not triggered there yet -- unlike when a viewer is selected in the Editor -- this is an issue of `ED_node_set_active` vs. only `nodeSetActive`, but this will be tackled separately) Maniphest Tasks: T54314 Differential Revision: https://developer.blender.org/D15078
2022-06-03LineArt: Include minor fixes in branch that's missing in master.Yiming Wu
2022-06-03Cleanup: remove gizmo transform workaround which is no longer neededCampbell Barton
Now gizmos forward the original event to transform so assuming an LMB event is no longer needed.