Difference between revisions of "Glass Material IOR and Dispersion"

From LuxCoreRender Wiki
Jump to navigation Jump to search
m (Updating/testing equations and symbols)
(Insert equations, images, fix some text)
Line 1: Line 1:
The aim of this article is to present an overview of glass dispersion, how it is quantified and used in the LuxCore glass material to model dispersion, and how . The focus here is on using the data and models in the physically correct way. For artistic purposes, you may want to deviate from the described methods.
The aim of this article is to present an overview of glass dispersion, how it is quantified and used in the LuxCore glass material to model dispersion, and how to get the correct numbers to use. The focus here is on using the data and models in the physically correct way. For artistic purposes, you may want to deviate from the described methods.


==Introduction==
==Introduction==
Line 5: Line 5:
Glasses have an important property called the Index Of Refraction (IOR). When a light ray encounters a change in IOR, e.g. at the surface of a piece of glass, the direction of the ray is changed according to Snell‘s law:
Glasses have an important property called the Index Of Refraction (IOR). When a light ray encounters a change in IOR, e.g. at the surface of a piece of glass, the direction of the ray is changed according to Snell‘s law:


[[File:Snellslaw.png|200px|frameless|left]]<br>
[[File:Snellslaw.png|x20px]]<br>


where n<sub>1</sub> and n<sub>2</sub> are the refractive indices outside and inside the glass, and &#x0398;<sub>1</sub> and &#x0398;<sub>2</sub> the angles between the surface normal vector and the rays outside and inside the glass.
where n<sub>1</sub> and n<sub>2</sub> are the refractive indices outside and inside the glass, and &#x03B8;<sub>1</sub> and &#x03B8;<sub>2</sub> the angles between the surface normal vector and the rays outside and inside the glass.


For real materials, the IOR is a function of the wavelength &#x03BB; of light. This property is called dispersion. For example, the IOR of N-BK7 glass, a common glass for laboratory optics, varies between n = 1.53 at a &#x03BB; = 400 nm, to n = 1.51 at &#x03BB; = 800 nm. This may not seem a big difference, but it has significant impact on imaging optics.
For real materials, the IOR is a function of the wavelength &#x03BB; of light. This property is called dispersion. For example, the IOR of N-BK7 glass, a common glass for laboratory optics, varies between n = 1.53 at a &#x03BB; = 400 nm, to n = 1.51 at &#x03BB; = 800 nm. This may not seem a big difference, but it has significant impact on imaging optics.
Line 17: Line 17:
===The Abbe number===
===The Abbe number===


A very common quantification is the Abbe number, denoted by nu, which is calculated from the refractive index at three differnt wavelengths:
A very common quantification is the Abbe number, denoted by &#x03BD;, which is calculated from the refractive index at three differnt wavelengths:


nuD = (nD – 1)/(nF – nC)
[[File:abbe_old.png|x28px]]


where the three wavelengths are D = 589.3, F = 486.12 and C = 656.27. An alternative definition is based on slightly different wavelengths:
where the three wavelengths are d = 589.3 nm, F = 486.12 nm and C = 656.27 nm. An alternative definition is based on slightly different wavelengths:


nue = (ne – 1)/(nF‘ – nC‘)
[[File:abbe_new.png|x30px]]


where the three wavelengths are e = 546.07, F‘ = 479.99 and C‘ = 643.85.
where the three wavelengths are e = 546.07, F‘ = 479.99 and C‘ = 643.85.


Important:  
'''Important:'''<br>
a) The Abbe number is an index value derived from three specific data points. As such, it makes no statement on how the refractive index varies between these points.
a) The Abbe number is an index value derived from three specific data points. As such, it makes no statement on how the refractive index varies between these points.<br>
b) When working with the Abbe number, check which of the two definitions is used.
b) When working with the Abbe number, check which of the two definitions is used.


Line 35: Line 35:
The Cauchy equation provides an approximate formula for the dispersion of light. The equation has the following form:
The Cauchy equation provides an approximate formula for the dispersion of light. The equation has the following form:


N(lambda) = A + B/lambda^2 + C/lambda^4 + ...
[[File:cauchy_multi.png|x25px]]


by convention, the wavelength must be used in units of micrometers!
by convention, the wavelength must be used in units of micrometers!
The glass material in LuxCore uses only the first two terms of the equation, i.e.
The glass material in LuxCore uses only the first two terms of the equation, i.e.


N(lambda) = A + B/lambda^2
[[File:cauchy_2term.png|x25px]]


This equation already provides a good fit to many real glasses in the visible spectrum.
This equation already provides a good fit to many real glasses in the visible spectrum.
Line 46: Line 46:
Since this form only depends on the two coefficients A and B, it is possible to convert them from a pair of Abbe number and refactive. The conversion algorithm is given below in section ().
Since this form only depends on the two coefficients A and B, it is possible to convert them from a pair of Abbe number and refactive. The conversion algorithm is given below in section ().


