View Full Version : fresnel effect and chrome

06 June 2010, 08:44 AM
what effect does the fresnel effect, if any, have with highly reflective objects, like chrome? Should it be ignored in the case of mirror-like surfaces?

It would seem, logically, that if the fresnel effect is a big issue with glass, a highly reflective and smooth surface, that it might also be an issue with chrome.


06 June 2010, 04:05 AM
As far as I know, there are two main catagories of material; dielectric which includes glasses, plastics, and basically everything non-metal, and then there are metals!

The fresnel effect is very important for dielectrics/non-metals but for metals the effect is not too pronounced. I basically turn off fresnel for metals and then for my 0 and 90 degree reflection amounts I set them both to 1, or to only have a slight difference, essentially making metals reflect evenly all over. If you look at something chrome in particular you can see it's essentially a mirror all over! There's no noticable change in reflection strength based on the angle of view.

I often find people don't turn on the Fresnel checkbox because when they do, by default they then lose most of their 0 degree reflection, which they don't want in most cases so they go back to using the two sliders. The trick is that when Fresnel is turned on, you use the 'Index of Refraction' number to increase/decrease the 0 degree reflection. An IoR of 2 or 3 for example is still very dim, but with an IoR of 40 you get nearly even reflection all over.

Anyway I think I went a bit overboard with the explanation but hopefully it's useful to people!


06 June 2010, 05:53 AM
Thanks, appreciated by one and all I am sure! :D

06 June 2010, 08:17 AM
the fresnel index is very important to render metals, you should activate the BRDF an use a index about 25-50

06 June 2010, 08:25 AM
Anyway I think I went a bit overboard with the explanation but hopefully it's useful to people!
overboard=no, useful=yes


06 June 2010, 11:14 AM
What exactly is the difference between the BDRF (0 and 90 degree reflectivity) and Fresnel (IOR) ? It seems like they are controlling the same thing- the amount of reflectivity at 0 and 90 degrees.

What is the difference?

06 June 2010, 12:41 PM

06 June 2010, 01:47 PM
You're right, they are controlling the same thing, just a bit differently.

Using the reflection 0, 90 and BRDF Curve parametres is just a more direct/hands-on way of controlling the reflection falloff, but the physical accuracy is not going to be maintained the way it will be using Fresnel with the IoR. The Fresnel equation describes how light is reflected/refracted for a material of a given IoR. You put in the 'right' IoR and you should get the right falloff according to the math the law uses.

People in 3D typically know some standard IoRs for refractive materials like that water is around 1.33 and glass is around 1.5, but it's a fairly recent development (to my knowledge) to start using IoR for opaque surfaces too. I have no idea what the IoR is for gold for example, but you can essentially do it by eye once you see how it's affecting your shader. The higher the IoR the more 0 degree reflection you have, and the shape/curve of the falloff between 0 and 90 will be affected too. Actually the 90 degree reflection amount is affected by Fresnel too but you don't really notice it until you get into high IoRs like 40+, which I'd forgotten!

I said earlier that for metals I set the reflection 0 and 90 to the same value (or close to) instead of using Fresnel but tostao_wayne is right, you should still use Fresnel but with a high IoR and it will actually look better. Thanks for that! :blush:

I was planning to do a bunch of example images comparing using Fresnel to the BRDF curve but it's getting pretty late here so I'll do it tomorrow!

If you want to match the default settings of Ref0 = 0.2, Ref90 = 1, BRDF Curve =5 using Fresnel mode, you set your IoR to about 2.6. Just by the way. ;)

06 June 2010, 07:49 AM
Anybody know, why in chrome preset of mia_material transparancy set to 1 and refraction color set to pure black? I always wonder if it has some sense.

06 June 2010, 12:49 PM
The index of refraction for chromium is around 3, which is close to the value I use in Maxwell. However in mia material in need to use a value above 20 to achieve the same look. So, is index of refraction in mia_material correct? if not, then the settings for glass 1.5 ior must also be wrong. There appears to be some disparity here. Can someone explain?

06 June 2010, 02:01 PM
The IOR in the mia-materials ignores absorption, which is correct for ideal dielectrics only.
One formula to get the IOR would be:
IOR = sinus(angle of incidence)/sinus(angle of refraction)
For me it's the easiest way to visualize why the IOR has to be a number between 1 and 3, at least for ordinary materials.
As soon as you include absorption, the IOR becomes a complex number. That's the way it's implemented in Maxwell. A real part, typically between 1 and 3 plus an imaginary part.
I don't know why raising the IOR to very high values works. Maybe it's accident, maybe the shader doesn't use the actual IOR-number, but the length of it's corresponding vector, which is a real number. Makes no sense to worry about it anyway.

Another "problem" with the IOR aswell as with the BRDF-curve setting in the mia is it isn't linked with the other reflection attributes in an intuitive way.
Let's say, instead of chrome, you would want to make some copper. For 0-reflection it has a yellowish/brownish color, for 90-reflection it's white (and somewhere in between you even get some blue).
In Maxwell, even if you choose to achieve this look by hand, rather than with different IORs for respective colors/wavelengths you can by setting two different colors for 0 and 90.

With the mia-material however, you need a facing-ratio-ramp/curve. But changing the glossyness, won't change the curve/ramp you're using (the colors should "blur", even if it's just a grey tone for colorless metal). You'd need a more complex shading network to make all those attributes depend on each other.

Also note, that actually unbiased renderes are only a good reference for light-transport, not for shading in first place. They work with shading models and approximations just as every other software. The only thing that's usually guaranteed is energy conversation and reciprocity. For example the calculation for the fresnel-effect aswell as the shadowing/masking models have changed in maxwell 2 from older versions, yielding in visually different results for the same settings. It's better to think of a physically plausibel renderer, not physically "correct".
Perhaps Maxwell originally had the maxwell shading model implemented (hence it's name?), while mia_materials use Oren-Nayar for the diffuse and yet another model for reflections. So even if you could apply the same settings and numbers in both packages, you'd get different result. Different simply means different, not wrong or right - at least to me.

Hopefully I didn't bore you with stuff you already know anyway.

Best regards

edit: Actually I know very little about the technical parts. I'm making assumptions from what i know, hoping someone who knows better will clear things up for me as well =D

CGTalk Moderation
06 June 2010, 02:01 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.