Dispersion in glass or crystal (Abbe number, Cauchy coefficients, Sellmeier coefficients)

wizwiz Posts: 1,100
edited December 1969 in The Commons

Got an ugly one today.

Dispersion is the property of transparent things that makes them break white light up into the colors of the rainbow. We optics geeks talk of the Abbe number, Cauchy coefficients, or Sellmeier coefficients of optical glass or crystal.

I know LuxRender has the ability to set one Cauchy parameter. Can 3DeLight do this, too? Is it accessible to DAZ Studio?

I thank you, and my glass and gemstone renders thank you.

Comments

  • V3DigitimesV3Digitimes Posts: 3,366
    edited December 1969

    wiz said:
    Got an ugly one today.

    Dispersion is the property of transparent things that makes them break white light up into the colors of the rainbow. We optics geeks talk of the Abbe number, Cauchy coefficients, or Sellmeier coefficients of optical glass or crystal.

    I know LuxRender has the ability to set one Cauchy parameter. Can 3DeLight do this, too? Is it accessible to DAZ Studio?

    I thank you, and my glass and gemstone renders thank you.

    Dispersion is a wavelength dependent parameter. So the render must be wavelength sampled, and this on each level. in Luxrender this is easy since the emission spectrum, or wavelength repartition of your light source, is included in the model of light you choose (defined by blackbody color temperature or CIE white illuminants if I remember well). In luxrender you can also give to your materials wavelength dependent properties (always if I remember well).

    Now what in DAZ Studio?
    I have not had a look at this specific point for 3Delight, but here is a few clues to go further.

    3Delight is just"eating" and applying the formula we are able to create to it via the shader builder (to create new formulas/or bricks) or the existing pre-included bricks available in the mixer directly.
    Now maybe these bricks are already available, maybe not.
    Yet I have a doubt concerning the fact they exist :

    In order to have something with dispersion, you anyway need to "compute and recombine" a result "wavelength by wavelength" (eventually color component by color component but this will not give a beautiful result). Ideally a 5 up to 10 nm sampling step provides a good compromise between calculation time and quality of results. Which means that :

    1. the light spectrum you send must be sampled this way,

    2. OR you have to sample a light source using its base color, somewhere in the brick. But RGB color space regarding a source spectrum is not mathematically injective, meaning that several different colour coordinates can come from different spectra can provide a same color coordinates. So what will you choose as model for sampling in wavelength? BlackBody (seems the wiser)? CIE Illuminants for whites? What about other saturated colors?

    3. Once the source is sampled, you need a formula which will calculate the path of rays (or equivalent) wavelength per wavelength, this will depend upon material chromatic answer and here the Cauchy coefficients are generally an excellent approximation of the wavelength dependent index of refraction of a glass in the visible spectrum. So it will require a brick recalculating from the coefficient first the optical index at this wavelength, and then sending it to a refract brick (which exists hurray!!!)

    4. And then a last component which will recombine and sum the different wavelength contribution on a given area in space, and then translate it to RBG coordinates.

    I'm not saying this is not possible, I'm saying that if the bricks exist, they should present these specificity. I had a rapid look in the builder and I have not found this bricks. Now maybe someone more used to me to the builder will tell here that they are there. Plus, another clue, in the builder I do not see the wavelength as an input parameter, so maybe this is not included.
    Yet, I think (80% sure) this may be programmable, since we can enter any user variable we want, but this is not easy.

  • Eustace ScrubbEustace Scrubb Posts: 2,720

    Iray has both standard IOR and Abbe IOR bricks, and light temperatures can be set as well, now.  I don't know how the Abbe function works, yet, but it's worth exploring.  (More details are in the DazStudio forum threads.)

  • SzarkSzark Posts: 10,634

    does anyone know of a list of Abbe values for Iray materials/shaders?

  • AllenArtAllenArt Posts: 7,175
    edited April 2018
    Szark said:

    does anyone know of a list of Abbe values for Iray materials/shaders?

    Abbe numbers are very difficult to find (I've tried...lol). Dispersion numbers are much easier. However, at any rate, there's a formula I believe, but don't ask me to explain it. I'm math deficient :P. LOL

    Laurie

    https://en.wikipedia.org/wiki/Abbe_number

    https://www.fxsolver.com/browse/formulas/Abbe+number+%28+V-number%29

    http://www.calctool.org/CALC/chem/substance/abbe

    http://classicgems.net/index.html

    Post edited by AllenArt on
  • kyoto kidkyoto kid Posts: 41,854

    ..for 3DL I just use Easy Caustics. Yeah, it is a "cheat" but one that's nice for the workflow

  • SzarkSzark Posts: 10,634
    AllenArt said:
    Szark said:

    does anyone know of a list of Abbe values for Iray materials/shaders?

    Abbe numbers are very difficult to find (I've tried...lol). Dispersion numbers are much easier. However, at any rate, there's a formula I believe, but don't ask me to explain it. I'm math deficient :P. LOL

    Laurie

    https://en.wikipedia.org/wiki/Abbe_number

    https://www.fxsolver.com/browse/formulas/Abbe+number+%28+V-number%29

    http://www.calctool.org/CALC/chem/substance/abbe

    http://classicgems.net/index.html

    I was top of my class in math for years now all I can do is the basic stuff. Thanks for the links I will see what I can gleam from them. 

  • wizwiz Posts: 1,100

    Wow!

    Zombie thread.

  • SzarkSzark Posts: 10,634

    not anymore, it lives

  • Eustace ScrubbEustace Scrubb Posts: 2,720
    There are plenty of sites with the abbe formula, and a fair number with each of the following: 1) abbe numbers for misc. optical glasses. 2) a basic dispersion value for various gemstones, [i]sans[/i] reference wavelength. 3) discussion of abbe dispersion as a component of gems' "fire". 4) the abbe number for diamond (precise or approximate. What I CAN'T find is a good database of abbe no.s for gemstones specifically. The best I HAVE found was the RefractiveIndex Database site linked earlier, and most of those had to be searched by chemical formula if there was even anything there at all. Has anyone else here run across one?
  • wizwiz Posts: 1,100

    Some days, you search for something you need to know, and all you find is yourself, looking for the same thing years ago.

  • Sven DullahSven Dullah Posts: 7,621
    edited October 2019
    wiz said:

    Some days, you search for something you need to know, and all you find is yourself, looking for the same thing years ago.

    Heh...I happen to know that wowie has experimented a bit with dispersion within scripted pathtracing for 3DL. Perhaps ask in the 3DL laboratory thread?

    https://www.daz3d.com/forums/discussion/55128/3delight-laboratory-thread-tips-questions-experiments#latest

    Post edited by Sven Dullah on
  • Sven DullahSven Dullah Posts: 7,621

    Found this testrender wowie posted in my awe test thread. It's not made in spectral space;)

Sign In or Register to comment.