Commit Graph

115866 Commits

Author SHA1 Message Date
Simon Lenz
df2ab4e758 Mask Editor: Add toggle for mask spline drawing
Adds an overlay option to show/hide the spline points & lines of masks in the Mask Editor.

It also moves the "smooth" option up (its position left of the selection dropdown was missleading).

{F11847272}

This emerged from a discussion in https://developer.blender.org/D12776

Differential Revision: https://developer.blender.org/D13314
2022-06-22 10:45:18 +02:00
Ramil Roosileht
5946ea938a D14975: Voxel Remesh Size Edit - Constant Size by default
This patch makes constant size a default for size edit operator of voxel remesh.
In turn, pressing CTRL now enables relative scale, the old default.

Patch also changes workspace status text entry with new additions. Note that it is a simple text and not an array of keymaps (for that further changes are needed)

{F13082567}

Reviewed By: Julien Kaspar & Joseph Eagar
Differential Revision: https://developer.blender.org/D14975
Ref D14975
2022-06-22 01:36:13 -07:00
Lukas Tönne
f4d8382c86 Rigid body physics: Move effector force update into substep loop.
The substep loop for rigid bodies causes unequal effects of force fields depedending on the substep setting, larger
substep counts cause a diminishing effect of force fields.
This is because the force to apply on a body is reset in Bullet after each step and needs to be recomputed. Without this
the body will just coast with constant velocity after the first substep. Since the per-step impulse with larger substep
counts is smaller, the effect is that more substeps cause a smaller total impulse.

The fix is to move external force calculation into the substep loop and update forces for each substep.

Note that this may be considered a breaking change, because the breaking commit rB1aa54d4921c2 has been in master for
a long time and after this fix force fields will generally have a much larger effect on rigid bodies (10x for the
default setting of 10 substeps).

Differential Revision: https://developer.blender.org/D15173
2022-06-22 06:37:45 +01:00
Campbell Barton
75f0aaab3d Cleanup: remove redundant GPU headers 2022-06-22 14:59:42 +10:00
Campbell Barton
b8289eb1b9 Cleanup: replace BLF defines with enum, formatting 2022-06-22 14:50:22 +10:00
Campbell Barton
8fab580949 Fix T99078: Crash closing the file selector in Wayland
Ensure wayland handlers run that clear the window immediately after
the window has been removed so dangling pointers to the window
aren't left set.
2022-06-22 13:11:32 +10:00
Hans Goudey
c08fda3a6b Cleanup: Grammar in comments 2022-06-21 15:47:25 -05:00
Hans Goudey
256cb68d33 Cleanup: Remove unused argument 2022-06-21 14:17:24 -05:00
Hans Goudey
d901f8b75b Fix T98960: Baking to active color attribute uses wrong layer
Baking assumed that color attributes could only have two configurations:
float color data type on vertices, or byte color type on face corners.
In reality the options can be combined to make four total options.
This commit handles the four cases explicitly with a somewhat
more scaleable approach (though this should really be C++ code).

This commit also changes some related error messages, tooltips,
and an enum name, in order to make the functionality more obvious.

Differential Revision: https://developer.blender.org/D15244
2022-06-21 14:15:18 -05:00
Antonio Vazquez
7140016838 GPencil: Move New Layer option to menu top
The new layer option must be the first in the menu.

Differential Revision: https://developer.blender.org/D15255
2022-06-21 17:04:30 +02:00
Brecht Van Lommel
d2f47017b9 Fix crash editing anisotropic filter preference from background mode 2022-06-21 16:00:56 +02:00
Brecht Van Lommel
9622dace3e Cleanup: removed unused Blender Internal bump/normal mapping texture code
The TexResult.nor output does not appear to be used anywhere.
2022-06-21 16:00:56 +02:00
Colin Basnett
d90b320444 Fix T97533: Extrapolation of NLA strips outside current view are not rendered
Do a more thorough search for strips that are not visible themselves,
but still influence the viewed time range.

The problem before was that tracks not immediately visible would not be
drawn at all. The strategy for fixing this was to simply include strips
that are visible only because of their extrapolation mode.

To do this, there is now a new function `get_visible_nla_strips` which
gives a first and last `NlaTrack` that needs to  be drawn.

Tagging along with this is the removal of the strip index indicator from
the name on meta tracks. Because of the new structure of the code, it
would incur a performance penalty to restore the previous behavior
(requiring a linear search for the index). Since this number is of
virtually no utility to the user anyways (it has the look & feel of
developer debugging information), this is something I think we can
safely remove without regret.

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D14738
2022-06-21 15:40:45 +02:00
Sybren A. Stüvel
7f3af2aaee NLA: when searching for active track/strip, shortcut when none is active
In the `update_active_track()` function, add a shortcut that just sets
`NULL`, instead of searching for `NULL` pointers. Should give a tiny
speedup.
2022-06-21 15:28:11 +02:00
Sybren A. Stüvel
15bc3d260d Fix 2 for T98700: Crash when recursively nesting NLA meta strips
When searching for the active NLA strip, avoid overwriting the found strip
pointer with NULL if it was already found in a previous iteration.

