<div dir="ltr"><div dir="ltr"><div>Hello folks,</div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>I have a description of my plan, which I wrote up about a year ago when I first started poking around Cycles:</div><div><br></div><div style="margin-left:40px"><a href="http://web.mit.edu/snp/Public/polynomialrelighting.pdf">http://web.mit.edu/snp/Public/polynomialrelighting.pdf</a></div><div><br></div><div>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.</div><div><br></div><div>A TL;DR for my write-up linked above:</div><div><br></div><div>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.<br></div><div>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.<br></div><div><br></div><div>Is anyone else interested in working on such a feature, or at the very least giving me some advice on this?<br></div><div><br></div><div>Thanks,</div><div><br></div><div>-Peter Schmidt-Nielsen</div><div><br></div><div>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.<br></div></div></div>