Page MenuHome

Cycles: Implement render passes that contain all lighting from lights in a specified group
Needs ReviewPublic

Authored by Lukas Stockner (lukasstockner97) on Aug 15 2018, 2:33 AM.

Details

Summary

This can currently be done using renderlayers, but doing it in one render can be faster.

These passes are useful because they make it easy to tweak the lighting in scenes after rendering has finished.

There still are some ToDos left - the biggest limitation is the maximum of 8 light groups, but this is a tradeoff between number of passes and kernel memory usage.

Another question is how to handle denoising for these layers.

Depends on D3538 since it also has multiple named passes of the same type.

Diff Detail

Repository
rB Blender
Branch
lightgroups (branched from master)
Build Status
Buildable 4199
Build 4199: arc lint + arc unit

Event Timeline

Update to current master and changed from Groups to Collections.

Also adds some features, e.g. including the world background in a group.

Juan Gea (juang3d) added a comment.EditedSat, Aug 24, 4:07 PM

Great feature.

I've been testing it, right now I find two things:

1.- It does not work well with adaptive sampling (I imagine AS needs some kind of tuning to support this)

2.- Clamping does not affect light group passes, so I'm getting fireflies out of it.

3.- Less important for a first implementation in master IMO, but somewhat important, it does not recognise emitter shaders as lights in the light groups