Blender Git Commits

Blender Git commits from all branches.

Page: 242 / 2888

July 16, 2021, 04:59 (GMT)
USD export format changes.
July 16, 2021, 04:49 (GMT)
USD export: make prototype roots invisible.

Updated instancing export to make the root prims of prototypes
invisible. Previously, every prim in the prototype hierarchy
was marked invisible, which prevented instances from displaying.
July 16, 2021, 03:04 (GMT)
Cleanup: Comment and redundant logic
July 16, 2021, 02:29 (GMT)
Merge branch 'master' into curve-nodes-modifier
July 16, 2021, 01:58 (GMT)
USD export: skip writing instance subgraphs.

When instancing is enabled, no longer creating writers for instance
data and children.
July 15, 2021, 20:33 (GMT)
- added geometry module
- moved solidify to geometry module
July 15, 2021, 19:44 (GMT)
Fix incorrect enum
July 15, 2021, 19:24 (GMT)
Merge branch 'master' into temp-geometry-nodes-curve-sample
July 15, 2021, 19:20 (GMT)
Array Brush: Disable debug drawing
July 15, 2021, 19:16 (GMT)
Merge branch 'master' into sculpt-dev
July 15, 2021, 19:05 (GMT)
Merge branch 'master' into asset-greasepencil
Revision 3600e90 by aousdfh (sculpt-dev, temp_test_sc_keymap)
July 15, 2021, 19:00 (GMT)
Array Brush: expose fill holes and orientation lock
July 15, 2021, 16:22 (GMT)
Cycles X: Ignore shadow catcher from holdout collection

Differential Revision: https://developer.blender.org/D11937
July 15, 2021, 16:19 (GMT)
Fix wrong render result after cryptomatte commit

Was checking the wrong field to see whether there are any cryptomatte
passes in the scene.
July 15, 2021, 15:26 (GMT)
GPUFramebuffer: Bump maximum color attachement to 8

This is needed for EEVEE's new deferred render pipeline.
July 15, 2021, 15:15 (GMT)
Cycles X: Bring back cryptomatte post-processing

Is the non-accurate mode which is used for both CPU and GPU which is
done as a post-processing pass after all samples have finished. This
is happening via render scheduler, as it knows when path tracing did
finish.

Compared to regular Cycles this makes it so the cprypromatte pass is
properly sorted with adaptive sampling enabled.

The accurate CPU implementation which used to be done via the Coverage
class is not yet hooked back. This needs to somehow happen either via
the kernel or via the PathTraceWork. Current state of the patch should
make it trivial to bring accurate implementation back.

This change also fixes missing denoising when rendering when using
constant time rendering.

Differential Revision: https://developer.blender.org/D11934
July 15, 2021, 15:00 (GMT)
Cycles X: Implement path compaction for shadow catcher

The demo file is BMW27 with the ground set as a shadow catcher.
The observed performance improvement is about 5% on RTX5000.

The general idea is to schedule new tiles in a way that we always
leave space for the shadow catcher. Roughly, we first schedule 50%
of path states from the maximum number of paths, then 25% and so on.

Summary of changes:

- Replace constant offset of shadow catcher state with an atomically
incrementing index.

- Add new kernel to count number of states which can still spit.

Could experiment with some atomics so that path split decreases a
value, so does path termination, and increase it when new paths
are added. Not sure this will give better performance.

- Remove terminated paths kernel from scheduling.
The paths are compacted, so we know they are in the beginning of
the array.

Differential Revision: https://developer.blender.org/D11932
July 15, 2021, 14:59 (GMT)
Cycles X: Tweak max number of states seen by tile scheduler

This is required for shadow catchers to make it so the tile scheduler
gives work which can fir into the number of allowed camera rays. Use
a smaller value from the maximum number of states to prepare code for
state compaction of re-scheduling for the shadow catcher.

Interestingly, this has positive effect on regular rendering here with
RTX 5000:
```
new cycles-x
bmw27.blend 12.445 12.2104
classroom.blend 24.4949 24.4508
pabellon.blend 11.3019 11.4407
monster.blend 13.409 13.4491
barbershop_interior.blend 18.6601 18.8364
junkshop.blend 26.3212 27.051
pvt_flat.blend 22.7389 22.9345
```

For the future development we might try to make it so tile scheduler
gives smaller tiles with smaller number of samples, rely on the path
work GPU to request as many tiles as fit into the path states. Need
to be careful though, because there are downsides in terms of memory
bandwidth to pass works tiles to the init_from kernels.
July 15, 2021, 14:59 (GMT)
Fix Cycles X adaptive sampling convergence check

The optimization of atomics and reduction was wrong: the warp voting
functions operate on a threads from a warp (obviously), and the result
of the vote is to be accumulated once for every warp.

Thread index is measured within a block, not within a warp: a block
can have a lot (GPU-dependent) number of threads, while warp has only
32 threads.

Now the code does a voting and atomically adds to the result.

This solves possible too-early sampling stop on GPU, but because the
old code could have finished too soon, there is potential that the
absolute render time number goes up.

Is one of the things which is a bit hard to see on the real file,
but the same approach was giving wrong approach during development of
shadow catcher occupancy improvement. So best visualization of the
problem so far was to force `converged` to be always false and print
number of pixels and active pixels after the running kernel. Before
this change the number of active pixels was much smaller than the
number of pixels, now those values match.
July 15, 2021, 13:10 (GMT)
Added support for multiple resolution curve fillet segments
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021