<p>Yes, because refractive index can vary with wavelength. This is the origin of colored specular reflection in metals such as gold and copper; most other materials have essentially uncolored specular. At each wavelength, the specular reflectance at normal incidence is related to the refractive index at that wavelength according to the formula you mentioned.</p>

<p>In case you're interested, the site <a href="https://refractiveindex.info/" rel="noreferrer">refractiveindex.info</a> has data tables and graphs of refractive index versus wavelength for various materials. For example, <a href="https://refractiveindex.info/?shelf=main&amp;book=Au&amp;page=Johnson" rel="noreferrer">here's gold</a>:</p>

<p><img src="https://i.sstatic.net/XX9FC.png" alt="refractive index of gold vs wavelength"></p>

CC BY-SA 3.0
2017-02-25T00:56:53.017Z
Thanks. So to come up with the specular colour for gold, I'd need to lookup the wavelengths for red, green, and blue components. With those wavelengths I lookup the corresponding refractive indices for gold. Then plug them in the formula for $R_0$ and those 3 values are the components of the specular colour?
PeteUK
CC BY-SA 3.0
2017-02-25T00:59:43.433Z
@PeteUK Yep, as an easy way, you can use representative wavelengths for R, G, B like that. Probably a more accurate way is to integrate $R_0(\lambda)$, multiplied by one of the [CIE color matching functions](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_color_space), over wavelength.
Nathan Reed
CC BY-SA 3.0
2017-02-27T04:53:13.213Z
@ChristianPagot Perhaps it's for storing in a sRGB specular color texture. The GPU would then decode to linear RGB when it's sampled.
Nathan Reed
CC BY-SA 3.0
2017-02-24T23:52:37.747Z
2017-02-24T23:52:37.747Z
Nathan Reed
<p>I'm trying to implement Cook-Torrance BRDF and had previously bookmarked <a href="https://computergraphics.stackexchange.com/questions/4394/path-tracing-the-cook-torrance-brdf">this question</a> as it looked very well thought out. Going through it, I'm confused about the Fresnel equation. The author has the equation:</p>

<p>$$
F = c_{spec} + (1 - c_{spec}) (1 - \mathbf{w_i} \cdot \mathbf{h})^5 \tag{1}
$$</p>

<p>and says "<em>$c_{spec}$ is the specular color</em>"</p>

<p>Looking elsewhere, I can see this equation is <a href="https://en.wikipedia.org/wiki/Schlick%27s_approximation" rel="nofollow noreferrer">Schlick's approximation</a>, but in other references, $c_{spec}$ is called $R_0$ and is $\left(\frac{n_1-n_2}{n_1+n_2}\right)^2$ which is clearly a number based upon refractive indices and <strong>not</strong> a colour.</p>

<p>Does equation $(1)$ make sense with colour?</p>

CC BY-SA 3.0
2017-03-19T22:32:53.300Z
Brilliant. I have tried to implement gold appearance but don't think it looks right and have been reading more about Fresnel, extinction coefficients, etc. I'm not on this full time so it's going slow. Thanks.
PeteUK
<brdf><specular><fresnel>
Fresnel and specular colour
PeteUK
# Fresnel and specular colour

(Asked by: username_0 on 2017-02-24)

I'm trying to implement Cook-Torrance BRDF and had previously bookmarked [this question](https://computergraphics.stackexchange.com/questions/4394/path-tracing-the-cook-torrance-brdf) as it looked very well thought out. Going through it, I'm confused about the Fresnel equation. The author has the equation:

$$
F = c\_{spec} + (1 - c\_{spec}) (1 - \mathbf{w\_i} \cdot \mathbf{h})^5 \tag{1}
$$

and says "*$c\_{spec}$ is the specular color*"

Looking elsewhere, I can see this equation is [Schlick's approximation](https://en.wikipedia.org/wiki/Schlick%27s_approximation), but in other references, $c\_{spec}$ is called $R\_0$ and is $\left(\frac{n\_1-n\_2}{n\_1+n\_2}\right)^2$ which is clearly a number based upon refractive indices and **not** a colour.

Does equation $(1)$ make sense with colour?

**Tags:** brdf, specular, fresnel

> **Comments:**
> **username_0**: Brilliant. I have tried to implement gold appearance but don't think it looks right and have been reading more about Fresnel, extinction coefficients, etc. I'm not on this full time so it's going slow. Thanks.  

---

## 1 answers

### Answer by username_1 on 2017-02-24. Score: 8 | Accepted answer

Yes, because refractive index can vary with wavelength. This is the origin of colored specular reflection in metals such as gold and copper; most other materials have essentially uncolored specular. At each wavelength, the specular reflectance at normal incidence is related to the refractive index at that wavelength according to the formula you mentioned.

In case you're interested, the site [refractiveindex.info](https://refractiveindex.info/) has data tables and graphs of refractive index versus wavelength for various materials. For example, [here's gold](https://refractiveindex.info/?shelf=main&book=Au&page=Johnson):

![refractive index of gold vs wavelength](https://i.sstatic.net/XX9FC.png)

> **Comments:**
> **username_0**: Thanks. So to come up with the specular colour for gold, I'd need to lookup the wavelengths for red, green, and blue components. With those wavelengths I lookup the corresponding refractive indices for gold. Then plug them in the formula for $R_0$ and those 3 values are the components of the specular colour?  
> **username_1**: @username_0 Yep, as an easy way, you can use representative wavelengths for R, G, B like that. Probably a more accurate way is to integrate $R_0(\lambda)$, multiplied by one of the [CIE color matching functions](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_color_space), over wavelength.  
> **username_1**: @ChristianPagot Perhaps it's for storing in a sRGB specular color texture. The GPU would then decode to linear RGB when it's sampled.  

---

