Blender Git Commits

Blender Git "cycles-x" branch commits.

Page: 9 / 44

August 12, 2021, 08:47 (GMT)
Merge branch 'master' into cycles-x
August 10, 2021, 19:06 (GMT)
Cycles X: add Position render pass
August 10, 2021, 18:58 (GMT)
Cycles X: support diffuse/glossy/transmission baking filter options

Continue with implementing all the baking types in terms of render passes.

* Adds new pass types that combined direct and indirect light
* Add include_albedo to Pass to specify if albedo should be included
in such light passes

Differential Revision: https://developer.blender.org/D12186
August 10, 2021, 08:57 (GMT)
Merge branch 'master' into cycles-x
August 9, 2021, 08:35 (GMT)
Merge branch 'master' into cycles-x
August 6, 2021, 14:40 (GMT)
Merge branch 'master' into cycles-x
August 6, 2021, 13:59 (GMT)
Merge branch 'master' into cycles-x
August 6, 2021, 13:28 (GMT)
Cleanup: remove unused kernel variables
August 6, 2021, 13:25 (GMT)
Fix missing Combined pass when using Denoising Data

Remove Integrator.store_denoising_passes and just fill the passes if they
exist, there's no need for this option.
August 6, 2021, 10:40 (GMT)
Fix 100% core usage in viewport in Cycles X

Is a regression since the previous fix for the dead-lock on exit
(was done in the revision 24458a1e7a0).

We need to do `pause_cond_.wait()` when we've run out work to be done.

The new code does check for both states: pause and new work added.

Annoyingly, had to introduce an extra flag which we can check prior
to `wait()`. Without this we have nothing to check whether wait is
needed or not.

The change is against Cycles X, but would also need to be ported
to master.

Differential Revision: https://developer.blender.org/D12148
August 6, 2021, 10:36 (GMT)
Cycles X: Internal API support for tiled rendering

No visible changes on user level yet: just a tiny step towards tiled
rendering support.

Tested by hard-coding tile size to `make_int2(256, 256)`.

Differential Revision: https://developer.blender.org/D12129
August 6, 2021, 09:08 (GMT)
Cycles X: add camera visibility and shadow catcher options for lights

* Camera visibility makes it so lights can be directly visible as objects
in the scene. This is disabled by default but can be enabled now. Be
aware that aliasing can be a problem with directly visible bright lights.
* The shadow catcher works similar to emissive triangles on meshes. It's
useful when you for example use light objecs for the headlights of a car,
where you want their reflection on the road to be composited in.

For performance, I saw no difference outside of timing noise.

Differential Revision: https://developer.blender.org/D12141
August 6, 2021, 08:46 (GMT)
Cleanup: Use proper naming for private members in Cycles X
August 5, 2021, 16:48 (GMT)
Tests: run render tests for fixed 10s, and measure time per sample

Taking advantage of the new time limit rendering to make the benchmark runtime
the same on all devices.

For scenes with adaptive sampling it still uses the samples specified in the
file, since that makes time per sample an unreliable metric.
August 5, 2021, 15:57 (GMT)
Merge branch 'master' into cycles-x
August 5, 2021, 15:42 (GMT)
Fix dead-lock when cancelling viewport render in Cycles X

This change is supposed to fix a hard-to-reproduce bug when Blender
gets stuck when quitting while viewport render ins going.

Ensure consistency in the check for the pause, so that it is checked
before asking to wait the condition variable. Otherwise it was possible
to miss the notification and not react to the pause state properly.
August 5, 2021, 15:21 (GMT)
Cycles X: Silence OIDN denoising cancel message

Cancel is considered to be an error by the OIDN library, but we do
cancel to keep viewport interactive and this is not an error as far
as we are concerned.
August 5, 2021, 15:16 (GMT)
Cycles X: refactor passes to work like other nodes in the scene

* Alloc through create_node<Pass>() instead of Pass::add().
* Handle auto adding of passes, duplicate removal and other validation
in update_pass(), afterwards.
* Centralize pass logic from scene.cpp and pass.cpp into film.cpp.
* Move logic for which passes are read/written or noisy/denoised out
of Blender sync.
* Eliminate or change DENOISED to NOISY passes when denoising is
disabled, rather than using is_written().

This makes some upcoming changes easier, and is also a step towards
a better Cycles public API.

Differential Revision: https://developer.blender.org/D12118
August 5, 2021, 15:09 (GMT)
Cycles X: More flexible OIDN prefiltering settings

Allows to bring back old behavior when color and guiding passes are
denoised at the same time. Exposed as a single enum, so that we only
expose combinations which makes sense from configuration perspective.

Possibilities are:

- None. Assumes that the guiding passes are clean. Gives best results
without extra processing time (in expense of requiring to have enough
samples rendered to give clean guiding passes).

Corresponds to OIDN cleanAux=true and no prefiltering done on the
guiding passes.

- Fast. Old behavior, color and guiiding passes are denoised together.
This is fastest way of giving denoised result, in the expense of
possible loss of details.

Corresponds to OIDN cleanAux=false and no prefiltering.

- Accurate. Use special guiding passes prefilteringbefore denoising
color passes. Gives best results in the expense of extra time needed
to perform prefiltering. Avoids over-blurring details.

Corresponds to OIDN cleanAux=true and prefiltering performed on the
guiding passes.

Differential Revision: https://developer.blender.org/D12140
August 5, 2021, 10:34 (GMT)
Cycles X: Bring back per-object GI approximation AO distance

Measure no performance impact beyond noise deviation on RTX6000:
```
cycles-x new
barbershop_interior 14.4251s 14.2849s
bmw27 9.5182s 9.1225s
classroom 17.1786s 17.1967s
junkshop 18.3849s 18.8356s
monster 9.9017s 9.5428s
pabellon 8.0902s 8.1711s
```

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