Abstract class Reflectance


The class Reflectance is an abstract class for describing the diffuse reflectance of a substrate. Reflectance is used by Lambertian_BRDF_Model and Diffuse_Subsurface_BRDF_Model, where beforehand the reflectance was described by a Table. Three different instantiable classes inherit the properties of Reflectance:

Instantiable Models and Their Parameters:

Parameter Data Type Description Default
Table_Reflectance:
A simple reflectance whose wavelength dependence is obtained from a table of values.
table Table The reflectance, given either as the name of a file containing the reflectance as a function of wavelength, or as a constant value. 1
Equation_Reflectance:
A reflectance given by an equation as a function of wavelength (given by x in the equation).
expression string An expression (given by a function of the wavelength, x) for the reflectance. 1
Kubelka_Munk_Reflectance:
A reflectance given by the theory of Kubelka and Munk [Z. Tech. Phys. 12, 593 (1931)] for a paint coating having specific scattering and absorption coefficients and thickness and substrate reflectance.
thickness double The thickness of the coating [µm]. 1
absorbance string An expression for the absorption coefficient as a function of wavelength [1/µm]. This expression can be a simple expression, or it can be the sum of multiple tables, e.g., &redpigment(x)+&bluepigment(x). 1
scattering string An expression for the scattering coefficient as a function of wavelength [1/µm]. This expression can be a simple expression, or it can be the sum of multiple tables, e.g., &whitepigment(x)+&yellowpigment(x). 1
substrate Reflectance_Ptr The reflectance of the underlying material Table_Reflectance

See also:

SCATMECH Home, Lambertian_BRDF_Model, Diffuse_Subsurface_BRDF_Model  

Include file:

#include "reflectance.h"

Source code:

reflectance.cpp

Definition of public elements:

class Reflectance : public Model {
    virtual double Get_Reflectance(double lambda) = 0;
};

typedef Model_Ptr<Reflectance> Reflectance_Ptr;

Top of Page


double Get_Reflectance(double lambda)

This function evaluates the reflectance at wavelength lambda.

Top of Page


For More Information

SCATMECH Technical Information and Questions
Optical Technology Division (OTD) Home Page
OTD Technical Inquiries
OTD Website Comments

Current SCATMECH version: 6.00 (February 2008)
This page first online: Version 6.00 (February 2008)
This page last modified: Version 6.00 (February 2008)