The active strip is searched for while looping over the NLA tracks. If the
active strip was found on a previous track, and not on the current track,
this would effectively set `actstrip = NULL`. This is now avoided.

Another benefit is that the search for the active strip is stopped as soon
as it's found, which should increase performance a tiny bit.
2022-06-21 15:28:11 +02:00
Sybren A. Stüvel
d373206c3f NLA: update comment to reflect the current implementation
No functional changes.
2022-06-21 15:28:11 +02:00
Sybren A. Stüvel
3bb34fb7ee NLA: add BLI_assert_msg() to check for assumption
`find_active_strip_from_listbase()` expects two lists of strips with an
equal number of items. This is now not only documented, but also checked
for in an assertion.
2022-06-21 15:22:52 +02:00
Yiming Wu
ee78c860b8 LineArt: Move style options to top of the modifier.
Reviewed By: Antonio Vazquez (antoniov)

Differential Revision: https://developer.blender.org/D15164
2022-06-21 16:10:35 +08:00
Jeroen Bakker
84fc086254 Fix T98919: Eevee unlinked aov output nodes don't render.
Eevee rendered an empty image for aov nodes that weren't linked to
any other nodes. When connected the result was OK. The root cause was
that the AOV nodes were not marked as output node and pruned when not
connected to any other nodes. The pruning process is there to reduce
the complexity of the GLSL and improve compilation time and
execution time.
2022-06-21 09:45:40 +02:00
Jeroen Bakker
5d3df1c296 Cleanup: remove unneeded code in eevee_bloom.
This had to be added to the previous commit.
2022-06-21 08:27:20 +02:00
Jeroen Bakker
3df6e75a26 Fix T98972: EEVEE Bloom Pass Outputs Final Image Instead of Bloom.
Regression introduced by {rBca37654b6327}. This commit reversed the
order of loading uniforms. The bloom renderpass used the previous
loading order to overwrite an existing uniform (bloomBaseAdd).

Due to the new ordering this doesn't work anymore where the render
pass outputted an image similar to the final image. This was fixed
by loading the correct value for bloomAddBase and remove the rewrite.
2022-06-21 08:20:26 +02:00
Campbell Barton
beaae4533a Cleanup: use full names for generated wayland headers, use own directory
Instead of providing our own names for wayland headers, use the filename
component as the basis for the header names. This matches most reference
documentation for Wayland.

Also generate client protocols into a sub-directory `libwayland`,
instead of generating headers into the ghost directory. Making the
include path more specific & makes it easier to differentiate generated
headers from other build files.
2022-06-21 16:08:03 +10:00
Campbell Barton
84315368ef Fix error in GHOST_ASSERT under Wayland 2022-06-21 16:08:03 +10:00
Kévin Dietrich
697363545f GPU subdiv: fix hidden faces in paint mode when hidden in edit mode
Pass `use_hide` to the compute shaders so that we can override the
hidden face flags, like CPU extraction is doing.
2022-06-21 07:39:37 +02:00
Chris Blackbourn
e42c662723 Cleanup: Fix format on previous commit 2022-06-21 17:37:15 +12:00
Chris Blackbourn
1154b45526 UV: Add "Select Similar" operator in UV editor
Resolves T47437.

Differential Revision: https://developer.blender.org/D15164
2022-06-21 17:33:39 +12:00
Chris Blackbourn
4144a85bda Cleanup: Type safety and asserts around ED_select_similar_compare 2022-06-21 16:39:47 +12:00
Kévin Dietrich
d7fbc5708a Fix T99016: GPU subdiv artifacts in weight paint with smooth shading
Flags in the smooth shading case were not properly set.
2022-06-21 06:25:08 +02:00
Chris Blackbourn
95465606b3 Fix T99033: KDTree deduplication can erase values
Differential Revision: https://developer.blender.org/D15220
2022-06-21 13:21:41 +12:00
Chris Blackbourn
a18c291435 Cleanup (UV): Use blenlib math utilities 2022-06-21 10:42:05 +12:00
Hans Goudey
3545d8a500 Cleanup: Move paint_vertex_color_ops.c to C++ 2022-06-20 13:57:21 -05:00
Erik
522dcc54af Fix T94969: Crash in Volume to Mesh with 0 voxels
Checks if voxel amount or -size is <= 0 and if so, returns early.

Differential Revision: https://developer.blender.org/D15241
2022-06-20 20:12:44 +02:00
Hans Goudey
9f8cc1bc34 Cleanup: Grammar: a vs an 2022-06-20 10:14:17 -05:00
Sergey Sharybin
549f9a1178 Build Deps: Disallow looking for Python in registry for ISPC
Should prevent accidental use of wrong Python.
2022-06-20 17:11:33 +02:00
Sergey Sharybin
df3a67fc52 Build Deps: Pass Python3 root to ISPC
Following what is done for LLVM. Being consistent feels good here.

