class Subsurface_Facet_BRDF_Model


The class Subsurface_Facet_BRDF_Model calculates the scattering from large scale roughness of a substrate under a smooth dielectric overcoat. The flakes are assumed to have a specified slope distribution function. The model is similar to Facet_BRDF_Model, except that the facets are assumed to be beneath a refracting interface. The model also can be applied to the scattering from flakes embedded in a dielectric coating.

Diagram showing Subsurface_Facet_BRDF_Model

Parameters:

Parameter Data Type Description Default
lambda double Wavelength of the light in vacuum [µm].
(Inherited from BRDF_Model.)
0.532
type int Indicates whether the light is incident from above the substrate or from within the substrate and whether the scattering is evaluated in reflection or transmission. The choices are:
0 : Light is incident from the above the substrate, and scattering is evaluated in reflection.
1 : Light is incident from the above the substrate, and scattering is evaluated in transmission.
2 : Light is incident from the within the substrate, and scattering is evaluated in reflection.
3 : Light is incident from the within the substrate, and scattering is evaluated in transmission.
For 1, 2, and 3, the substrate must be non-absorbing.
Subsurface_Facet_BRDF_Model only supports type=0.
(Inherited from BRDF_Model).
0
substrate dielectric_function The optical constants of the substrate, expressed as a complex number (n,k) or, optionally, as a function of wavelength.
(Inherited from BRDF_Model.)
(4.05,0.05)
sdf Slope_Distribution_Function Function describing the isotropic two-dimensional distribution of surface slopes.
(Inherited from Facet_BRDF_Model.)
Exponential_Slope_Distribution_Function
stack StackModel_Ptr Description of any stack of films deposited on the substrate. The films are assumed to be conformal and of total thickness much less than the horizontal scale of the roughness.
(Inherited from Facet_BRDF_Model).
No_StackModel
overcoat dielectric_function The optical constants of the coating above the rough surface, expressed as a complex number (n,k) or, optionally, as a function of wavelength. The coating's absorption coefficient (k) must be zero. (1.59,0.0)
overcoat_stack StackModel_Ptr Description of any stack of films deposited on top of the coating. The films are assumed to be conformal and to not be rough. No_StackModel

See also:

SCATMECH Home,   Conventions,   Facet_BRDF_Model,   dielectric_stack

T.A. Germer and M.E. Nadal, "Modeling the appearance of special effect pigments," in Surface Scattering and Diffraction for Advanced Metrology, Z.-H. Gu and A.A. Maradudin, Eds., Proc. SPIE 4447, 77-86 (2001).

T.A. Germer and E. Marx, "Ray model of light scattering by flake pigments or rough surfaces with smooth transparent coatings," Appl. Opt. 43(6), 1266-1274 (2004).

Include file:

#include "flake.h"

Source code:

flake.cpp

Definition of public elements:

class Subsurface_Facet_BRDF_Model
  : public Facet_BRDF_Model
{
    virtual double local_angle(double thetai,double thetas,double phis);
    virtual double local_slope(double thetai,double thetas,double phis);
};


virtual double local_angle(double thetai,double thetas,double phis)

A function which returns the local angle of incidence on a surface facet. It overloads the function of the same name provided by Facet_BRDF_Model.

Top of Page

virtual double local_slope(double thetai,double thetas,double phis)

A function which returns the local slope of a surface facet reflecting in the specified geometry. It overloads the function of the same name provided by Facet_BRDF_Model.

Top of Page


For More Information

SCATMECH Technical Information and Questions
Sensor Science Division Home Page
Sensor Science Division Inquiries
Website Comments

Current SCATMECH version: 7.22 (April 2021)