Important:
'''Important:'''<br>
a) Due to a different naming convention in the reference for the LuxCore implementation, the variables in the source code and tooltipps in BlendLuxCore currently ask for „Cauchy-C“ as the dispersion parameter instead of „Cauchy-B“.
a) Due to a different naming convention in the reference for the LuxCore implementation, the variables in the source code and tooltipps in BlendLuxCore currently ask for „Cauchy-C“ as the dispersion parameter instead of „Cauchy-B“.<br>
b) The Cauchy-A term is the asymptotical refractive index at high wavelengths. It is therefore smaller than the refractive index at the center of the visible spectrum, which is usually the IOR-value quoted for materials if nothing else is specified.
b) The Cauchy-A term is the asymptotical refractive index at high wavelengths. It is therefore smaller than the refractive index at the center of the visible spectrum, which is usually the IOR-value quoted for materials if nothing else is specified.


Line 54: Line 54:
Like the Cauchy equation, the Sellmeyer equation is a formula describing the refractive index as a function of wavelength. It is more complex and suited to describe the refractive index over a wider range of wavelengths:
Like the Cauchy equation, the Sellmeyer equation is a formula describing the refractive index as a function of wavelength. It is more complex and suited to describe the refractive index over a wider range of wavelengths:


[[File:sellmeyer.png|x30px]]<br>


As for the Cauchy equation, further terms could be used. Data sheets for optical glasses usually give the six coefficients of the above form.
As for the Cauchy equation, further terms could be used. Data sheets for optical glasses usually give the six coefficients of the above form.
Line 64: Line 64:
The concept of relative partial dispersions is similar to the Abbe number, but using another pair of refractive index difference at certain wavelengths in the numerator of the equation.
The concept of relative partial dispersions is similar to the Abbe number, but using another pair of refractive index difference at certain wavelengths in the numerator of the equation.


Even simpler, the refractive index difference can be used directly. A commonly found example is a dispersion value of 0.044 for Diamond. This is of the same order of magnitude as the Cauchy-B coefficent B = 0.012, and thus often quoted and used
Even simpler, the refractive index difference between red and blue light is sometimes given. A commonly found example is a dispersion value of 0.044 for Diamond. This is of the same order of magnitude as the Cauchy-B coefficent B = 0.012, and thus often quoted and used.


==Dispersion in LuxCore and Tipps==


==Dispersion in LuxCore and Tipps==
As mentioned in the previous section, LuxCore uses a two-term Cauchy equation to model the refractive index.


As mentioned in the previous section, LuxCore uses a two-term Cauchy equation to model the refractive index. Therefore, in (Blend)LuxCore, the correct way to input values is to set the Cauchy-A coefficient as IOR, and the Cauchy-B coefficient as dispersion.
'''Therefore, in (Blend)LuxCore, the correct way to input values is to set the Cauchy-A coefficient as IOR, and the Cauchy-B coefficient as dispersion.'''


For artistic applications, it should be fine to use the IOR at a visible wavelength instead of the Cauchy-A term. Likewise, a higher dispersion value may be used to compensate for limitations of the rendering process, like SDS caustics or fully specular paths.
For artistic applications, it should be fine to use the IOR at a visible wavelength instead of the Cauchy-A term. Likewise, a higher dispersion value may be used to compensate for limitations of the rendering process, like SDS caustics or fully specular paths.


The following image shows a comparison of a diamond rendered at different view angles and with different light sources, as well as with B=0, B = 0.0121 and B = 0.044.
The following image shows a comparison of a diamond rendered at with different dispersion values of B = 0 (no dispersion), B = 0.0121 (physically correct) and B = 0.044 (often quoted value). The IOR was adapted so that the refractive index at 550 nm remains constant and the caustics remain centered in the same location.


...
[[File:diamonddispersion.gif]]<br>


==Conversion from Abbe Number to Cauchy==
==Conversion from Abbe Number to Cauchy==
TBD...


==Further Reading==
==Further Reading==
Line 83: Line 86:
Some manufacturers of optical glasses and lens systems have published technical documents that may be helpful to further understand dispersion and how it is measured.
Some manufacturers of optical glasses and lens systems have published technical documents that may be helpful to further understand dispersion and how it is measured.


