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-12-21Nodes: refactor node tree update handlingJacques Lucke
Goals of this refactor: * More unified approach to updating everything that needs to be updated after a change in a node tree. * The updates should happen in the correct order and quadratic or worse algorithms should be avoided. * Improve detection of changes to the output to avoid tagging the depsgraph when it's not necessary. * Move towards a more declarative style of defining nodes by having a more centralized update procedure. The refactor consists of two main parts: * Node tree tagging and update refactor. * Generally, when changes are done to a node tree, it is tagged dirty until a global update function is called that updates everything in the correct order. * The tagging is more fine-grained compared to before, to allow for more precise depsgraph update tagging. * Depsgraph changes. * The shading specific depsgraph node for node trees as been removed. * Instead, there is a new `NTREE_OUTPUT` depsgrap node, which is only tagged when the output of the node tree changed (e.g. the Group Output or Material Output node). * The copy-on-write relation from node trees to the data block they are embedded in is now non-flushing. This avoids e.g. triggering a material update after the shader node tree changed in unrelated ways. Instead the material has a flushing relation to the new `NTREE_OUTPUT` node now. * The depsgraph no longer reports data block changes through to cycles through `Depsgraph.updates` when only the node tree changed in ways that do not affect the output. Avoiding unnecessary updates seems to work well for geometry nodes and cycles. The situation is a bit worse when there are drivers on the node tree, but that could potentially be improved separately in the future. Avoiding updates in eevee and the compositor is more tricky, but also less urgent. * Eevee updates are triggered by calling `DRW_notify_view_update` in `ED_render_view3d_update` indirectly from `DEG_editors_update`. * Compositor updates are triggered by `ED_node_composite_job` in `node_area_refresh`. This is triggered by calling `ED_area_tag_refresh` in `node_area_listener`. Removing updates always has the risk of breaking some dependency that no one was aware of. It's not unlikely that this will happen here as well. Adding back missing updates should be quite a bit easier than getting rid of unnecessary updates though. Differential Revision: https://developer.blender.org/D13246
2021-12-08Cleanup: move public doc-strings into headers for 'editors'Campbell Barton
Ref T92709
2021-10-19Fix image cache margin calculationCampbell Barton
This margin was inconsistently calculated: only taking the visible region and interface scale into account in some cases.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
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-14Edit Mesh: use params arg for update function, add calc_normals argCampbell Barton
Rename function EDBM_update_generic to EDBM_update, use a parameters argument for better readability. Also add calc_normals argument, which will have benefits when calculating normals and tessellation together is optimized.
2021-05-27Fix T88625: Multiobject UV hiding/unhiding does not work with UV_SYNC_SELECTIONPhilipp Oeser
Oversight in {rB470f17f21c06}. Hiding was only done for the first mesh, then the operator finished (in case of UV_SYNC_SELECTION). Now just continue to the next. Maniphest Tasks: T88625 Differential Revision: https://developer.blender.org/D11413
2021-01-09Cleanup: use bool arguments & variablesCampbell Barton
2021-01-09Fix UV selection threshold which ignored image aspect and zoom levelCampbell Barton
Selecting UVs wasn't properly scaling based on the zoom or image aspect. This now matches vertex selection in the 3D view.
2020-12-11UI: Consistent Range DescriptionsYevgeny Makarov
Unifying range descriptions as a value 'to' a value. Differential Revision: https://developer.blender.org/D9771 Reviewed by Julian Eisel
2020-10-07UI: Fix capitalization in various placesYevgeny Makarov
Follow the MLA style, agreed upon in T79589. This means "from" within UI labels should be lowercase. Differential Revision: https://developer.blender.org/D8345
2020-08-11Merge branch 'blender-v2.90-release' into masterCampbell Barton
2020-08-11BMesh: add UV calculate center callCampbell Barton
Move uv_poly_center to BM_face_uv_calc_center_median as it was only defined in uvedit_intern.h
2020-08-04Merge branch 'blender-v2.90-release'Bastien Montagne
Conflicts: source/blender/editors/gpencil/gpencil_primitive.c
2020-08-04Cleanup: typos & co in UI messages (and some other places).Bastien Montagne
2020-07-26UV: port smart project from Python to CCampbell Barton
Use C for faster operation on high poly models, in my tests this gave ~27x speedup. D8311 by @andreasterrius with edits.
2020-07-21UV: remove selection threshold for nearby coordinatesCampbell Barton
Internally UV selection considered close UV's to be connected. While this could be convenient in some cases, it complicates logic for more advanced selection operations that need to check when UV's should be considered part of the same vertex since simple threshold checks would give different results depending on the order of UV's tested. Users must now run "Merge by Distance" instead of relying on this selection threshold.
2020-07-18UV: edge-ring selection supportCampbell Barton
Matches edit-mesh edge-ring selection.
2020-07-11UV: add path select operator that uses the selectionCampbell Barton
Instead of using the mouse cursor position, this selects between existing selected elements. Access this since picking a selection path doesn't work from the menu.
2020-07-10Fix UV rip failing to disable proportional edit-modeCampbell Barton
2020-07-09UV: path selection supportCampbell Barton
This adds support for path selection for vertex edge & face selection modes, matching mesh editing behavior, useful with the UV rip tool. Region select & edge tagging are currently not supported, although they could be added eventually.
2020-07-06UV: add rip toolCampbell Barton
New rip tool matching edit-mesh rip functionality. Useful as disconnecting UV's, especially for loops is inconvenient without this. This uses 'V' to rip, changing stitch to 'Alt-V'.
2020-07-03Cleanup: Editors/Space/UV-Edit, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/uv_edit` module. No functional changes.
2020-06-05Cleanup: remove unnecessary inline headerCampbell Barton
Caused by lsp/clang applying *fixes* automatically, tsk.
2020-06-04UV: use selection for 'Seams from Islands'Campbell Barton
Use bmesh connectivity data to simplify logic.
2020-05-22Merge branch 'blender-v2.83-release'Campbell Barton
2020-05-22UV: remove "UV Local View" for UV editingCampbell Barton
This feature was added when Blender used tex-face (per-face images), but doesn't make as much sense since this was removed. Removing this from UV edit-mode as this wasn't working in any of the 2.8x releases, causing UV's to be visible but unselectable. Resolves issue raised in T76958.
2020-05-04Cleanup: rename uv_sel_co_from_eve, pass in UV layer offsetCampbell Barton
2020-05-04Cleanup: replace UV_SELECT_ISLAND_LIMIT macro with a functionCampbell Barton
Also make return argument last for uvedit_pixel_to_float.
2020-05-04Cleanup: split selection operations into uvedit_select.cCampbell Barton
2020-04-28Fix T75993: Mark Seam from UV editor operates on unselected facesCampbell Barton
2020-04-23Cleanup: clang-format, unused warningCampbell Barton
2020-04-22Fix T75974: Multiobject editing UV hiding/unhiding does not workPhilipp Oeser
Seems like this was left out when UV operators were converted to multi- object-editing, ref T54645. Maniphest Tasks: T75974 Differential Revision: https://developer.blender.org/D7492
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-15Cleanup: redundant assignmentsCampbell Barton
2020-03-14Fix T67446: UV Editor: support island select mode for box/circle/lassoPhilipp Oeser
selections Previously this was only supported in single click selections, doing an island selection with box/circle/lasso would just select individual vertices instead. Now selects islands properly. This also unifys some logic between box/circle/lasso: - use early selection test from lasso [makes things faster] in box/ circle - circle wasnt checking visible face
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-06Cleanup: Rename ARegion variables from ar to regionJulian Eisel
The old convention was easy to confuse with ScrArea. Part of https://developer.blender.org/T74432. This is mostly a batch rename with some manual fixing. Only single word variable names are changed, no prefixed/suffixed names. Brecht van Lommel and Campbell Barton both gave me a green light for this convention change. Also ran clan clang format on affected files.
2020-02-05T73589: Code Quality: Renaming on BKE_material.hAntonio Vazquez
Old Name New Name ========= ========= init_def_material BKE_materials_init BKE_material_gpencil_default_free BKE_materials_exit test_object_materials BKE_object_materials_test test_all_objects_materials BKE_objects_materials_test_all give_matarar BKE_object_material_array give_totcolp BKE_object_material_num give_current_material_p BKE_object_material_get_p give_current_material BKE_object_material_get assign_material BKE_object_material_assign assign_matarar BKE_object_material_array_assign give_matarar_id BKE_id_material_array give_totcolp_id BKE_id_material_num assign_material_id BKE_id_material_assign clear_matcopybuf BKE_material_copybuf_clear free_matcopybuf BKE_material_copybuf_free copy_matcopybuf BKE_material_copybuf_copy paste_matcopybuf BKE_material_copybuf_paste BKE_material_init_gpencil_settings BKE_gpencil_material_attr_init BKE_material_add_gpencil BKE_gpencil_material_add BKE_material_gpencil_get BKE_gpencil_material BKE_material_gpencil_default_get BKE_gpencil_material_default BKE_material_gpencil_settings_get BKE_gpencil_material_settings
2020-01-09Fix UV gizmos poll failing with multiple objectsCampbell Barton
Only the active objects UV selection was checked. This also avoids checking UV selection for every poll call, now this is only done on refresh.
2020-01-09Gizmo: use pivot center for UV gizmosCampbell Barton
2020-01-07Edit Mesh: pass in Mesh instead of BMEditMesh to EDBM_update_genericCampbell Barton
This avoids a list lookup in Main (recently added), passing in a mesh instead of an edit-mesh, since the mesh links to the edit-mesh.
2020-01-07Fix T72499: UV Editor : Selection tools don't deselect when dragging on an ↵Philipp Oeser
empty space [face selection] If pre-deselecting takes place, then flushing was not happening ('changed' never became true because no new faces were being selected). This rectifies the logic. (also removed redundant double initialization to false) Maniphest Tasks: T72499 Differential Revision: https://developer.blender.org/D6459
2020-01-02Cleanup: quiet const warningsCampbell Barton
2019-12-19Fix T63407: 'Select linked' operator in UV editor is broken in when ↵Philipp Oeser
multi-object-editing contains an empty mesh Since BM_uv_vert_map_create would return NULL for an empty mesh, code would then return from uv_select_linked_multi [where it should just skip and continue instead...] Maniphest Tasks: T63407 Differential Revision: https://developer.blender.org/D6441
2019-11-27Fix T71864: Broken 'Select' > 'More' in face mode in UV EditorPhilipp Oeser
Caused by rBeead6a604602. Above commit didnt account for different element types being tagged (face select mode tagged faces, others tagged loops) and always flushed from loops. Now restore to flush from faces if we are in face select mode. Maniphest Tasks: T71864 Differential Revision: https://developer.blender.org/D6315
2019-10-01Image/Clip Space: Add view center to cursor operatorsCampbell Barton
D5932 by @a.monti with edits