Blender Git Loki

Blender Git commits from all branches.

Page: 419 / 2888

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, 07:38 (GMT)
Merge branch 'master' into virtual-array-attributes
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.
April 15, 2021, 07:21 (GMT)
Merge branch 'master' into virtual-array-attributes
April 15, 2021, 05:07 (GMT)
Merge branch 'master' into temp_bmesh_multires
April 15, 2021, 05:04 (GMT)
commit prior to merge
April 15, 2021, 05:02 (GMT)
Last attempt at fixing boundary brush for now. Unassigned boundary
verts now get bend data from their neighbors. Still isn't quite
satisfactory but better then before.
April 15, 2021, 01:41 (GMT)
* Fix crash in boundary sculpt tool
* For some reason boundary tool sometimes fails to match verts to
boundary verts. It now simply freezes them in place if that happens
April 15, 2021, 00:54 (GMT)
USD Import: comment out unused parameters.
April 14, 2021, 23:50 (GMT)
USD import: set material viewport display props.

Added logic to set the Blender material's viewport display
diffuse color, roughness and metallic properties from
the corresponding USD preview surface inputs.
April 14, 2021, 23:05 (GMT)
EEVEE: Split shading passes to eevee_shading.cc
April 14, 2021, 22:55 (GMT)
Commit current code state
April 14, 2021, 22:49 (GMT)
EEVEE: Refactor: Split implementation to .cc file

This also wrap GPUFrameBuffer & GPUTexture inside eevee:Framebuffer
and eevee:Texture to improve managment.

Another cleanup was to put all members of `Instance` public to
avoid much complexity in accessing the data with modules
dependencies.

Also split velocity View related data to `class Velocity` and
rename previous `Velocity` to `VelocityModule`
April 14, 2021, 21:10 (GMT)
USD import: fixed deprecated function warning.

Replaced call to deprecated UsdShadeConnectableAPI::IsShader()
to fix warning.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021