Blender Git Loki

Blenderin Git "master"-kehityshaaran kommitit.

Page: 100 / 5574

October 19, 2021, 13:10 (GMT)
Cycles: avoid intermediate stack array for writing shadow intersections

Helps save one OptiX payload and is a bit more efficient.

Differential Revision: https://developer.blender.org/D12909
October 19, 2021, 13:09 (GMT)
Cycles: decouple shadow paths from main path on GPU

The motivation for this is twofold. It improves performance (5-10% on most
benchmark scenes), and will help to bring back transparency support for the
ambient occlusion pass.

* Duplicate some members from the main path state in the shadow path state.
* Add shadow paths incrementally to the array similar to what we do for
the shadow catchers.
* For the scheduling, allow running shade surface and shade volume kernels
as long as there is enough space in the shadow paths array. If not, execute
shadow kernels until it is empty.

* Add IntegratorShadowState and ConstIntegratorShadowState typedefs that
can be different between CPU and GPU. For GPU both main and shadow paths
juse have an integer for SoA access. Bt with CPU it's a different pointer
type so we get type safety checks in code shared between CPU and GPU.
* For CPU, add a separate IntegratorShadowStateCPU struct embedded in
IntegratorShadowState.
* Update various functions to take the shadow state, and make SVM take either
type of state using templates.

Differential Revision: https://developer.blender.org/D12889
October 19, 2021, 13:06 (GMT)
Tests: update Cycles GPU tests blacklist so all tests pass

More tests are matching now, mainly due to unified volume sampling.
October 19, 2021, 12:55 (GMT)
Fix failing view layer tests after recent changes to naming convention
October 19, 2021, 12:48 (GMT)
Fix splash screen showing language when building without that feature
October 19, 2021, 12:30 (GMT)
Render: change view layer name convention to ViewLayer_001 to avoid OpenEXR issues

Some compositing applications do not support spaces and dots in layer names, and change
these to other symbols on import. This causes various compatibility issues, including
with Cryptomatte metadata. While technically those could be considered bugs in the
Cryptomatte implementation of other software, where they are not properly accounting for
that layer renaming, it's not ideal.

The OpenEXR channel naming convention is "layer.pass.channel". We get away with dots in
the layer name since we parse this from right to left, but it's a weak assumption.

Now we don't forbid using spaces or dots, and existing files are unchanged. But at
least by default names will be compatible, and hopefully other software catches up in
time to support more flexible layer names.

Ref T68924
October 19, 2021, 10:59 (GMT)
Cleanup: fix compiler warnings
October 19, 2021, 10:59 (GMT)
Cycles: improve sampling pattern description regarding adaptive sampling
October 19, 2021, 10:59 (GMT)
Render: use "_" as delimiter in AOV names to avoid issues with OpenEXR

OpenEXR uses "." to separate layers/passes/channels, so using AOV.001 is
a problem. Other applications will not be able to parse it correctly.

Default to AOV_001 instead, and don't allow using dots in AOV names.

Fixes T89991
Ref T73266
Ref D12871
October 19, 2021, 10:10 (GMT)
Fix invalid principled diffuse in Cycles OSL

Need to initialize components for the full Diffuse BSDF.

Steps to reproduce:
- Default cube scene
- Switch to Cycles renderer
- Enable OSL backend
- Start viewport render
- Observe cube being much black

Differential Revision: https://developer.blender.org/D12921
October 19, 2021, 09:59 (GMT)
Cleanup: More readable Cycles OSL BSDF definition

A Clang-Format configuration to make the closure definition block to
be properly recognized as such.

Also small wrapper macro to avoid comma in the actual definition code
which was causing unwanted indentation of parameters definition.

Requires Clang-Format 7 or newer. The version we ship in the libs is
12, so for recommended development setup it should all be good.

Differential Revision: https://developer.blender.org/D12920
October 19, 2021, 09:39 (GMT)
Fix T85779: Cycles not using all threads when using OpenImageDenoise

The thread affinity setting in OIDN can break multithreading on some CPUs.
While this leads to somewhat worse performance on CPUs that do work correctly,
it's better than having some CPUs use only half the cores.
October 19, 2021, 09:30 (GMT)
Cleanup: Unused device argument in host update functions

Better not to tempt anyone from using unsafe access to device
functionality during host update.
October 19, 2021, 09:29 (GMT)
Fix invalid OSL shader compilation state

The lookup tables are to be initialized after device free.

On Linux was only noticeable when rendering default cube scene with
an extra assert. On Windows it was causing an assert in STL in debug
builds.

Differential Revision: https://developer.blender.org/D12918
October 19, 2021, 07:35 (GMT)
Cleanup: use 'e' prefix for enum types
October 19, 2021, 07:31 (GMT)
Cleanup: clang-format
Revision a76bb1a by Hans Goudey
October 19, 2021, 03:15 (GMT)
BLI: Support removing keys from a set during iteration

This adds the ability to mark slots as removed while iterating through
a mutable set.

Differential Revision: https://developer.blender.org/D12867
October 19, 2021, 02:22 (GMT)
Fix crash on file load in unregistering bke::AssetLibraryService

Use mutable iterator to support callbacks removing themselves.
October 19, 2021, 01:50 (GMT)
Fix image cache margin calculation

This margin was inconsistently calculated: only taking the
visible region and interface scale into account in some cases.
October 19, 2021, 01:50 (GMT)
Fix memory leak in sample tool

When there was no image buffer, sample leaked memory.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021