[https://www.schott.com/d/advanced_optics/02ffdb0d-00a6-408f-84a5-19de56652849/1.2/tie_29_refractive_index_and_dispersion_eng.pdf Schott TIE-29]
[https://www.schott.com/d/advanced_optics/02ffdb0d-00a6-408f-84a5-19de56652849/1.2/tie_29_refractive_index_and_dispersion_eng.pdf Schott TIE-29: Refractive Index and Dispersion]
 
[http://opticampus.opti.vision/files/memo_on_reference_wavelengths.pdf Zeiss Memorandum on reference wavelengths]


[https://www.schott.com/advanced_optics/german/knowledge-center/technical-articles-and-tools/tie.html Schott TIE Document collection]
[https://www.schott.com/advanced_optics/german/knowledge-center/technical-articles-and-tools/tie.html Schott TIE Document collection]
[http://opticampus.opti.vision/files/memo_on_reference_wavelengths.pdf Zeiss Memorandum on reference wavelengths]

Revision as of 16:11, 23 October 2020

The aim of this article is to present an overview of glass dispersion, how it is quantified and used in the LuxCore glass material to model dispersion, and how to get the correct numbers to use. The focus here is on using the data and models in the physically correct way. For artistic purposes, you may want to deviate from the described methods.

Introduction

Glasses have an important property called the Index Of Refraction (IOR). When a light ray encounters a change in IOR, e.g. at the surface of a piece of glass, the direction of the ray is changed according to Snell‘s law:

Snellslaw.png

where n1 and n2 are the refractive indices outside and inside the glass, and θ1 and θ2 the angles between the surface normal vector and the rays outside and inside the glass.

For real materials, the IOR is a function of the wavelength λ of light. This property is called dispersion. For example, the IOR of N-BK7 glass, a common glass for laboratory optics, varies between n = 1.53 at a λ = 400 nm, to n = 1.51 at λ = 800 nm. This may not seem a big difference, but it has significant impact on imaging optics.

Quantifying Dispersion

There are several common ways to describe, or quantify, the dispersion of a glass:

The Abbe number

A very common quantification is the Abbe number, denoted by ν, which is calculated from the refractive index at three differnt wavelengths:

Abbe old.png

where the three wavelengths are d = 589.3 nm, F = 486.12 nm and C = 656.27 nm. An alternative definition is based on slightly different wavelengths:

Abbe new.png

where the three wavelengths are e = 546.07, F‘ = 479.99 and C‘ = 643.85.

Important:
a) The Abbe number is an index value derived from three specific data points. As such, it makes no statement on how the refractive index varies between these points.
b) When working with the Abbe number, check which of the two definitions is used.

The Cauchy Equation

The Cauchy equation provides an approximate formula for the dispersion of light. The equation has the following form:

Cauchy multi.png

by convention, the wavelength must be used in units of micrometers! The glass material in LuxCore uses only the first two terms of the equation, i.e.

Cauchy 2term.png

This equation already provides a good fit to many real glasses in the visible spectrum.

Since this form only depends on the two coefficients A and B, it is possible to convert them from a pair of Abbe number and refactive. The conversion algorithm is given below in section ().

Important:
a) Due to a different naming convention in the reference for the LuxCore implementation, the variables in the source code and tooltipps in BlendLuxCore currently ask for „Cauchy-C“ as the dispersion parameter instead of „Cauchy-B“.
b) The Cauchy-A term is the asymptotical refractive index at high wavelengths. It is therefore smaller than the refractive index at the center of the visible spectrum, which is usually the IOR-value quoted for materials if nothing else is specified.

The Sellmeyer Equation

Like the Cauchy equation, the Sellmeyer equation is a formula describing the refractive index as a function of wavelength. It is more complex and suited to describe the refractive index over a wider range of wavelengths:

Sellmeyer.png

As for the Cauchy equation, further terms could be used. Data sheets for optical glasses usually give the six coefficients of the above form.

Relative Partial Dispersion and Other Quantities

Many more equation and indices have been defined to quantify dispersion, sometimes tailored to specific wavelength ranges.

The concept of relative partial dispersions is similar to the Abbe number, but using another pair of refractive index difference at certain wavelengths in the numerator of the equation.

Even simpler, the refractive index difference between red and blue light is sometimes given. A commonly found example is a dispersion value of 0.044 for Diamond. This is of the same order of magnitude as the Cauchy-B coefficent B = 0.012, and thus often quoted and used.

Dispersion in LuxCore and Tipps

As mentioned in the previous section, LuxCore uses a two-term Cauchy equation to model the refractive index.

Therefore, in (Blend)LuxCore, the correct way to input values is to set the Cauchy-A coefficient as IOR, and the Cauchy-B coefficient as dispersion.

For artistic applications, it should be fine to use the IOR at a visible wavelength instead of the Cauchy-A term. Likewise, a higher dispersion value may be used to compensate for limitations of the rendering process, like SDS caustics or fully specular paths.

The following image shows a comparison of a diamond rendered at with different dispersion values of B = 0 (no dispersion), B = 0.0121 (physically correct) and B = 0.044 (often quoted value). The IOR was adapted so that the refractive index at 550 nm remains constant and the caustics remain centered in the same location.

Diamonddispersion.gif

Conversion from Abbe Number to Cauchy

TBD...

Further Reading

Some manufacturers of optical glasses and lens systems have published technical documents that may be helpful to further understand dispersion and how it is measured.

Schott TIE-29: Refractive Index and Dispersion

Zeiss Memorandum on reference wavelengths

Schott TIE Document collection