Blender Git Loki

Blender Git "cycles-x" branch commits.

Page: 22 / 44

May 19, 2021, 08:15 (GMT)
Cycles X: Make shadow catcher approximation more explicit

Only affects internal API, the user level stays unchanged.

Just replacing some implicit decisions in a generic code path with
something what is more explicit.
May 19, 2021, 08:15 (GMT)
Cycles X: Move Pass to its own file

While doing so found that the pass type enum could have double amount
of entries: items are added when initializing pass node and when
setting up film's display pass enum.
May 19, 2021, 08:15 (GMT)
Cycles X: Move actual pass type logic outside of pass accessor

Keeps the accessor free from tricky logic, allowing to make more
comprehensive decisions based on various scene settings.

Differential Revision: https://developer.blender.org/D11293
May 19, 2021, 08:15 (GMT)
Cleanup: Remove unused pass stride accessor in Cycles X

Unused function, which usage was actually limited: the stride was only
correct after device update.
May 18, 2021, 15:08 (GMT)
Cycles X: Implement early cancel in GPU rendering

Allow the GPU rendering to stop rendering before all scheduled paths
has been terminated. This significantly lowers latency of the viewport
navigation.

With some files from the Sprites Fright project the time spend in the
`PathTrace::cancel()` is reduced from 0.6 to below 0.01 sec.

Differential Revision: https://developer.blender.org/D11286
May 18, 2021, 08:54 (GMT)
Fix bump and displacement in Cycles X

Those got accidentally broken by D11132 (and corresponding commit).

The `object_inverse_dir_transform()` needs to be adjusted so that it
gives correct result for objects which do not have motion (similar to
`object_dir_transform()`).

Differential Revision: https://developer.blender.org/D11241
May 18, 2021, 08:52 (GMT)
Fix possible NaN throughput in Cycles random walk

Based on asymptotic values of formulas when diffuse length is reaching
1 the throughput will be going to 0. So terminate the path early on
without causing numerical issues.

Just something I've notices with the Junk Shop scene while running
debugger for something else.

Differential Revision: https://developer.blender.org/D11237
May 18, 2021, 08:51 (GMT)
Merge branch 'master' into cycles-x
May 17, 2021, 16:15 (GMT)
Cycles X: Remove unused pointer alignment query

Was used by NLM denoiser.
Removing to make it easier to possibly extend to the new devices.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D11275
May 17, 2021, 13:18 (GMT)
Cycles X: Use queue for data transfer in naive GPU update

Run into this code while looking into the following issue:
when using non-display GPU and OpenImageDenoiser in viewport
sometimes during navigation the viewport goes blank.

This change seems to either fix this issue (although, not
entirely sure why, because from my understanding all the calls
were already properly synchronized).

In any case, using a queue for data transfers and kernel is
more correct way to go.

If the issue described above ever comes back we will dig
deeper.
May 17, 2021, 09:46 (GMT)
Fix possible race condition in Cycles X

Not a fix easily measurable by artists, but something what is correct
from multi-threaded environment.

Update number of samples in the scheduler in a safe place, where we
know that scheduler is not accessing the value.
May 17, 2021, 08:32 (GMT)
Merge branch 'master' into cycles-x
May 14, 2021, 08:17 (GMT)
Merge branch 'master' into cycles-x
May 14, 2021, 07:43 (GMT)
Fix OIDN denoiser in Cycles X after recent refactor
May 12, 2021, 16:14 (GMT)
Fix shadow approximation for combined pass in Cycles X

No need to take alpha into account when averaging: it does not contain
light information.

Was causing non-black shadow on scene without lights.
May 12, 2021, 14:10 (GMT)
Cycles X: Experiment with progressively lowering noise in viewport

The idea is make it so in viewport all pixels are uniformly noisy,
and the noise gradually becomes lower and lower. This is like replacing
viewport samples with smarter adaptive sampling.

Currently, rendering starts with noise threshold of 0.4, and once
majority of pixels did converge the noise threshold gets halved, until
the configured threshold is reached.

The final result of viewport rendering should be almost the same as
prior to the patch, but because of extra box filtering on a more sparse
pixel sets there could be some differences. Especially visible with the
active pixels overlay in the case when pixels did not converge to the
final noise floor.

From the benchmarks there seems to be no performance loss.

Differential Revision: https://developer.blender.org/D11088
May 12, 2021, 12:56 (GMT)
Cycles X: Switch sample count pass from float to uint

This way we will never run into rounding issues when relying on a
per-pixel sample count value.

There is some code duplication between the film conversion and the
pass accessor. Ideally we will de-duplicate the per-pixel processing
logic, but is better if that happens as a separate refactor.
May 12, 2021, 12:56 (GMT)
Cycles X: Make converge check return number of active pixels

Currently no functional changes, but allows to implement different
adaptive sampling filtering: for example, the one which progressively
lowers noise floor.

From benchmarks on RTX 6000 there is no performance impact.
May 12, 2021, 12:56 (GMT)
Cycles X: Allow adding samples to pixel

The idea is to be able to resume sampling pixel after it "skipped"
some of the scheduled tiles due to convergence.

This is a bit weak concept, but is the most straight forward to
implement. This will be needed for the progressive noise floor
feature.

The current implementation is relying on the fact that the maximum
number of samples will not exceed floating point precision: for
the range of 0 to 2^24 the worst prevision of the single floating
precision is 1. To be more robust for all possible GPUs which might
have precision issues this will be changed in the followup commit.
May 12, 2021, 12:54 (GMT)
Cycles X: Optionally approximate shadow in matte pass

This change makes it so that combined pass (from the render result
point of view) will contain both synthetic objects and shadows when
the Shadow Catcher pass is not enabled.

This brings back behavior of the shadow catcher, possibly bringing
back some of workflows when synthetic object have to have their
shadows in the same pass. It also makes it so perceptually the
shadow catcher always work.

The approximation is a black transparency (without color), although
is more accurate than in previous implementation of the shadow
catcher.

Currently is only implemented for the final render. The viewport
needs more investigation about whether its possible to have preview
of the final accurate shadow catcher.

Differential Revision: https://developer.blender.org/D11232
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021