As soon as I think I get a handle on material theory, I discover something that sets me back to square one and leaves me questioning everything I know. I have started playing around in the world of material scanning. When I scan fabrics, plastics, paper etc... the specular color I get is almost always non white. In fact it represents the opposite color on the spectrum as the diffuse color. At first, I thought this was a wrong capture, but after asking fellow material scanners, and the creators of a material scanner, they get the same result and are saying that is actually the correct map to use in a pbr engine and that having an opposite color as the diffuse gets them the pure white reflection that dielectrics have.
So I tried this out in the world of Vray. I've noticed if I create a material with a pure Red Diffuse with a value of 1 with a reflection color of pure cyan with a value of 1, I do indeed get a white reflection. I clearly get the same result if I do a white reflection as well. In fact, I get the same exact beauty render. As long as I keep my saturation values the same between the diffuse and reflection channels, I get the same beauty render.
The exception is, when I have a wide glossy lobe, I get slightly different results. See attached images for comparison. The one with the tinted reflection color has a more saturated color at grazing angle, which looks nicer, but I don't think is correct.
I think I understand why the difference. When we tint the reflection, the grazing angle reflection is more noticeably tinted causing a more saturated reflection that isn't dull. However, if I understand Fresnel correctly, as the angle reaches grazing, the reflection value goes towards 1 or white. So if I create a custom fresnel node, and pipe in the cyan color for the facing angle and white for the grazing angle, I get similar if not the same effect as having a pure greyscale color in the reflection channel which makes them now render the same.
Questions:
1. What is going on here, can anyone offer an explanation and how I should work if desiring to be as accurate as possible? Do I need a colored spec inverse of that to the diffuse?
a. Why are the reflections tinted when scanning a material? Is it because: it is the colors that are not absorbed by the material, thus getting reflected back as a tint which, when combined with the diffuse, produces an un-tinted reflection color?
b. If that is correct, and we do indeed need to use a color in the reflection channel of our materials for pure accuracy, do we need to make a custom fresnel so it falls off to a white value at grazing angle? Or do we leave it as is, and it falls off to a near 1 value at grazing, but still retains it's saturation?
c. IF the correct workflow is to use a tinted reflection color and have it fade to white at grazing angle, producing the same output as if we had simply used a white value in our reflection channel, is that why we simply use white in our reflection colors to begin with? Does Vray take care off all of that math for us?
2. From what I understand, to work in completely accuracy within Vray, you keep your reflection color to 1 with all materials. The only reason why dirt is more matte than a shiny plastic ball is due to micro-facets, so you should only really use GGX and adjust your glossiness and IOR to achieve different materials. Is this correct?
a. If this is correct, when working with really matte surfaces such as most fabrics, I find that I MUST always lower my reflection amount considerably or the material will appear too reflective. Is this wrong? Do I really only need to adjust glossiness and my IOR for different materials?
3. When I scan a material that has two colors, say black and white, the scanned reflection will be much brighter in the black color and much darker in the white area. Material Scanners say this is correct behavior because it follows energy conservation. Darker materials have more reflection because there is less diffuse color and vise versa. I agree with this, but I don't think I would plug this map into a Vray material, because Vray handles that energy conservation by itself, correct? Or do I need to still plug in the reflection map that says more reflection in the dark areas and less in the white to be physically accurate?
Thank you so much for your insights and help.
So I tried this out in the world of Vray. I've noticed if I create a material with a pure Red Diffuse with a value of 1 with a reflection color of pure cyan with a value of 1, I do indeed get a white reflection. I clearly get the same result if I do a white reflection as well. In fact, I get the same exact beauty render. As long as I keep my saturation values the same between the diffuse and reflection channels, I get the same beauty render.
The exception is, when I have a wide glossy lobe, I get slightly different results. See attached images for comparison. The one with the tinted reflection color has a more saturated color at grazing angle, which looks nicer, but I don't think is correct.
I think I understand why the difference. When we tint the reflection, the grazing angle reflection is more noticeably tinted causing a more saturated reflection that isn't dull. However, if I understand Fresnel correctly, as the angle reaches grazing, the reflection value goes towards 1 or white. So if I create a custom fresnel node, and pipe in the cyan color for the facing angle and white for the grazing angle, I get similar if not the same effect as having a pure greyscale color in the reflection channel which makes them now render the same.
Questions:
1. What is going on here, can anyone offer an explanation and how I should work if desiring to be as accurate as possible? Do I need a colored spec inverse of that to the diffuse?
a. Why are the reflections tinted when scanning a material? Is it because: it is the colors that are not absorbed by the material, thus getting reflected back as a tint which, when combined with the diffuse, produces an un-tinted reflection color?
b. If that is correct, and we do indeed need to use a color in the reflection channel of our materials for pure accuracy, do we need to make a custom fresnel so it falls off to a white value at grazing angle? Or do we leave it as is, and it falls off to a near 1 value at grazing, but still retains it's saturation?
c. IF the correct workflow is to use a tinted reflection color and have it fade to white at grazing angle, producing the same output as if we had simply used a white value in our reflection channel, is that why we simply use white in our reflection colors to begin with? Does Vray take care off all of that math for us?
2. From what I understand, to work in completely accuracy within Vray, you keep your reflection color to 1 with all materials. The only reason why dirt is more matte than a shiny plastic ball is due to micro-facets, so you should only really use GGX and adjust your glossiness and IOR to achieve different materials. Is this correct?
a. If this is correct, when working with really matte surfaces such as most fabrics, I find that I MUST always lower my reflection amount considerably or the material will appear too reflective. Is this wrong? Do I really only need to adjust glossiness and my IOR for different materials?
3. When I scan a material that has two colors, say black and white, the scanned reflection will be much brighter in the black color and much darker in the white area. Material Scanners say this is correct behavior because it follows energy conservation. Darker materials have more reflection because there is less diffuse color and vise versa. I agree with this, but I don't think I would plug this map into a Vray material, because Vray handles that energy conservation by itself, correct? Or do I need to still plug in the reflection map that says more reflection in the dark areas and less in the white to be physically accurate?
Thank you so much for your insights and help.
Comment