Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

2 hours 2 min ago
EEVEE: Fix Missing GGX multi-scattering on Glass BSDF

Oversight that should have been in rB6f3c279d9e70
2 hours 17 min ago
EEVEE: Add support for GGX Multi-scatter

Based on

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:
2 hours 44 min ago
Fix T79557 EEVEE: Normalize in vector math node is not null vector safe

This add basic null safe handling for this operation.
Revision a0a536b by Hans Goudey
2 hours 47 min ago
Property Search: Don't set expansion for panels in inactive tabs

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.
3 hours 45 min ago
GPUImmediate: Add system wide workaround for wide line

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.
3 hours 45 min ago
GPUShader: Fix wide line emulation with flat color interpolation.

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.
Revision f17302b by Hans Goudey
3 hours 47 min ago
UI: Remove colons in property names
4 hours 35 min ago
deps: fix build issue on windows.

Windows does not build libxml2 so the dependency recently
added for mac caused a cmake error.
Revision 05c57dc by Hans Goudey
4 hours 49 min ago
UI: Use property split in UV editor panels

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.
Revision a13b14b by Julian Eisel
5 hours 27 min ago
Fix misalignment of menu items in Preferences > Save & Load menu

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).
Revision 9ce1a04 by Julian Eisel
5 hours 35 min ago
Cleanup: Resolve warnings

Unused variables, missing include for declaration, missing 'static'
specifier. Also rename function to match naming convention.
Revision aacf8d7 by Julian Eisel
5 hours 48 min ago
UI: Support mouse over highlighting for superimposed icons

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.
Revision 9d52838 by Julian Eisel
5 hours 48 min ago
UI: Support interacting with superimposed icons while editing

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.
Revision a6a0cbc by Hans Goudey
5 hours 57 min ago
Curves: Allow caps for all geometry types

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:
6 hours 28 min ago
Unify all XYZ symmetry options using Mesh Symmetry

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:
6 hours 46 min ago
Object: Switch Object operator

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:
6 hours 56 min ago
Sculpt: Render Mask and Face Sets with modifiers active

This removes the limitation of the sculpt overlays not being visible
with modifiers active.

Reviewed By: fclem

Maniphest Tasks: T68900

Differential Revision:
7 hours 2 min ago
Overlay: Fade Inactive Geometry

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:
7 hours 11 min ago
LookDev: Lock HDRI rotation to View

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

Reviewed By: fclem

Differential Revision:
7 hours 16 min ago
Sculpt: Scale Cloth Filter

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:
Tehnyt: Miika HämäläinenViimeksi p?ivitetty: 07.11.2014 14:18 MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2020