Sorry for droning on about this! But seeing that so many of you seem to have no qualms about the additive approach to coatings, I wonder if there may be an error in my reasoning. So I’ll state my case again.
There are two different approaches to glossy coatings in Maxwell:
- Simple blending of BSDFs/Layers: A high-roughness BSDF (i.e. the base) is mixed with a low-roughness BSDF (i.e. the coating) with a specific mix-ratio. This case computes as follows:
Code: Select all(BSDF[base] * weight[base] + BSDF[coating] * weight[coating]) / (weight[base] + weight[coating])
The result is always properly normalized, i.e. the total result will never exceed the higher of the individual BSDF solution.
- Additive blending of Layers: A layer containing a high-roughness BSDF (i.e. the base) is added to a layer containing a low-roughness BSDF (i.e. the coating). This will compute as follows:
Code: Select allLayer[base] * weight[base] + Layer[coating] * weight[coating]
There is no normalization here, as the individual solutions are just added up. Unless at least one of the two is zero or the sum of all weights is less than 1.0, the total result will always exceed both individual solutions. This means more light might be reflected than physically possible, leading to the aforementioned amplification problem.
The formulas are of course not meant literally and are only intended to illustrate how these two approaches relate different layers/BSDFs to each other. Please let me know if either of these is incorrect.
tom wrote:You can use both methods making your materials without worrying about physical correctness. Both methods are safe and they are not exceeding 100% reflectance.
This is only true in regards to computational problems that might arise from reflectance exceeding the allowed range. I’m not saying this is what Tom meant, but it does not mean that every material will always behave in a manner that is physically plausible or even possible. So I don’t think it is good advice to recommend to not worry, when it is not at all hard to produce physically incorrect setups.
Mihai wrote:Would the version with the topcoat have a duller and darker looking yellow? I'd guess no.
Yes, it most certainly would! Think about it, all light that is reflected by the coating will never even reach the yellow base underneath it. So, naturally, the yellow will be dimmed. Normal blending would be the way to go here. If the result doesn’t ‘feel’ right, then the reason is either a missing SSS component, that would brighten the base, or the coating is set up as too reflective.
I need to make a strategic decision for one approach or the other. So I thought about this issue quite a lot and did some experiments over the last couple days. I have a tentative conclusion, but I'll wait for Tom's results.