Correctly combining separated RGB components of fresnel defined gloss/diffuse ratios?

This is a bit of an academic exercise - I am interested in seperately defining the three components of light reflected from a surface, where the the glossy/diffuse mix for each is defined by a different fresnel curve. I will attach a pic to demonstrate when I am at my computer, in the mean time here is a text description:

Using the layer weight node, plugged into an RGB curve node, it is possible to control the fresnel mix for one glossy shader and one diffuse shader. However, when I separate out my glossy colour into the respective red, green and blue components, and try and re-mix those with the diffuse, one by one, each with a different fresnel curve, I am not getting the results I expected.

A trial using pure R, G, B and identical frensel curves to mix them into the diffuse, shows that the final result is not a white gloss, but actually ends up with a light blue hue.

What would be the ‘correct’ way to mix separated RGB components of a glossy shader with a diffuse shader, if I wanted to define the mix of each with a fresnel curve?

Thanks,

Matt

iI think I have figured out a reasonable comprimise for now. I can get the RGB channels by multiplying the spec map by solid R, G an B, then mixing each with an empty shader via a fresnel curve, and finally adding the results together and mixing that with the diffuse with one last fresnel. The results will do, but I believe the extra fresnel mix at the end will create a bias in the RGBs.

Generally when you separate RGB components and recombine them (e.g. to simulate dispersion glass) - you would normally ADD the RGB components rather than mix them.

Of course - using the ADD shader means you cannot use fresnel to change the mixing amounts - although i’m sure I saw a thread around here a few months back discussing that very thing (i.e. a fac slot on the ADD shader).

I’ll have a think.

Thanks, I kind of ended up using add shaders in the end (see my reply to the original post), I added together the fresnel components of each of the R, G and B, and then used a final mix node to mix that back in with the diffuse with another fresnel. The results are good enough, but it would be nice to be able to somehow mix them individually with the diffuse with an add shader controlled by their own respective fresnel curves.I’ll have a search for the add with fac node you mention.

Cheers!