Blender Git Loki

Kaikki Blender Git kommitit.

Page: 728 / 8462

April 15, 2021, 10:54 (GMT)
Cycles: Implement early stopping for adaptive sampling

Stop scheduling path tracing jobs one all pixels did converge.
Since the convergence check is done for the entire big tile it
is not that visible with regular noise level settings and number
of samples. However, still feels like this is proper thing to do,
especially for the idea of gradually decreasing error threshold
for the viewport rendering.

For the GPU there is a single int memory allocated for every
invocation of convergence check kernel. Not sure if it gives
any measurable difference and whether we'd better avoid such
tiny allocations.
April 15, 2021, 10:53 (GMT)
Cycles: Fix denoising artifacts with adaptive sampling

Need to make sure denoiser input is has consistent number of samples
for all pixels, otherwise denoiser might see some areas too dark when
they converged.

The output of denoiser needs to be scaled back, so that when combined
pass is scaled with number of samples n display on or pixel buffer
request it gives proper result.

While this is technically slower than the previous state of the branch,
the number of computations is similar to the master branch.

We can optimize some areas: for example by multi-threading OIDN passes
creation.

Additionally, enable handling of all passes for OptiX. Some code was
disabled during development and was never enabled back :(
April 15, 2021, 10:48 (GMT)
Cycles: make device queues GPU specific
April 15, 2021, 10:48 (GMT)
Cycles: use stream in CUDA queue

Any device memory copying and zeroing is also done as part of the stream
so we can queue such operations without synchronizing.
April 15, 2021, 10:04 (GMT)
bring back type conversion
April 15, 2021, 09:38 (GMT)
Fix T87171: Update multi input socket indices

When inserting a node on top of a link, the multi input socket
indices weren't updated. This fixes that and keeps the relative
order of the links the same.

Author: Wannes Malfait

Reviewed By: Fabian Schempp

Differential Revision: https://developer.blender.org/D10969
April 15, 2021, 09:34 (GMT)
Merge branch 'master' into virtual-array-attributes
April 15, 2021, 09:21 (GMT)
Geometry Nodes: refactor implicit conversions

This refactor simplifies having standalone function pointer that
does a single conversion. It also speeds up implicit type conversion
of attributes.
April 15, 2021, 08:59 (GMT)
Pose Sliding tools improvements

### Executive Summary

This patch improves pose sliding tools: Breakdowner, Push, and Relax.

The problems with the old tools:
- **No UI**. Even though it's clear how the tool works when you move the mouse, there is no visual indication as to the actual scale of the movement required.
- **No mouse wrapping**. This means that you have to carefully plan the initial position of the mouse when using the tools, because that impacts which values are available. This makes it hard to use it from the menu, as that forces the mouse to be in a certain position.
- **No precision mode** by pressing shift.
- **No overshoot protection**, so it's very easy to go below 0% or above 100%.

These problems are **all solved in this patch**.

##### Demo video

Here {key Shift E} is used to start the Pose Breakdowner.

{F9929705}

### Original description

**Problem**
The existing Push, Relax and Breakdowner tools are great, but the fact that they use the whole area range is less than ideal.
In theory, the tools support going beyond 0% and 100% to create an overshoot, but since they use the whole are, you might be blocked by the edges of the screen.

**Solution**
Set a pixel value as defined distance from 0% to 100% (scales with gui)
To indicate that, draw a UI under the cursor.
The percentage is now calculated accumulative to enable precision support when holding SHIFT

Info about new modifier keys is printed to the workspace status
{F9891261}

Update 2020_10_12: All lines have outlines now and handle is orange for better readability on white.
Update 2021_01_18: Static indicators moved to bottom. tick spacing now every 10%
Update 2021_03_14: Remove the slider and replace with a simple percentage indicator. (Cursor not visible in screenshot)
Update 2021_04_11: Brought the slider back. Spawns centered at the bottom of the screen
{F9929709}

By default the percentage is clamped to 0-1. But by pressing E you can enable overshoot.
Update 2020_10_12: slider range in overshoot mode is now 150% to better indicate that it can go further
Update 2021_03_14: Since the slider was removed, the percentage amount is simply displayed under the cursor
Update 2021_04_11: Overshoot now scrolls in place
{F9929712}

**Limitations and future improvements**
As mentioned in the comments below it would be a good idea to write a more general version of the slider to be used in various areas of Blender.

**Build**
[[ https://blender.community/c/graphicall/dqbbbc/ | Windows build on graphicall ]]

**Edit**
Split off the operator into it's own patch D9137

Reviewed By: zeddb, brecht, Severin, looch

Maniphest Tasks: T81836

Differential Revision: https://developer.blender.org/D9054
April 15, 2021, 08:49 (GMT)
Merge branch 'master' into temp-gpencil-bezier-stroke-type
April 15, 2021, 08:07 (GMT)
Cycles: Fix tests compilation error after recent changes
April 15, 2021, 08:00 (GMT)
Fix T87356 & T87358: Small multi-input socket issues

T87356 occured because last_node_hovered_while_dragging_a_link was not
set on node_link_init.
The assert in T87358 failed because the sorting operation was called even
if the drag link contained a link to another socket.
A little one frame jump was caused because frame was refreshed after
picking a link and before sorting happened.

Reviewer: Hans Goudey

Differential Revision: https://developer.blender.org/D10940
April 15, 2021, 07:38 (GMT)
Merge branch 'master' into virtual-array-attributes
April 15, 2021, 07:37 (GMT)
Cleanup: rename file

Internally we use the name "context (path)" instead of "breadcrumb".
This was missing from a rename in the original patch.
April 15, 2021, 07:35 (GMT)
Cleanup: move type conversions to separate file
April 15, 2021, 07:26 (GMT)
Cycles: Remove pause notification from denoising sample change

The pause wait does not check on the denoiser sample, so it was
a bit weird to wake up pause loop. Possibly was a copy-paste of
the samples update which does need to wake pause loop.
April 15, 2021, 07:26 (GMT)
Cycles: Remove background info from Device

There shouldn't be a logic on the device level which will make it
to change behavior based on whether it is an interactive or offline
rendering.

The only current use is in the OpenCL device which initialized
requested features differently for viewport. This code will either
fully fade away or will be redone.
April 15, 2021, 07:26 (GMT)
Cycles: Refactor denoiser passes configuration

Store them as an individual boolean flags.

Should be no functional changes so far, but allows to simplify the
following:

- Conditional enabling of denoising passes (so that unused passes
are not written by the kernel).

- Move configuration to the Graph.
April 15, 2021, 07:26 (GMT)
Cycles: Conditionally enable denoising passes

Allows to avoid memory usage by passes which are not used by the
denoising algorithm.
April 15, 2021, 07:26 (GMT)
Cycles: Rework denoiser integration

The goal is to allow OptiX denoiser when rendering with CPU or CUDA.

The Denoiser now can request device to be created if none of the
devices configured for rendering is suitable for denoising. This
allowed to remove some tricky logic from BlenderSync.

Another related change is the move of denoiser parameters from Session
to Integrator, allowing to change denoiser settings without doing full
session re-creation.

Known remaining aspects:

- If CUDA is used for rendering try to use same physical device for
OptiX denoising.

- Optimize data transfer when different Device is used for denoising.

- Would also be nice to not restart rendering when it is only start
denoising sample is changed.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021