Previous:Diffuse Reflection Items Main Index Next:Specular Reflection

#### Highlights

Highlights are the bright spots that appear when a light source reflects off of a smooth object. They are a blend of specular reflection and diffuse reflection. They are specular-like because they depend upon viewing angle and illumination angle. However they are diffuse-like because some scattering occurs. In order to exactly model a highlight you would have to calculate specular reflection off of thousands of microscopic bumps called micro facets. The more that micro facets are facing the viewer the shinier the object appears and the tighter the highlights become. POV-Ray uses two different models to simulate highlights without calculating micro facets. They are the specular and Phong models.

Note that specular and Phong highlights are not mutually exclusive. It is possible to specify both and they will both take effect. Normally, however, you will only specify one or the other.

##### Phong Highlights

The `phong` keyword in the `finish` statement controls the amount of Phong highlighting on the object. It causes bright shiny spots on the object that are the color of the light source being reflected.

The Phong method measures the average of the facets facing in the mirror direction from the light sources to the viewer.

Phong's value is typically from 0.0 to 1.0, where 1.0 causes complete saturation to the light source's color at the brightest area (center) of the highlight. The default `phong 0.0` gives no highlight.

The size of the highlight spot is defined by the `phong_size` value. The larger the phong size the tighter, or smaller, the highlight and the shinier the appearance. The smaller the phong size the looser, or larger, the highlight and the less glossy the appearance.

Typical values range from 1.0 (very dull) to 250 (highly polished) though any values may be used. Default phong size is 40 (plastic) if `phong_size` is not specified. For example:

      finish { phong 0.9 phong_size 60 }

If `phong` is not specified `phong_size` has no effect.

##### Specular Highlight

The `specular` keyword in a `finish` statement produces a highlight which is very similar to Phong highlighting but it uses slightly different model. The specular model more closely resembles real specular reflection and provides a more credible spreading of the highlights occurring near the object horizons.

The specular value is typically from 0.0 to 1.0, where 1.0 causes complete saturation to the light source's color at the brightest area (center) of the highlight. The default `specular 0.0` gives no highlight.

The size of the spot is defined by the value given the `roughness` keyword. Typical values range from 1.0 (very rough - large highlight) to 0.0005 (very smooth - small highlight). The default value, if roughness is not specified, is 0.05 (plastic).

It is possible to specify wrong values for roughness that will generate an error when you try to render the file. Don't use 0 and if you get errors check to see if you are using a very, very small roughness value that may be causing the error. For example:

      finish {specular 0.9  roughness 0.02}

If `specular` is not specified `roughness` has no effect.

Note that when light reflects perfectly of a smooth surface such as a mirror, it is called specular reflection however such reflection is not controlled by the `specular` keyword. The `reflection` keyword controls mirror-like specular reflection.

##### Metallic Highlight Modifier

The keyword `metallic` may be used with Phong or specular highlights. This keyword indicates that the color of the highlights will be calculated by an empirical function that models the reflectivity of metallic surfaces.

Normally highlights are the color of the light source. Adding this keyword filters the highlight so that white light reflected from a metallic surface takes the color of the surface.

The `metallic` keyword may optionally be follow by a numeric value to specify the influence the amount of the effect. If no keyword is specified, the default value is zero. If the keyword is specified without a value, the default value is one. For example:

      finish {

        phong 0.9

        phong_size 60

        metallic

      }

If `phong` or `specular` keywords are not specified then `metallic` has no effect.

Previous:Diffuse Reflection Items Main Index Next:Specular Reflection