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-02-21Curves: use paint cursor in curves sculpt modeJacques Lucke
Also adds radius and strength control to the tool settings in the ui.
2022-02-18Curves: add initial edit mode supportKévin Dietrich
This adds initial support for edit mode for the experimental new curves object. For now we can only toggle in and out of the mode, no real interraction is possible. This patch also adds empty menus in edit mode. Those were added mainly to quiet warnings as the menus are programmatically added to the edit mode based on the object type and context. Ref T95769 Reviewed By: JacquesLucke, HooglyBoogly Maniphest Tasks: T95769 Differential Revision: https://developer.blender.org/D14136
2022-02-16Cleanup: clang-format, use static sets, sort struct declarationsCampbell Barton
2022-02-15Curves: add initial sculpt modeJacques Lucke
This adds a new sculpt mode to the experimental new curves object. Currently, this mode can only be entered and exited, nothing else. The main initial purpose of this node will be to use it for hair grooming. The patch also adds the `editors/curves/` directory for the new curves object, which will be necessary for many other things as well. I added a completely new mode (`OB_MODE_SCULPT_CURVES`), because `OB_MODE_SCULPT` seems to be rather specific to meshes, and reusing it doesn't seem worth the trouble. The tools/brushes used in mesh vs. curves sculpt mode are quite distinct as well. I had to add DNA_userdef_enums.h to make the patch compile with C++ (forward declaration of enums isn't allowed). This follows the same pattern that we use for other enums in dna. Differential Revision: https://developer.blender.org/D14107
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-11Fix: Missing changes in recent "Curves" renameHans Goudey
More missing changes in fe1816f67fbc6aaf3. This will hopefully fix a Python API docs build error, and fixes the "Object Types Visibility" popover.
2022-02-07Curves: Rename "Hair" types, variables, and functions to "Curves"Hans Goudey
Based on discussions from T95355 and T94193, the plan is to use the name "Curves" to describe the data-block container for multiple curves. Eventually this will replace the existing "Curve" data-block. However, it will be a while before the curve data-block can be replaced so in order to distinguish the two curve types in the UI, "Hair Curves" will be used, but eventually changed back to "Curves". This patch renames "hair-related" files, functions, types, and variable names to this convention. A deep rename is preferred to keep code consistent and to avoid any "hair" terminology from leaking, since the new data-block is meant for all curve types, not just hair use cases. The downside of this naming is that the difference between "Curve" and "Curves" has become important. That was considered during design discussons and deemed acceptable, especially given the non-permanent nature of the somewhat common conflict. Some points of interest: - All DNA compatibility is lost, just like rBf59767ff9729. - I renamed `ID_HA` to `ID_CV` so there is no complete mismatch. - `hair_curves` is used where necessary to distinguish from the existing "curves" plural. - I didn't rename any of the cycles/rendering code function names, since that is also used by the old hair particle system. Differential Revision: https://developer.blender.org/D14007
2022-02-02Remove operators to manually convert proxies to liboverrides.Bastien Montagne
Now that proxy conversions if enforced, those operations are not useful anymore. Part of T91671.
2022-01-20Subdivision: add support for vertex creasingKévin Dietrich
This adds vertex creasing support for OpenSubDiv for modeling, rendering, Alembic and USD I/O. For modeling, vertex creasing follows the edge creasing implementation with an operator accessible through the Vertex menu in Edit Mode, and some parameter in the properties panel. The option in the Subsurf and Multires to use edge creasing also affects vertex creasing. The vertex crease data is stored as a CustomData layer, unlike edge creases which for now are stored in `MEdge`, but will in the future also be moved to a `CustomData` layer. See comments for details on the difference in behavior for the `CD_CREASE` layer between egdes and vertices. For Cycles this adds sockets on the Mesh node to hold data about which vertices are creased (one socket for the indices, one for the weigths). Viewport rendering of vertex creasing reuses the same color scheme as for edges and creased vertices are drawn bigger than uncreased vertices. For Alembic and USD, vertex crease support follows the edge crease implementation, they are always read, but only exported if a `Subsurf` modifier is present on the Mesh. Reviewed By: brecht, fclem, sergey, sybren, campbellbarton Differential Revision: https://developer.blender.org/D10145
2022-01-07Cleanup: use static sets for comparison, quiet unused arg warningsCampbell Barton
2022-01-06Bone Overlay: support changing bone wireframe opacity.Alexander Gavrilov
When weight painting the bone overlay is extremely intrusive, effectively requiring either extensive use of hiding individual bones, or disabling the whole bone overlay between selections. This addresses the issue by adding a bone opacity slider that is used for the 'wireframe' armature drawing mode. It directly controls the uniform opacity as a straightforward option. Differential Revision: https://developer.blender.org/D11804
2021-11-09UI: use plural form of "Gizmo" in Gizmo display menusAaron Carlisle
Because the menus list several gizmo visibility settings it makes grammatical sense that the panel name is plural. This also matches the "Overlays" menu.
2021-10-263D View, Objects menu: Always show Assets sub-menuSybren A. Stüvel
Now that object assets are no longer considered experimental, the Assets submenu can always be shown (regardless of the Extended Asset Browser experimental feature).
2021-10-26Add Assets menu to 3D View's Object menuSybren A. Stüvel
In the 3D Viewport, add an "Assets" submenu to the Objects menu, for the same operators as available in the outliner: Mark as Asset, Clear Asset, Clear Asset (Set Fake User). Since object assets are still considered experimental, the menu is only shown when the Extended Asset Browser experimental feature is enabled.
2021-10-20Cleanup: trailing space, use single quotes for enumsCampbell Barton
2021-10-18Animation: Motion Paths Refresh AllJan-Willem van Dronkelaar
Adds a button, Update All Paths, to the Motion Paths property tabs and will always show. The operator goes through all visible objects and updates their motion paths. The current implementation has a subtle functional change. Calculating or updating motion paths for armature objects (through the Object tab, not Armature tab) now also updates the paths for its bones. We could preserve the old behavior but it doesn't seem necessary. It seems more likely that the animator wants to update both anyways. Reviewed by: sybren Maniphest Tasks: T83068 Differential Revision: https://developer.blender.org/D11667
2021-10-18Cleanup: use depends-on-cursor for "Object Transfer Mode" operatorCampbell Barton
Replace modal operator with the OPTYPE_DEPENDS_ON_CURSOR flag. This has the advantage of showing the shortcut in the menu.
2021-10-04Cleanup: `Neighbour` -> `Neighbor`. and other minor UI messages fixes.Bastien Montagne
Blender English should use 'American' variants, not 'British' variants.
2021-09-29UI: swap tool and regular headerCampbell Barton
Swap the tool-header and header order so the tool-header so the header is always next to the window edge. Note that files saved in 3.0 will have overlapping headers when opened in any version of Blender before this commit. Reviewed By: Severin, fsiddi Maniphest Tasks: T91536 Ref D12631
2021-09-24LibOverride: deprecate Proxies: Remove 'Make Proxy' operator.Bastien Montagne
2021-09-22Animation: Pose Slide Operator - Blend to NeighbourChristoph Lendenfeld
Adds a new operator to the pose slider tools that blends the current pose with the neighbouring poses in the timeline. The operator can be called in pose mode with Shift+Alt+E or from the "pose" menu under "In betweens/Blend to Neighbour" Reviewed by: Sybren A. Stüvel Differential Revision: https://developer.blender.org/D9137#inline-105214 Ref: D9137
2021-09-17UI: expose "Lasso Select" & "Extrude to Cursor" in menusCampbell Barton
- Show "Lasso Select" in menus (along with Box & Circle select) - Show "Extrude to Cursor" (along with other extrude actions). - Rename operators that add/extrude on Ctrl-Click since their names were inconsistent. This is mainly for discoverability.
2021-08-08GPencil: New Select Random operatorAntonio Vazquez
Select strokes or points randomly (similar to meshes). Reviewed By: pepeland Differential Revision: https://developer.blender.org/D12157
2021-08-04Viewport normal drawing with constant lengthJeroen Bakker
Patch for: T37878 {F10169694} Reviewed By: fclem Differential Revision: https://developer.blender.org/D11487
2021-07-09Make Single User: support object data animationPhilipp Oeser
In addition to _object_ animation, now _object data_ (mesh, curve, ...) animation can now be made single user as well. This came up in T89369 and while it is possible to do this via the Outliner [where all actions have to be selected individually], this seems to be more convenient to be done from the 3DView. note: usercount of the action is checked now, if it single-user already, no copy takes place (same thing could/should be done for single_object_action_users as well). note2: obdata is made single user as well (otherwise duplicated actions will be assigned to the same shared obdata - which does not result in unique animadata which is what we are after here) ref. T89369 Maniphest Tasks: T89369 Differential Revision: https://developer.blender.org/D11683
2021-07-06Cleanup: pep8Campbell Barton
2021-06-23Fix T88808: Set Origin missing from Text object in 2.93Pratik Borhade
Fix T88808. Caused by {rB5f2c5e5bb8c15bf0d6679351e3482f9c38c00935} object type for `TEXT object` was missing in following check that's why `Set Origin` option was lost from object context menu. Reviewed By: lichtwerk Maniphest Tasks: T88808 Differential Revision: https://developer.blender.org/D11495
2021-06-22Fix error in context menu when built without freestyleCampbell Barton
2021-06-22Cleanup: remove unused menu VIEW3D_MT_edit_mesh_edges_dataCampbell Barton
8aa17c5b12d734332c0af62a110524c4e523fb64 missed removing the menu definition when removing from the UI.
2021-06-15Cleanup: unused argument & variable warningsCampbell Barton
2021-06-11Overlays: Make flash on mode transfer an operator propertyPablo Dobarro
This moves the flash on mode transfer effect option from the overlays to an operator property of the mode transfer operator. - This effect is intended to show the target object when no overlays or a minimal set of overlays is enabled. Making it part of the whole set of overlays invalidates this use case. - The effect is not intended to be configurable per viewport, it should be a global option. The effect is still implemented using the overlay engine (instead of a draw modal callback) due to performance and drawing artifacts. Having it implemented as an overlay with runtime timer data in the objects makes also possible to run multiple animations at the same time without any visual glitches. Reviewed By: campbellbarton, JulienKaspar Differential Revision: https://developer.blender.org/D11519
2021-06-08PyAPI: use keyword only argumentsCampbell Barton
Use keyword only arguments for the following functions. - addon_utils.module_bl_info 2nd arg `info_basis`. - addon_utils.modules 1st `module_cache`, 2nd arg `refresh`. - addon_utils.modules_refresh 1st arg `module_cache`. - bl_app_template_utils.activate 1nd arg `template_id`. - bl_app_template_utils.import_from_id 2nd arg `ignore_not_found`. - bl_app_template_utils.import_from_path 2nd arg `ignore_not_found`. - bl_keymap_utils.keymap_from_toolbar.generate 2nd & 3rd args `use_fallback_keys` & `use_reset`. - bl_keymap_utils.platform_helpers.keyconfig_data_oskey_from_ctrl 2nd arg `filter_fn`. - bl_ui_utils.bug_report_url.url_prefill_from_blender 1st arg `addon_info`. - bmesh.types.BMFace.copy 1st & 2nd args `verts`, `edges`. - bmesh.types.BMesh.calc_volume 1st arg `signed`. - bmesh.types.BMesh.from_mesh 2nd..4th args `face_normals`, `use_shape_key`, `shape_key_index`. - bmesh.types.BMesh.from_object 3rd & 4th args `cage`, `face_normals`. - bmesh.types.BMesh.transform 2nd arg `filter`. - bmesh.types.BMesh.update_edit_mesh 2nd & 3rd args `loop_triangles`, `destructive`. - bmesh.types.{BMVertSeq,BMEdgeSeq,BMFaceSeq}.sort 1st & 2nd arg `key`, `reverse`. - bmesh.utils.face_split 4th..6th args `coords`, `use_exist`, `example`. - bpy.data.libraries.load 2nd..4th args `link`, `relative`, `assets_only`. - bpy.data.user_map 1st..3rd args `subset`, `key_types, `value_types`. - bpy.msgbus.subscribe_rna 5th arg `options`. - bpy.path.abspath 2nd & 3rd args `start` & `library`. - bpy.path.clean_name 2nd arg `replace`. - bpy.path.ensure_ext 3rd arg `case_sensitive`. - bpy.path.module_names 2nd arg `recursive`. - bpy.path.relpath 2nd arg `start`. - bpy.types.EditBone.transform 2nd & 3rd arg `scale`, `roll`. - bpy.types.Operator.as_keywords 1st arg `ignore`. - bpy.types.Struct.{keyframe_insert,keyframe_delete} 2nd..5th args `index`, `frame`, `group`, `options`. - bpy.types.WindowManager.popup_menu 2nd & 3rd arg `title`, `icon`. - bpy.types.WindowManager.popup_menu_pie 3rd & 4th arg `title`, `icon`. - bpy.utils.app_template_paths 1st arg `subdir`. - bpy.utils.app_template_paths 1st arg `subdir`. - bpy.utils.blend_paths 1st..3rd args `absolute`, `packed`, `local`. - bpy.utils.execfile 2nd arg `mod`. - bpy.utils.keyconfig_set 2nd arg `report`. - bpy.utils.load_scripts 1st & 2nd `reload_scripts` & `refresh_scripts`. - bpy.utils.preset_find 3rd & 4th args `display_name`, `ext`. - bpy.utils.resource_path 2nd & 3rd arg `major`, `minor`. - bpy.utils.script_paths 1st..4th args `subdir`, `user_pref`, `check_all`, `use_user`. - bpy.utils.smpte_from_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.smpte_from_seconds 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.system_resource 2nd arg `subdir`. - bpy.utils.time_from_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.time_to_frame 2nd & 3rd args `fps`, `fps_base`. - bpy.utils.units.to_string 4th..6th `precision`, `split_unit`, `compatible_unit`. - bpy.utils.units.to_value 4th arg `str_ref_unit`. - bpy.utils.user_resource 2nd & 3rd args `subdir`, `create` - bpy_extras.view3d_utils.location_3d_to_region_2d 4th arg `default`. - bpy_extras.view3d_utils.region_2d_to_origin_3d 4th arg `clamp`. - gpu.offscreen.unbind 1st arg `restore`. - gpu_extras.batch.batch_for_shader 4th arg `indices`. - gpu_extras.batch.presets.draw_circle_2d 4th arg `segments`. - gpu_extras.presets.draw_circle_2d 4th arg `segments`. - imbuf.types.ImBuf.resize 2nd arg `resize`. - imbuf.write 2nd arg `filepath`. - mathutils.kdtree.KDTree.find 2nd arg `filter`. - nodeitems_utils.NodeCategory 3rd & 4th arg `descriptions`, `items`. - nodeitems_utils.NodeItem 2nd..4th args `label`, `settings`, `poll`. - nodeitems_utils.NodeItemCustom 1st & 2nd arg `poll`, `draw`. - rna_prop_ui.draw 5th arg `use_edit`. - rna_prop_ui.rna_idprop_ui_get 2nd arg `create`. - rna_prop_ui.rna_idprop_ui_prop_clear 3rd arg `remove`. - rna_prop_ui.rna_idprop_ui_prop_get 3rd arg `create`. - rna_xml.xml2rna 2nd arg `root_rna`. - rna_xml.xml_file_write 4th arg `skip_typemap`.
2021-06-03Overlay: Flash on Mode Transfer overlayPablo Dobarro
This implements T87633 This overlay renders a flash animation on the target object when transfering the mode to it using the mode transfer operator. This provides visual feedback when switching between objects without extra overlays that affect the general color and lighting in the scene. Differences with the design task: - This uses just a fade out animation instead of a fade in/out animation. The code is ready for fade in/out, but as the rest of the overlays (face sets, masks...) change instantly without animation, having a fade in/out effect gives the impression that the object flashes twice (once for the face sets, twice for the peak alpha of the flash animation). - The rendering uses a flat color without fresnel for now, but this can be improved in the future to make it look more like the shader in the prototype. - Not enabled by default (can be enabled in the overlays panel), maybe the defaults can change for 3.0 to disable fade inactive and enable this instead. Reviewed By: jbakker, JulienKaspar Differential Revision: https://developer.blender.org/D11055
2021-06-02GPencil: New operator to Normalize strokesAntonio Vazquez
Sometimes is required to reset the thickness or the opacity of the strokes. Actually this was done using a modifier, but this operators solves this. Reviewed By: mendio, filedescriptor Maniphest Tasks: T87427 Differential Revision: https://developer.blender.org/D11453
2021-05-26GPencil: Bake GPencil object transforms into a new GPencil objectAntonio Vazquez
This operator is a common request of animators to convert the transformation (inluding modifiers) of one grease pencil object, into a new object, generating strokes. Reviewed By: pepeland Maniphest Tasks: T87424 Differential Revision: https://developer.blender.org/D11014
2021-05-18Add comment regarding Fade Inactive Geometry property in overlays popoverPablo Dobarro
Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D11249
2021-05-14GPencil: Refactor Append operatorsAntonio Vazquez
Now the operators work like other areas of Blender using the list of selected objects. Also, the name has been changed to: ```Layers: - Copy Layer to Selected - Copy All Layers to Selected Materials: - Copy Material to Selected - Copy All Materials to Selected``` Reviewed By: mendio, pablovazquez, pepeland Differential Revision: https://developer.blender.org/D11216
2021-05-07GPencil: New Append operatorsAntonio Vazquez
Now it's possible to append materials of one grease pencil object into another one. The operator allows active material or all materials. Also, the Layer Copy To Object has been renamed to Layer Append to Object to keep consistency and now allows to append all layers at once.
2021-05-06Fix T83398: Fade inactive geometry overlay option not visible depending on ↵Pablo Dobarro
the mode This option should always be available. Even if it does not affect the current object depending on its mode, it affects the rest of the geometry of the scene. The rest of the options also work this way. For example, a grease pencil object does not have face orientation, but the ovelay option is still there for the rest of the scene. Reviewed By: JulienKaspar, HooglyBoogly Maniphest Tasks: T83398 Differential Revision: https://developer.blender.org/D10215
2021-05-03Fix T87926: Transform menu has operators guaranteed to not pass poll in ↵Philipp Oeser
certain modes Reported for ops.transform.vertex_warp and ops.transform.vertex_random. Polling will check with ED_transverts_check_obedit, if we know it will fail e.g. for pose mode, we can do the same check in the UI already. Maniphest Tasks: T87926 Differential Revision: https://developer.blender.org/D11128
2021-04-13Object: Enable transfer mode functionality for switching objects in Sculpt ModePablo Dobarro
This implements the changes discussed in T87134 for including switch object funcionality in 2.93. This includes: - Remove the switch object operator experimental option - Remove the option for switching objects in Edit Mode. - Rename switch_object to transfer_mode. - Enable the operator only in sculpt mode. - Expose the operator in the Sculpt menu with an eyedropper modal option. On later releases, we could revisit enabling the operator in other mode and object types as well as its place in the UI. Reviewed By: JulienKaspar, JacquesLucke Differential Revision: https://developer.blender.org/D10953
2021-04-13Sculpt: Update menu entries for new Expand operatorPablo Dobarro
Sculpt menus were using the legacy expand operator. This updates all entries to use the new one. It does not make sense to use Expand from the menus as it relies on the brush cursor position, but now all Expand shortcuts are listed in the UI. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10952
2021-04-12UI: Use Consistent name for select mirrorAaron Carlisle
This commit cleans up the RNA names of select mirror operators so that they are all "Select mirror". This makes the select menu in edit/pose mode consistent regardless of object type. Differential Revision: https://developer.blender.org/D7356
2021-04-02Fix T84520: Make the different weight paint code paths exclusive to each otherSebastian Parborg
Before this change, you could have the new sculpt symmetry code and the older weight paint symmetry code active at the same time. This would lead to users easily trashing their weigh paint data if they were not careful when switching between modes. Now the specific weight paint symmetry code is an exclusive toggle so the user can't accidentally mirror strokes and vertex groups at the same time. This also paves the way of supporting Y and Z symmetry in the future for weight groups mirroring if we decide to add it in the future. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D10426
2021-03-23Cleanup: unused variables, importsCampbell Barton
2021-03-22GPencil: Move Automerge button position in topbarAntonio Vazquez
This helps to keep animation buttons grouped.
2021-03-17UI: Rename Init to Initialize Face Sets in menuPablo Dobarro
Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D10741
2021-03-16Grease Pencil: Add LineArt modifierYimingWu
This adds the LineArt grease pencil modifier. It takes objects or collections as input and generates various grease pencil lines from these objects with the help of the active scene camera. For example it can generate contour lines, intersection lines and crease lines to name a few. This is really useful as artists can then use 3D meshes to automatically generate grease pencil lines for characters, enviroments or other visualization purposes. These lines can then be baked and edited as regular grease pencil lines. Reviewed By: Sebastian Parborg, Antonio Vazquez, Matias Mendiola Differential Revision: http://developer.blender.org/D8758
2021-03-13GPencil: Remove word "Strokes" in menuAntonio Vazquez
This remove redundant word.
2021-03-12Sculpt: Mask Init operatorPablo Dobarro
This operator initializes mask values for the entire mesh. It supports different modes for initializing those values, and more will be added in the future. The initial version supports generating a random mask per vertex, Face Sets or loose parts. These masks are useful for introducing variations in the model using the filters (both shapes and colors). Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10679