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
2020-09-19Cleanup: consistent TODO/FIXME formatting for namesCampbell Barton
Following the most widely used convention for including todo's in the code, that is: `TODO(name):`, `FIXME(name)` ... etc.
2020-09-19Cleanup: spellingCampbell Barton
2020-09-19Fix T80880: Outliner colored hierarchy lines on objectsNathan Craddock
Expanded objects with children immediately after a colored collection would have the color applied to their hierarchy lines as well. The fix is to reset the collection color to `COLLECTION_COLOR_NONE` for each open subtree.
2020-09-19EEVEE: Fix Missing GGX multi-scattering on Glass BSDFClément Foucault
Oversight that should have been in rB6f3c279d9e70
2020-09-19EEVEE: Add support for GGX Multi-scatterClément Foucault
Based on http://jcgt.org/published/0008/01/03/ This is a simple trick that does *not* have a huge performance impact but does work pretty well. It just modifies the Fresnel term to account for the multibounce energy loss (coloration). However this makes the shader variations count double. To avoid this we use a uniform and pass the multiscatter use flag inside the sign of f90. This is a bit hacky but avoids many code duplication. This uses the simplification proposed by McAuley in A Journey Through Implementing Multiscattering BRDFs and Area Lights This does not handle area light differently than the IBL case but that's already an issue in current implementation. This is related to T68460. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8912
2020-09-19Fix T79557 EEVEE: Normalize in vector math node is not null vector safeClément Foucault
This add basic null safe handling for this operation.
2020-09-19Property Search: Don't set expansion for panels in inactive tabsHans Goudey
The search should check if a panel is active before changing its expansion, otherwise it sets the expansion for all of the region's panels, even invisible ones in other tabs.
2020-09-18GPUShader: Fix wide line emulation with flat color interpolation.Clément Foucault
This was causing flashing colors in the node editor grid. This is because in some cases the flat color is only set on the provoking vertex which is the last of the primitive by default.
2020-09-18GPUImmediate: Add system wide workaround for wide lineClément Foucault
This makes wide line supported on MacOS and other implementation that does not support wide line by default. This workaround works for all Line types but only if using one of the 5 default shaders. The workaround is completely isolated and invisible to the outside. It has no side effect. Note: This does not affect the GPUBatch drawing.
2020-09-18UI: Remove colons in property namesHans Goudey
2020-09-18deps: fix build issue on windows.Ray Molenkamp
Windows does not build libxml2 so the dependency recently added for mac caused a cmake error.
2020-09-18UI: Use property split in UV editor panelsHans Goudey
This is not an exhaustive change, just for the 2D cursor and UDIM grid properties. Also vertically align the "UV Vertex" buttons like in the 3D view panels.
2020-09-18Fix misalignment of menu items in Preferences > Save & Load menuJulian Eisel
Checking for the layout alignment is not a reliable way to filter out which items need the additional icon/text offset. Instead check if the buttons are icon-only (which we rarely do, e.g. for collection colors in the Outliner context menu).
2020-09-18Cleanup: Resolve warningsJulian Eisel
Unused variables, missing include for declaration, missing 'static' specifier. Also rename function to match naming convention.
2020-09-18UI: Support interacting with superimposed icons while editingJulian Eisel
For example you can now start entering text in the Properties or Outliner search, and press the 'x' while the button is still in text-edit mode. This way you don't have to exit text editing first, before being able to quickly clear the string with a mouse click. So this is a small improvement for convenience. It also works for the eyedropper (change to picking an object while text editing) or the '+' and '-' icons in the file saving dialog.
2020-09-18UI: Support mouse over highlighting for superimposed iconsJulian Eisel
E.g. the 'x' icons or eyedropper icons in text buttons. They didn't use to have any mouse over feedback, now we dim the icon until hovered. This kind of feedback helps users see that the icons are interactive, and if they are within their interaction hotspot.
2020-09-18Curves: Allow caps for all geometry typesHans Goudey
I think this wasn't allowed before because the section of a curve was built in multiple parts. But since rBe34d3e32dda7, the whole slice of a curve is built in one piece, so we can easily support curve caps for all geometry types, including the new custom profile option. Note that this also allows "caps" when the fill type is not full. They could easily be disabled by checking for "Full" fill type if that was preferred in the future. See the patch for images. Differential Revision: https://developer.blender.org/D8911
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 T79929: crashes with Cycles denoising on older MacsBrecht Van Lommel
This was a bug in OpenImageDenoise, upgrade to latest 1.2.3 which has the fix. This in turn required a newer ispc version. Differential Revision: https://developer.blender.org/D8892
2020-09-18Fix T78793, T79707: Cycles crash on macOS with older CPUsBrecht Van Lommel
Embree static libraries need additional linking flags to avoid SSE and AVX symbols getting mixed up.
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-18CMake/LLVM: Add INCLUDE_DIRS to find package.Ankit Meel
Ref {D8855} Reviewed By: brecht Differential Revision: https://developer.blender.org/D8919
2020-09-18CMake/OpenSubdiv: Rename INCLUDE_DIR -> INCLUDE_DIRS.Ankit Meel
Ref {D8855} Unix and Apple platform files use find_package(OpenSubdiv) which sets `OPENSUBDIV_INCLUDE_DIR` as an advanced variable, as well as `OPENSUBDIV_INCLUDE_DIRS` which should be used usually. Windows sets `OPENSUBDIV_INCLUDE_DIR` which is used by the rest of the code. This patch renames it to `_DIRS` everywhere, for it to be like other similar variables. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8917
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-18Fix T80905: GPencil: bones cannot be selected using Ctrl + LMB (with Left ↵Philipp Oeser
Selection Preference) Was missing a dedicated entry for LMB select, this is to be consistent with how it is done for meshes. Maniphest Tasks: T80905 Differential Revision: https://developer.blender.org/D8935
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-18Cycles: Add time report for Blender data synchronizationSergey Sharybin
Allows to more easily access time information about how long Cycles did spend synchronizing objects from evaluated depsgraph on Blender side to its own structures. This timer does not include time spent evaluating render depsgraph.
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