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 |
|