Blender Git Commits

Blender Git "master" branch commits.

Page: 358 / 5574

March 8, 2021, 16:25 (GMT)
EEVEE: Ambient Occlusion: Add sample parameter support for the AO node

The actual sample count is rounded up to a multiple of 4 because we
sample 4 horizons directions.

Changing this setting forces the shader to recompile (because using a
GPU_constant).
March 8, 2021, 16:25 (GMT)
Fix T81741 EEVEE: Ambient Occlusion does not converge properly

This was due to the AO random sampling using the same "seed" as
the AA jitter. Decorelating the noise fixes the issue.
March 8, 2021, 16:25 (GMT)
EEVEE: Use Fullscreen maxZBuffer instead of halfres

This removes the need for per mipmap scalling factor and trilinear interpolation
issues. We pad the texture so that all mipmaps have pixels in the next mip.

This simplifies the downsampling shader too.

This also change the SSR radiance buffer as well in the same fashion.
March 8, 2021, 16:25 (GMT)
EEVEE: SSRayTrace: Cleanup/Refactor

This is a major rewrite that improves the screen space raytracing
a little bit.

This also decouple ray preparation from raytracing to be reuse in other
part of the code.

This changes a few things:
- Reflections have lower grazing angle failure
- Reflections have less self intersection issues
- Contact shadows are now fully opaque (faster)

Unrelated but some self intersection / incorrect bad rays are caused by
the ray reconstruction technique used by the SSR. This is not fixed by
this commit but I added a TODO.
March 8, 2021, 16:25 (GMT)
EEVEE: Sampling: Split hemisphere sampling just like GGX

This is useful for debugging raycasting.
March 8, 2021, 16:20 (GMT)
Fix ID preview not updating in Asset Browser

Fix ID preview not updating in Asset Browser, by actually sending an
explicit `NA_EDITED` along with the `NC_ASSET` notifier.
March 8, 2021, 16:01 (GMT)
Fix T86063: support 'Relative Path' setting opening (alembic) caches

This was reported as opening alembic caches ignoring the
'use_relative_paths' preference, but this operator just did not have
this setting. Fortunately, adding this is just a simple switch.

Maniphest Tasks: T86063

Differential Revision: https://developer.blender.org/D10568
March 8, 2021, 15:53 (GMT)
Cleanup: Move LibOverride debug prints to CLOG.
March 8, 2021, 15:25 (GMT)
Spreadsheet: add boilerplate code for new editor type

This adds the initial boilerplate code that is required to introduce
the new spreadsheet editor. The editor is still hidden from the ui.

It can be made visible by undoing the change in `rna_screen.c`.

This patch does not contain any business logic for the spreadsheet editor.

Differential Revision: https://developer.blender.org/D10645

Ref T86279.
March 8, 2021, 14:49 (GMT)
Alembic: avoid red overwrite warning when opening a file

Pass `FILE_OPENFILE` instead of `FILE_SAVE` when selecting a file for
reading.
March 8, 2021, 14:21 (GMT)
File Browser: scroll selected files into view

Add operator `FILE_OT_view_selected` to the file browser (and thus also
to the asset browser) that scrolls selected files into view.

This includes the active file, even though it is not selected. In
certain cases the active file can loose its selected state (clicking
next to it, or refreshing the asset browser), but then it's still shown
in the right-hand sidebar. Because of this, I found it important to take
it into account when scrolling.

This also includes a change to the keymaps:
- Blender default: {key NUMPAD_PERIOD} is removed from the "reload"
operator, and assigned to the new "view selected files" operator. The
reload operator was already doubly bound, and now {key R} is the only
remaining hotkey for it.
- Industry compatible: {key F} is assigned to the new "view selected
files" operator. This is consistent with the other "view selected"
operators in other editors.

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D10583
March 8, 2021, 14:18 (GMT)
Fix T86347: Add Primitive Tool fails for 1x1x1 scale

The Tool stores desired dimensions as `scale` and thus had to half the
scale again in `make_prim_init()` because by default all primitives are
created at a size of 2 in blender.

This worked, but:
- [1] it logged something like size=2, scale=2,2,2 for a 2x2x2 cube
[which does not sound right, it should be size=2 scale=1,1,1]
- [2] it had to make an exception for the case scale is exactly 1x1x1
[this happens when the property is not set specifically, e.g. adding
primitives from the menu]
-- this exception led to double sized primitives being created when the
tool asked for exact dimensions of 1x1x1

Now - instead of compensating in `make_prim_init()` - do this earlier in
the tool itself, see `view3d_interactive_add_modal`, this fixes the bug
and now also correctly logs size=2 scale 0.5,0.5,0.5 for a 1x1x1 cube.

Maniphest Tasks: T86347

Differential Revision: https://developer.blender.org/D10632
March 8, 2021, 14:09 (GMT)
UI: UVProject modifier: clarify aspect & scale are only for camera
projectors

Make this clear in property UI descriptions and deactivate aspect &
scale fields if no camera projectors are present.

ref T86268

Maniphest Tasks: T86268

Differential Revision: https://developer.blender.org/D10634
March 8, 2021, 14:01 (GMT)
PyAPI: add bpy.types.BlendFile.temp_data for temporary library loading

This adds support for creating a `BlendFile` (internally called `Main`),
which is limited to a context.

Temporary data can now be created which can then use
`.libraries.load()` the same as with `bpy.data`.

To prevent errors caused by mixing the temporary ID's with data in
`bpy.data` they are tagged as temporary so they can't be assigned
to properties, however they can be passed as arguments to functions.

Reviewed By: mont29, sybren

Ref D10612
March 8, 2021, 13:55 (GMT)
readfile: add id_tag_extra argument

This allows adding ID tags when linking/loading data.

This is needed to implement loading non 'G.main' ID data-blocks,
see D10612.
March 8, 2021, 13:44 (GMT)
Fix T86384: Click detection fails in some cases with modifiers

Regression in b5d154f400e46ba322f0e08a231bb2557bf51a1e
March 8, 2021, 13:38 (GMT)
Fix T86106: bpy.types.SpaceView3D.draw_handler_remove(...) causes Blender to crash

The handle of a drawing callback can be removed within the drawing function itself.

This causes `var = (type)(((Link *)(var))->next` to read an invalid memory value in C.
March 8, 2021, 13:25 (GMT)
Fix error in unused argument cleanup

Bad keyword argument rename from
9dc0c44aa102b5a7dae1fe92fd9105231ab1798c
March 8, 2021, 13:06 (GMT)
Fix Cycles CUDA build error with Visual Studio 2019 v16.9

Something in this update broke the floor() function in CUDA, instead use
floorf() like we do everywhere else in the kernel code. Thanks to Ray
Molenkamp for identifying the solution.
March 8, 2021, 12:51 (GMT)
Fix T86210: No preview icons for non-8bit images

It looks like we never generated correct icon previews for images with
float_rects (non-8bit-images). Images from the report were 16bit pngs.

In this case, `icon_preview_startjob` would return early (it only
checked if the ImBuf `rect` was NULL -- which is the case if it has a
`rect_float` instead). This is not neccessary since `icon_copy_rect` is
perfectly capable of taking float rects.

Now correct the check and only return early if both `rect` & `rect_float`
are NULL.

note: this will not refresh icon previews from existing files
automatically. For this, use File > Data Previews > Clear Data-Block
Previews.

Maniphest Tasks: T86210

Differential Revision: https://developer.blender.org/D10601
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021