[Bf-cycles] Feature: Recoloring of lights and materials post-render.

Brecht Van Lommel brechtvanlommel at gmail.com
Thu Oct 11 17:08:59 CEST 2018

Hi Peter,

For lights groups, there is a patch here which we should get committed at
some point:

For changing shader colors, personally I'm not entirely convinced it's
worth the code complexity. The trend is towards interactive previews and
realtime raytracing, and with a finite amount of development time to me it
seems more useful to improve that workflow. The other reservation I have
about this is if it really works in the more complex scenes where almost
every surface is textured. You might have hair, SSS, volumes, transparency,
and it just gets harder and harder to do a meaningful approximation. But
it's the more complex scene where relighting is most useful.

It really depends what this is intended to be used for though. For example
I can imagine shader relighting being greater for e.g. an interior design
application where you want to the user to be able to pick a custom color,
or you want to save render time when rendering many variations (maybe
that's the kind of thing iRay had in mind?). It's less obvious to me how it
fits into an artistic workflow, where you are generally changing many
settings at will, or navigating the viewport, and it's hard to pick a few
settings in advance that you want to get a quick preview of later. The
intended use cases should then also information how the UI works.


On Thu, Oct 11, 2018 at 4:34 PM Peter Schmidt-Nielsen <
schmidtnielsenpeter at gmail.com> wrote:

> Hello folks,
> I'd like to add a feature to Cycles (and Blender) to support post-render
> recoloring of lights, and limited recoloring of materials. Post-render
> recoloring of lights is a feature implemented in Maxwell, which they call
> "multilights". Limited recoloring of materials can be achieved in Iray
> using their Light Path Expressions. The idea is to support both kinds of
> post-render relighting with a simple design, although not support the full
> generality and flexibility of Iray's LPEs.
> I think Cycles' users would benefit enormously from having such a feature.
> The end user experience would be that a user could change color parameters
> in specially marked lights and materials after the render, and the render
> would update instantly to a completely accurate version of what the render
> would have yielded with the different color parameters.
> I have a description of my plan, which I wrote up about a year ago when I
> first started poking around Cycles:
> http://web.mit.edu/snp/Public/polynomialrelighting.pdf
> However, I'm not very familiar with the Cycles code base beyond the very
> small amount of poking I did a year ago, and would love some advice and
> direction on how feasible it is to implement this feature.
> A TL;DR for my write-up linked above:
> 1) One can implement Maxwell-style "multilights" by just having one render
> buffer for each relightable light, and writing path contributions into the
> appropriate light's buffer.
> 2) I think one can implement Iray style post-render changes to material
> colors without implementing a full-on LPE system, if you just track a
> little extra data with PathRadiances and throughputs, and have a bunch of
> extra render buffers.
> Is anyone else interested in working on such a feature, or at the very
> least giving me some advice on this?
> Thanks,
> -Peter Schmidt-Nielsen
> P.S. I mentioned this about a year ago in #blendercoders, but I got busy
> and didn't keep working on it. A few months ago someone in #blendercoders
> recommended that I ask here.
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-cycles/attachments/20181011/2bcd8fc1/attachment.html>

More information about the Bf-cycles mailing list