Separate BSDF can extract a color from BSDF node. A user edit color like BI, then Combine BSDF combine the edited color and BSDF.
These nodes can make following results.
Differential D3190
Blender 2.8 Eevee NPR Proposal - Add SeparateBSDF node and CombineBSDF node Authored by Kinouti Takahiro (dskjal) on Apr 30 2018, 12:45 AM.
Details Separate BSDF can extract a color from BSDF node. A user edit color like BI, then Combine BSDF combine the edited color and BSDF. These nodes can make following results.
Diff Detail
Event TimelineComment Actions @Clément Foucault (fclem), I guess you can comment on how this fits in the Eevee design. This probably won't be supported by Cycles soon. Any reason this is called "Separate BSDF" rather than "Separate Shader"? Does it only work with BSDFs, or do Emission nodes work as well? Also related discussion here:
Comment Actions I think this is the easy way. It's just extracting radiance from the bsdf struct so it's a bit unpredictable with most of the bsdfs. The more correct and maybe more intuitive would be to just convert closure to color implicitly. The problem resides in the Screen Space deferred outputs. We should not use SSR or SSSS for any node in upstream. But these upstream nodes can be linked to the output node via another route. So what I suggest is to just evaluated the specular reflections at the conversion point. For the SSS just multiply the radiance by the SSS color and don't do anything fancy. I know SSRefraction is already evaluated in the forward pass so it's not a problem. I had plans to do this stuff but if you are feeling like doing it please let me know so we don't duplicate work. A good starting point would be to see how we convert color to values with the convert_rgba_to_float function and implement a similar function (convert_closure_to_rgba). For the inverse conversion (RGBA to Closure), I would do that implicitly too by just considering this RGBA as radiance + opacity. From a UX perspective i'm not quite sure what would be the most clear, intuitive and reliable way between adding conversion nodes or implicitly converting. So my vote goes to implicit conversion. Comment Actions We talked about this further with @Clément Foucault (fclem) and @Dalai Felinto (dfelinto), and we agreed:
Comment Actions @Clément Foucault (fclem) Comment Actions I am working on this also, check out: https://devtalk.blender.org/t/contribution-npr-nodes-in-eevee/372/13 In my testing, the Split Shader + Half Lambert combination works quite well and is easier to use than plugging stuff in a ramp. Not to mention more powerful because you can use shaders instead of just flat colours, and plug textures in to the ramp "stops". I will have a patch for it by next week, so we can test it all together. よろしくお願いします(^^) Comment Actions Since I'm doing the other two NPR nodes I can take on that one also if Kinouchi-san doesn't. I was going to make it anyway. | |||||||||||||||