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
2021-06-26Edit Mesh: optimize common use-cases for partial updatesCampbell Barton
Skip updating normals & tessellation for contiguous geometry regions for operations such as translate & uniform scale. This means when all geometry is selected, no updates are needed as the relative locations of vertices aren't being modified. Performance: As this is skipping a multi-threaded operation, larger improvements are noticeable on systems with fewer cores. - ~1.15x to ~1.3x overall gain for 32 cores. - ~1.7x to ~2.2x overall gain for 1 core (limited using `-t 1` argument). Details: - Rotate & non-uniform scale only skip tessellation. - Proportional editing and axis-mirror have special handling ensure geometry is properly grouped before considering a face part of a single group that can be skipped. - Loose vertices always need their normals to be recalculated since they're calculated based on the location. - Non-affine transform operations such as shrink-fatten & bend, don't take advantage of this optimization. - Snap projection also disables the optimization.
2021-06-26Cleanup: move snap with projection check into a functionCampbell Barton
2021-06-25Fixes a bug where the instances count in the spreadsheetFabian Schempp
editor dataset region always showed 0. This was caused by a conditional statement that needed a domain to be set, which is not the case for Instances component type. Reviewer: Hans Goudey (Hoogly Boogly) Differential Revision: https://developer.blender.org/D11710
2021-06-25UI: Improved File Browser Preview Image ScalingHarley Acheson
This patch enables sample filtering when scaling preview images in File Browser, improving the result a bit. Reduces blockiness and other artifacts when enlarging the images. see D11706 for details and examples. Differential Revision: https://developer.blender.org/D11706 Reviewed by Julian Eisel
2021-06-25Cleanup: make formatDalai Felinto
string.c still needs cleanup, but I will leave to the original author of the latest chagnes to do it since it needs some tags to skip formatting.
2021-06-25Fix T87185: value assigned to modal Scale does not work properlyCampbell Barton
`t->values` does not necessarily represent a final value of the transformation, as each mode treats this value differently. So, unfortunately, we cannot have a generic offset solution for modal transform operations. Offset needs to be handled by each mode. Note: Currently only, `Move`, `Rotate` and `Resize` support this.
2021-06-25Spreadsheet: Dataset region for spreadsheet editorFabian Schempp
This patch adds a left aligned sidebar to the spreadsheet editor. This Sidebar can be used to navigate the geometry component types and attribute domains. It also provides a quick overview of domain sizes. It replaces the two dropdowns in the regions header. Next step will be to add the domain cycling shortcut using the CTRL + mouse wheel. Reviewer: Dalai Felinto (dfelinto), Julian Eisel (Severin), Hans Goudey (HooglyBoogly). Differential Revision: https://developer.blender.org/D11046
2021-06-24Cleanup: compiler warnings with clangBrecht Van Lommel
* Mark either all or no class methods with override * Don't use zero sized array since it has a different size in C and C++. Using a little more memory here is not significant. * Don't use deprecated mechanism to mark private GSet members in clang just like we don't for MSVC, it warns even for simple zero initialization.
2021-06-24Fix T89129: file dialog displays in-progress Safari downloads as a folderLeon Zandman
In-progress Safari download files/packages are now recognized as bundles and therefore not treated as directories. Differential Revision: https://developer.blender.org/D11613
2021-06-24Depsgraph: support flushing parameters without a full COW updateCampbell Barton
Avoid computationally expensive copying operations when only some settings have been modified. This is done by adding support for updating parameters without tagging for copy-on-write. Currently only mesh data blocks are supported, other data-blocks can be added individually. This prepares for changing values such as edit-mesh auto-smooth angle in edit-mode without duplicating all mesh-data. The benefit will only be seen when the user interface no longer tags all ID's for copy on write updates. ID_RECALC_GEOMETRY_ALL_MODES has been added to support situations where non edit-mode geometry is modified in edit-mode. While this isn't something user are likely to do, Python scripts may change the underlying mesh. Reviewed By: sergey Ref D11377
2021-06-24Fix linking code after own recent commit.Bastien Montagne
More stupid mistake in recent enhanced reports for file load code, rB82c17082ba0e left some read-after-free situations.
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-24Cleanup: remove outdated/redundant commentsCampbell Barton
2021-06-23Voxel Remesher: Make smooth shading output automaticPablo Dobarro
Previously the smooth shading of the voxel remesher was controlled by a mesh property. With this change, the output will try to match the current shading of the object. This only takes into consideration the shading mode of the first polygon of the model, but it is probably what most users expect as it works as intended with the shade smooth/flat object mode options. Reviewed By: JulienKaspar, JacquesLucke Differential Revision: https://developer.blender.org/D11626
2021-06-23Fix T89221: Sculpt tools symmetry failing with non symmetrical meshesPablo Dobarro
SCULPT_nearest_vertex_get expects a distance, not a distance squared. This should make symmetry work as expected, but it still can fail if the mesh topology is not completely symmetrical. Reviewed By: JacquesLucke Maniphest Tasks: T89221 Differential Revision: https://developer.blender.org/D11642
2021-06-23Memfile Undo: aslo tag embedded IDs for update.Bastien Montagne
This is again in the fuzzy area of how embedded IDs are handled respectively by partial undo code and depsgraph... Should not be necessary currently, but better be safe and explicit, and also tag those embeded IDs from re-used owner ID.
2021-06-23Fix T89342: Select mirror with a zero length central edge assertsCampbell Barton
2021-06-23Fix T89367: Crash running edit-mesh select_linked_pick from PythonCampbell Barton
2021-06-23Revert "Revert "Enhanced stats/reports for blendfile reading.""Bastien Montagne
This reverts commit rB3a48147b8ab92, and fixes the issues with linking etc. Change compared to previous buggy commit (rBf8d219dfd4c31) is that new `BlendFileReadReports` reports are now passed to the lowest level function generating the `FileData` (`filedata_new()`), which ensures (and asserts) that all code using it does have a valid non-NULL pointer to a `BlendFileReadReport` data. Sorry for the noise, it's always when you think a change is trivial and do not test it well enough that you end up doing those kind of mistakes...
2021-06-23Fix T89265: Crash when tabbing through num inputsFalk David
Fix by reverting the part of ec30cf0b742f5181c4de91b474ca01d6a809c593 that assigned `but->editval` in `ui_numedit_begin_set_values`. Causing access freed memory when using tab to switch to a numeric input and then leaving the textbox by clicking outside. This was because `ui_numedit_begin_set_values` shouldn't need to set `but->editval` and overwrite the pointer. This would set a pointer that had previously been freed, causing a `NULL` check to fail later on. Ref D11679
2021-06-23Cleanup: reformat trailing comments that caused line wrappingCampbell Barton
2021-06-23Cleanup: compiler warning for invalid argument typeCampbell Barton
2021-06-22Transform: display units for proportional edit valueGermano Cavalcante
This fixes T88346. The code is also more readable by making a better distinction between the texts used for Distances, "Proportional Size" and "AutoIK-Len". And the text used to translate the "Proportional Size" is reused.
2021-06-22Cleanup: deduplicate code and rename variablesGermano Cavalcante
This makes it clearer that variables are strings and how they are used in the Move header code.
2021-06-22Cleanup: Spelling MistakesLeon Zandman
This patch fixes many minor spelling mistakes, all in comments or console output. Mostly contractions like can't, won't, don't, its/it's, etc. Differential Revision: https://developer.blender.org/D11663 Reviewed by Harley Acheson
2021-06-22Revert "Enhanced stats/reports for blendfile reading."Brecht Van Lommel
This change crashes library linking operators, related tests and probably more. This reverts commit f8d219dfd4c31a918e33cb715472d91a5cd3fd51. Ref D11583
2021-06-22Enhanced stats/reports for blendfile reading.Bastien Montagne
Add direct user feedback (as a warning report) to user when recursive resync of overrides was needed. And some timing (as CLOG logs) about main readfile process steps. This is essentially adding a new BlendFileReadReport structure that wraps BKE_reports list, and adds some extra info (some timing, some info about overrides and (recursive) resync, etc.).
2021-06-22Cleanup: deduplicate free codeGermano Cavalcante
It is more appropriate that `depths` is freed in `ED_view3d_depths_free`.
2021-06-22Fix T89347: Edit-mesh make planar faces doesn't update face normalsCampbell Barton
Invalid face normals were used for tessellation.
2021-06-22Fix T89345: Edit-mesh decimate doesn't update face normalsCampbell Barton
Invalid face normals were used for tessellation.
2021-06-22Cleanup: Use more clear visibility tag function nameSergey Sharybin
No functional changes. Just makes it clear this is not an immediate update, and will make an upcoming change more localized.
2021-06-22Cleanup: rename playhead in the UI and codeCampbell Barton
Current convention is not to use this term, use "current frame", and "timeline frame" in render.c as this is the argument passed in.
2021-06-223D View: adjust order of planes for occlusion checkCampbell Barton
Move far plane last since it's the least likely to intersect edges.
2021-06-22Fix bone select failing with end-points outside the viewCampbell Barton
Apply the same fix for T32214 (edge-select failing) to bones which also failed when their end-points were outside of the view. - Add V3D_PROJ_TEST_CLIP_CONTENT support for edit & pose bone iterator and use for selection operators. - Remove unnecessarily complicated checks with pose-mode lasso tagging. - Correct error in pose-mode LassoSelectUserData.is_changed (currently harmless as it's not read back).
2021-06-22Cleanup: use early return for selection callbacksCampbell Barton
2021-06-22Cleanup: spellingCampbell Barton
2021-06-21Refactor: Do not keep a copy of depth buffer in RegionView3DGermano Cavalcante
The depth cache (located in `RegionView3D::depths`) is used for quick and simple occlusion testing in: - particle selection, - "Draw Curve" operator and - "Interactive Light Track to Cursor" operator, However, keeping a texture buffer in cache is not a recommended practice. For displays with high resolution like 8k this represents something around 132MB. Also, currently, each call to `ED_view3d_depth_override` invalidates the depth cache. So that depth is never reused in multiple calls from an operator (this was not the case in blender 2.79). This commit allows to create a depth cache and release it in the same operator. Thus, the buffer is kept in cache for a short time, freeing up space. No functional changes.
2021-06-21Fix T89291: Objects with rotation deltas don't rotate in correct axesGermano Cavalcante
Quaternion correction was not implemented and Euler values were being incorrectly combined.
2021-06-21Fix T89306: GPencil selection doesn't work correctly with modifiersAntonio Vazquez
The problem was introduced with Bezier modification because the selection code was using the original stroke and not the evaluated version.
2021-06-21Cleanup: use doxy sections in view3d iteratorsCampbell Barton
2021-06-21Cleanup: variable naming in view3d_iteratorsCampbell Barton
Consistently use a/b instead of 0/1.
2021-06-21Fix T32214: Wireframe edge select fails with verts behind the viewCampbell Barton
This resolves a long standing bug in edge selection (picking, circle, box & lasso). Now when one of the edges vertices fails to project into screen space, the edge is clipped by the viewport to calculate an on-screen location that can be used instead. This isn't default as it may be important for the on the screen location not to be clipped by the viewport.
2021-06-21Cleanup: pass objects as const argumentsCampbell Barton
2021-06-21Cleanup: swap top/bottom args to planes_from_projmatCampbell Barton
X & Z were ordered min/max, where as Y was max/min.
2021-06-21Cleanup: use early return in view3d iterator callbacksCampbell Barton
2021-06-21Fix: Spreadsheet selection filter crash on non-mesh componentsHans Goudey
The spreadsheet filter tried to apply the mesh selection filter on non- mesh geometry components. Add a check for the component type, and also refactor the function to be more easily readable.
2021-06-20Cleanup: use eSpace_Type enum typeCampbell Barton
2021-06-20Cleanup: clang-formatCampbell Barton
2021-06-19Cleanup: use doxy sectionsCampbell Barton
2021-06-19Cleanup: clang-tidyCampbell Barton