3.5. Optical Surface Materials¶
Uniform and isotropic surface emitter with emission 1W/str/m^2/ x nm, where x is the spectrum’s wavelength interval.
This material is useful for general purpose debugging and testing energy conservation.
Uniform and isotropic surface emitter.
Uniform emission will be given by the emission_spectrum multiplied by the emission scale.
- emission_spectrum (SpectralFunction) – The surface’s emission function.
- scale (float) – Scale of the emission function (default = 1 W/m^2/str/nm).
An ideal Lambertian surface material.
A Lambertian is a perfectly diffuse surface that scatters light equally in all directions. It is a good approximation to many real world surfaces.
Parameters: reflectivity (SpectralFunction) – Reflectance function which defines the fraction of light scattered at each wavelength.
The conductor material simulates the interaction of light with a homogeneous conducting material, such as, gold, silver or aluminium.
This material implements the Fresnel equations for a conducting surface. To use the material, the complex refractive index of the conductor must be supplied.
This is implementing Cook-Torrence with conducting fresnel microfacets.
Smith shadowing and GGX facet distribution used to model roughness.
Material with refractive index defined by Sellmeier equation
- b1 (float) – Sellmeier \(B_1\) coefficient.
- b2 (float) – Sellmeier \(B_2\) coefficient.
- b3 (float) – Sellmeier \(B_3\) coefficient.
- c1 (float) – Sellmeier \(C_1\) coefficient.
- c2 (float) – Sellmeier \(C_2\) coefficient.
- c3 (float) – Sellmeier \(B_1\) coefficient.
- sample_resolution (float) – The numerical sampling resolution in nanometers.
Returns a sample of the three term Sellmeier equation at the specified wavelength.
Parameters: wavelength (float) – Wavelength in nm. Returns: Refractive index sample. Return type: float
An ideal dielectric material.
- index (SpectralFunction) – Refractive index as a function of wavelength.
- transmission (SpectralFunction) – Transmission per metre as a function of wavelength.
- external_index (SpectralFunction) – Refractive index of the external material at the interface, defaults to a vacuum (n=1).
- transmission_only (bool) – toggles transmission only, no reflection (default=False).
Modifies the surface normal to approximate a rough surface.
This is a modifier material, it takes another material (the base material) as an argument.
The roughen modifier works by randomly deflecting the surface normal about its true position before passing the intersection parameters on to the base material.
The deflection is calculated by interpolating between the existing normal and a vector sampled from a cosine weighted hemisphere. The strength of the interpolation, and hence the roughness of the surface, is controlled by the roughness argument. The roughness argument takes a value in the range [0, 1] where 1 is a fully rough, lambert-like surface and 0 is a smooth, untainted surface.
- material – The base material.
- roughness – A double value in the range [0, 1].
This module contains materials to aid with debugging and creating test scenes.
Isotropic checkerboard surface emitter
Defines a plane of alternating squares of emission forming a checkerboard pattern. Useful in debugging and as a light source in test scenes.
- width (float) – The width of the squares in metres.
- emission_spectrum1 (SpectralFunction) – Emission spectrum for square one.
- emission_spectrum2 (SpectralFunction) – Emission spectrum for square two.
- scale1 (float) – Intensity of square one emission.
- scale2 (float) – Intensity of square two emission.
The width of the squares in metres.
Return type: float
A Lambertian surface material illuminated by a distant light source.
This debug material lights the primitive from the world direction specified by a vector passed to the light_direction parameter. An optional intensity and emission spectrum may be supplied. By default the light spectrum is the D65 white point spectrum.