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
2020-09-18Unify all XYZ symmetry options using Mesh SymmetryPablo Dobarro
This adds XYZ symmetry as a property of meshes and updates all modes to use the mesh symmetry by default to have a consistent tool behavior between all modes and when switching objects. Reviewed By: brecht, mano-wii, campbellbarton Maniphest Tasks: T79785 Differential Revision: https://developer.blender.org/D8587
2020-09-18Object: Switch Object operatorPablo Dobarro
This object operator exits and frees the edit data of the current object and enters the same mode in another one in a single step, without going through object mode or keeping multiple edit object data active. It is assigned to the D key. This solves all conflicts that the right/click select keymap and the emulate 3 button mouse produces for this operation and it is independent of the state of Lock object modes. Also, as the SculptSession is freed, when using Multires objects go back to their preview resolution level, so it is possible to work on high vertex count scenes without slowing down the viewport and other performance problems. Reviewed By: #user_interface, pablovazquez Differential Revision: https://developer.blender.org/D7510
2020-09-18Sculpt: Render Mask and Face Sets with modifiers activePablo Dobarro
This removes the limitation of the sculpt overlays not being visible with modifiers active. Reviewed By: fclem Maniphest Tasks: T68900 Differential Revision: https://developer.blender.org/D8673
2020-09-18Overlay: Fade Inactive GeometryPablo Dobarro
This implements a new overlay that blends the bakground color over the objects that are not in the same mode as the active object, making them fade with the background. This is especially needed for sculpt mode as there is no other overlay or indication in the viewport to display which object is active. This is intended to be used with D7510 in order to have a faster workflow when sculpting models with multiple objects. Reviewed By: fclem Differential Revision: https://developer.blender.org/D8679
2020-09-18LookDev: Lock HDRI rotation to ViewPablo Dobarro
This adds an option for the HDRI rotation to follow the view rotation. When this option is enabled, this allows EEVEE materials to be used as matcaps for sculpting and painting. This has an extra performance cost when orbiting around the model as the lookdev cache needs to be recalculated, but in my test it is barely noticeable. Reviewed By: fclem Differential Revision: https://developer.blender.org/D8566
2020-09-18Sculpt: Scale Cloth FilterPablo Dobarro
This filter scales the mesh as it was a softbody, producing folds in the surface. The orientation of the folds can be controlled using the filter axis and orientation. This is an example of a cloth filter that uses deform coordinates instead of forces, but probably it does not make much sense to expose it to the user in a different way and with different parameters. I'll remove FilterCache->enabled_force_axis in a later commit and use always enabled_axis in SCULPT_filter_zero_disabled_axis_components for both forces and deformation filters, so this function can also be used in the mesh filter. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8661
2020-09-18Sculpt: Lower the default cloth deformation constraints strengthPablo Dobarro
The deformation constraints strength were too strong and they were preventing the cloth effects of the brushes with cloth deformation target to create folds properly. This lowers the default, making the simulation follow the deformation in a more relaxed way. I'll make a separate patch to expose this as a property for certain brushes and cloth deformers that may need higher values (like boundary with loop falloff on a low poly mesh), but I think this default will work better for most use cases. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8884
2020-09-18Revert "Fix T79523 Paint Cursor: Wide line not supported on OSX"Clément Foucault
This commit caused regression on some sculpt paint cursors. A better approach is being worked on. This reverts commit 6ade522f277fb74d4691973b7bb55840300043a2.
2020-09-18GPencil: Implement Holdout materialsAntonio Vazquez
This new feature allows to use the strokes as an eraser of any stroke below. This is very handy to open holes in filled areas. After running some tests, we have decided to keep the additive effect of the holdout color. To get clean holdout areas, just move the color to black to remove any additive effect. To have additive effect can be used in situations like tint slightly a transparent window with blue to simulate the glass. See T79878 for more details Differential Revision: https://developer.blender.org/D8932
2020-09-18Fix warning printed when duplicating markerJulian Eisel
Steps to reproduce were: * Create a marker in the timeline * With the mouse over the marker region, press Shift+D The function for moving markers was reused and had handling specific to tweak events. This is not relevant in case of duplicating markers.
2020-09-18UI: Correct superimposed icon interaction hotspotJulian Eisel
The hotspot was slighly too large, which could be apparent in cases where there are multiple superimposed icons.
2020-09-18Fix T80927: UV Edges Not Visible When Repeat Image ActiveJeroen Bakker
When repeat image was active the image was drawn in the foreground making most uv overlays not visible. This change creates a shared defined value for repeating and not repeating images.
2020-09-18Fix 80909: Switching to profile bevel can explode Curve geometryHans Goudey
We need to make sure the CurveProfile is initialized with the proper number of segments when switching to profile bevel mode.
2020-09-18Fix T80900: Crash lasso-selecting in particle editmode in certainPhilipp Oeser
situations In the situation that the PTCacheEdit is not available (e.g. when editing unbaked Cloth or Softbody caches - or, as in the report, being in Cloth or Softbody Editing Type for Hair particles), accesing the corresponding ParticleSystem or ParticleSystemModifierData would crash. Now access these later (after PE_start_edit had the chance to return early on this non-valid situation). Reviewers: JacquesLucke Maniphest Tasks: T80900 Differential Revision: https://developer.blender.org/D8941
2020-09-18Cleanup: remove unused navmesh codePhilipp Oeser
These were leftovers from the BGE removal. Differential Revision: https://developer.blender.org/D8862
2020-09-18Fix T80437: Auto IK Double Generates IK constraintsPhilipp Oeser
Caused by rB9a7f5f1bb422. If using Auto IK (or targetless IK and Auto IK together), two temporary constraints were added. - from pose_grab_with_ik_add (even for targetless IK) - from add_pose_transdata (even for Auto IK) Since both both do similar things, but cannot work in tandem (with possibly different chainlengths for example), we have to decide which type to prefer over the other (as in: do not create a constraint for the other). It seems better to ignore the 'Auto IK' option on bones that will have targetless IK set up for them specificallly [e.g. defining special chainlength]. This way you can still work with 'Auto IK' ON generally [with interactive chainlength control], but also have specific bones that need their own custom chainlength. For now, the most straightforward fix is to - only add constraints for Auto IK from pose_grab_with_ik_add() - only add constraints for targetless IK from add_pose_transdata() Note: this area has some potential for later refactoring: - move creation of all temporary constraints to a single place [preferably pose_grab_with_ik_add] - use only those temporary constraints in transform code [atm. we still flip CONSTRAINT_IK_AUTO around on the "original" -- unneccesarily, after rB9a7f5f1bb422 a dedicated temporary constraint is now always available] - clarify CONSTRAINT_IK_AUTO vs. CONSTRAINT_IK_TEMP - obeying standard rotation locks on bones in the chain (not just the the IK locks) is not consistent between targetless IK and Auto IK Potential candidate for 2.90.1 as well as 2.83 LTS Maniphest Tasks: T80437 Differential Revision: https://developer.blender.org/D8930
2020-09-18EEVEE: Fixed Compilation ErrorJeroen Bakker
Regression from {b248ec97769f}. A new parameter was introduced, but the stub shader macros still had the old number of parametes. This change adds a new dummy parameter to the stub macros.
2020-09-18Fix T80904: GPencil: bones cannot be transformed when in weightpaintPhilipp Oeser
mode The transform convert of type TC_POSE was not being defined if the mode was OB_MODE_WEIGHT_GPENCIL. Maniphest Tasks: T80904 Differential Revision: https://developer.blender.org/D8934
2020-09-18Fix T71383: Error setting the windows workspaces from PythonCampbell Barton
Assigning window variables relied on notifiers that always used the active window, no matter the window being assigned. Pass the current window to the notifier.
2020-09-18UV: select face loops when in face-select modeCampbell Barton
Match edit-mesh behavior.
2020-09-18Cleanup: remove unused global locks from BLI_threadsCampbell Barton
2020-09-18Fix T80885: Texture paint camera project crashes after undo/redoCampbell Barton
Unmatched ED_image_undo_push_{begin/end}, add doc-strings noting why this is needed. Thanks to @Baardaap for the initial fix.
2020-09-18UI: Refactor panel alignment functionHans Goudey
This code had grown overly complicated and hard to understand. The improvements in this commit: - Avoid allocating a duplicate of every active panel. - Instead of complicated logic to calculate each panel's offset, just keep track of the current offset while iterating through. - More readable code structure, better comments. Note that calcuting the X offset here is a relic from pre-2.5 when panels could be aligned horizontally. I kept this in, but it would be reasonable to remove it in the future.
2020-09-18Cleanup: Rename variables in panel alignment codeHans Goudey
This makes these variable names more consistent with current standards, mostly by not over-abbreviating already short words. The following commit will refactor this function.
2020-09-18Cleanup: change enum usage so types are explicitly listedCampbell Barton
Structure switch statements so new missing items cause warnings.
2020-09-18Cleanup: use 'UI_icon_*' prefix for icons APICampbell Barton
- UI_collection_color_icon_get -> UI_icon_color_from_collection - UI_idcode_icon_get -> UI_icon_from_idcode - UI_library_icon_get -> UI_icon_from_library - UI_mode_icon_get -> UI_icon_from_object_mode - UI_rnaptr_icon_get -> UI_icon_from_rnaptr - UI_alert_image -> UI_icon_alert_imbuf_get - UI_preview_render_size -> UI_icon_preview_to_render_size - UI_id_icon_render -> UI_icon_render_id
2020-09-18Fix T80771: Avoid changing the visibility of loose geometry when entering ↵Pablo Dobarro
Sculpt Mode When entering scultp mode the visibility from the Face Sets is copied to the base mesh. This steps was considering that if a vertex belongs to a face with a visibible Face Set ID, it should be visible. As loose geometry may not have any faces, those vertex were set to hidden. Now this function check if a vertex visibility should be modified by the face sets (by checking the loops), avoiding modifying the visibility of loose geometry unintentionally. Reviewed By: sergey Maniphest Tasks: T80771 Differential Revision: https://developer.blender.org/D8899
2020-09-18Fix Brushes with deformation target being affected by sim areasPablo Dobarro
Brushes that target the cloth simulation but are not the cloth brush affect the entire mesh, so they don't have simulation areas and falloff. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8885
2020-09-18Fix bad allocation in mask sculpt gesturesPablo Dobarro
Reviewed By: sergey Differential Revision: https://developer.blender.org/D8886
2020-09-17Pointclouds: support mesh <-> pointcloud in convert operatorPhilipp Oeser
Just converts verts to points and vice versa. Materials and Attribute layers are preserved (so for example if you set custom radii on the pointcloud, convert to mesh, then convert back to pointcloud, this will be preserved). Also not add a Radius layer by default (it is still added and filled when adding a pointcloud object from the menu), a global Radius property that will be used if there is no radius attribute can be added later. A Radius attribute can also be added in the pointcloud data properties (and filled via python). This will also add a new utility function that copies materials between datablocks: BKE_id_materials_copy ref T75717 Differential Revision: https://developer.blender.org/D7391
2020-09-17Cleanup: Correct commentsHans Goudey
2020-09-17Cleanup: Doxygen sectionsHans Goudey
2020-09-17Cleanup: remove unneeded check in uiTemplateConstraintHeaderPhilipp Oeser
Following rB7a0a60dde8b4, checking for temporary IK constraints in uiTemplateConstraintHeader is not needed anymore (since the whole panel will now be skipped earlier for those). Differential Revision: https://developer.blender.org/D8902
2020-09-17Fix T80131: Rigid Body World Field Weights dont have a proper RNA pathPhilipp Oeser
(e.g. cannot be animated) An RNA path is mandatory for RNA_path_from_ID_to_property, and for EffectorWeights, this has to be provided using RNA_def_struct_path_func (since this struct is shared across ParticleSettings, Modifiers and Rigid Body World). Without this, the animation system cannot work and e.g. keyframes cannot be inserted. The case for Rigid Body World in rna_EffectorWeight_path was missing, now added. Rigid Body World Field Weights are capable of being animated, tested with file from T80131 (e.g. gravity, wind). Maniphest Tasks: T80131 Differential Revision: https://developer.blender.org/D8713
2020-09-17Shaders: add emission strength input to Principled BSDF nodeAlex Strand
This impacts I/O add-ons. OBJ, FBX and Collada have been updated, glTF not yet. Differential Revision: https://developer.blender.org/D4971
2020-09-17Cleanup: Extract "draw_fcurve" as a separate functionHans Goudey
This is reasonable to do by itself, but it also enables drawing fcurves outside of this loop, which is useful for D7737.
2020-09-17Cleanup: Use "r_" prefix for return argumentsHans Goudey
2020-09-17Add versioning for 2.90 files that may have invalid meshGermano Cavalcante
rBf2d26409e83b fixed a serious problem with invalid mesh after an operation with the extrude manifold. Since BKE_mesh_validate_arrays is a slow operation, the chosen interval between versions is relatively small and also only the mentioned invalid mesh problem is tested. Differential Revision: https://developer.blender.org/D8898
2020-09-17Cleanup: reduce variable scopeJacques Lucke
2020-09-17Cleanup: Misplaced fullstop in commentSergey Sharybin
2020-09-17Fix error in fix for T66256, not clearing the exceptionCampbell Barton
2020-09-17Tests: bundle tests for some modules in their own executablesBrecht Van Lommel
The ffmpeg, guardedalloc and blenlib are quite isolated and putting them in their own executable separate from blender_test is faster for development than linking the entire blender_tests executable. For Cycles, this also bundles all the unit tests into one executable. Ref T79958 Differential Revision: https://developer.blender.org/D8714
2020-09-17CMake: clean up setting of platform specific linker flagsBrecht Van Lommel
Set flags directly on the target, and use common function for all cases. This refactoring helps with the next commit for test executables. Ref D8714
2020-09-17Fix: re-do versioning code for FCurve extremes and Collection colorsSybren A. Stüvel
Bump Blender subversion from 4 to 5, and re-execute some versioning code. Because of a mistake in the versioning code (corrected in rB1a4fc6dcd67b), some of the versioning code didn't run in certain cases. This subversion bump ensures that this code is still run.
2020-09-17Cleanup: remove deprecated PyEval_InitThreads useCampbell Barton
Deprecated in Python 3.7
2020-09-17Fix T66256: Context overrides crash when operators change contextCampbell Barton
Using context overrides in Python caused problems for any operator that changed the context and require these changes to be read back. CTX_wm_area_set() for e.g. would set the struct member but future calls to CTX_wm_area() would still return the value defined by Python callers context overrides. This also resolves a mismatch between polling and calling operators from Python, where poll would override the Python context where calling only overrode the context when a new context was passed in.
2020-09-17Cleanup: use doxy sections for blender.cCampbell Barton
2020-09-17Cleanup: use static assert to disable access to preferencesCampbell Barton
Prefer this over an unknown identifier as it gives a useful error.
2020-09-17Cleanup: Use enum instead of defines for panel runtime flagHans Goudey
Discovered an unused panel runtime flag as well, which this commit removes.
2020-09-17UI: only draw a single header in the header regionCampbell Barton
While this isn't an issue with the default configuration it's possible to register extra header types for a single region. In this case the first header-type to successfully poll is drawn without drawing other header types. This issue was raised by T60195.