Not strictly needed as the build here passed anyway, but it does
feel good to be consistent.
2022-06-20 17:10:15 +02:00
Sergey Sharybin
f86722afc7 Build Deps: Fix ISPVC and OIDN compilation on fresh Windows
Make them to use self-compiled Python, similar to previous fixes
for other libraries.
2022-06-20 16:50:24 +02:00
Clément Foucault
6a1cc0d855 Fix T99019 EEVEE: Regression: Specular BSDF does not apply occlusion
Since the occlusion input is going to be removed in EEVEE-Next, I just
added a temporary workaround. The occlusion is passed as SSS radius
as the Specular BSDF does not use it.

The final result matches 3.1 release
2022-06-20 16:33:04 +02:00
Clément Foucault
3bb8b64c47 Fix T99018: EEVEE: Regression: Specular BSDF apply specular color input twice
This was an oversight. I checked that no other node had the same regression.
2022-06-20 16:33:04 +02:00
Jacques Lucke
d2e4bd7995 Curves: extract surface brush sampling into separate function
This functionality will also be necessary in the Density brush.
2022-06-20 16:27:57 +02:00
Jacques Lucke
af983a3eef BLI: add min_inplace and max_inplace functions 2022-06-20 16:27:57 +02:00
Jacques Lucke
06b212c446 Fix: assert when deleting all curves 2022-06-20 16:27:57 +02:00
Simon Lenz
eca0c95d51 Mask Editor: Add mask blending factor for combined overlay
This adds a new parameter to the "Combined" overlay mode of the mask editor.
The "blending factor" allows users to blend the mask exterior with the original
footage to visualise the content of the mask in a more intuitive way.  The
"Alpha" overlay is unaffected by this change.

The existing "Combined" overlay is used like before (covering everything
outside the mask in black), but can be blended with the slider in the mask
overlay to look at the exterior.

This is part of an effort to make mask editing more intuitive & easy to use:
https://developer.blender.org/T93097

Differential Revision: https://developer.blender.org/D13284
2022-06-20 16:04:15 +02:00
Kévin Dietrich
72a5bb8ba9 Fix artefacts with GPU subdiv and weight paint face selection
Addendum to previous fix, which was for point selection, this fixes the
face selection mode. The issue is caused by wrong flags used for paint
mode (the edit mode flag was always used). Also add back flag which was
accidentally removed in 16f5d51109.
2022-06-20 14:42:09 +02:00
Brecht Van Lommel
ff1883307f Cleanup: renaming and consistency for kernel data
* Rename "texture" to "data array". This has not used textures for a long time,
  there are just global memory arrays now. (On old CUDA GPUs there was a cache
  for textures but not global memory, so we used to put all data in textures.)
* For CUDA and HIP, put globals in KernelParams struct like other devices.
* Drop __ prefix for data array names, no possibility for naming conflict now that
  these are in a struct.
2022-06-20 12:30:48 +02:00
Kévin Dietrich
b73a52302e Fix T98913: GPU Subdivision: "Show Wire" overlay glitch
Issue is caused by an off by one error which would map some edge loops to
the loops of some the next polygon in the list of polygon, which may not
be a topological neighbor.
2022-06-20 12:14:03 +02:00
Sergey Sharybin
088157e447 Cleanup: Add description of more mask editing poll functions
No functional changes.
2022-06-20 11:25:38 +02:00
Sergey Sharybin
e658c8851a Refactor: De-duplicate mask operator poll functions
The poll function with same semantic was defined in both screen and
mask space modules. The only reason for this seems to be that the
image editor needed a mask poll function which was private to the
mask module.

Make the mask editing poll functions public, avoiding code duplication.

Also, added a brief explanation about what the poll functions are
checking for.

No user-level changes are expected to happen.
2022-06-20 11:21:09 +02:00
Campbell Barton
f8cec1ff30 Cleanup: avoid duplicate lookups when setting the cursor
Also use `const char *` for cursor names as there isn't an advantage
in using `std::string`.
2022-06-20 12:18:36 +10:00
Campbell Barton
a76c1ddecc Fix setting the custom cursor for Hi-DPI displays in Wayland
Changing the cursor would intermittently close Blender's window
(without crashing).

This happened because the size of a cursor must be the a multiple of the
scale, for themed cursor this is always true but with custom cursors
it's not.

Separate theme scale from custom cursor scale to avoid this bug.
In the future we can support Hi-DPI custom cursors, for now they're
scale is always set to 1.
2022-06-20 12:12:05 +10:00
Campbell Barton
6e8217d35e GHOST/Wayland: refactor cursor handling & fix errors hiding the cursor
- Support showing & hiding the cursor without setting the buffer,
  needed to switch between software and hardware cursor.
- Track the state of the software/hardware cursor.

This resolves glitches switching between cursors sometimes hiding the
cursor.
2022-06-20 12:09:31 +10:00