Phase functions

Rayleigh phase function (rayleigh_polarized)

Parameter

Type

Description

Flags

depolarization

float

Depolarization factor, the ratio of intensities parallel and perpendicular to the plane of scattering for light scattered at 90°.

P

Scattering by particles that are much smaller than the wavelength of light (e.g. individual molecules in the atmosphere) is well-approximated by the Rayleigh phase function.

Multi phase function (multiphase)

Parameter

Type

Description

Flags

weight_i

volume

Weight for phase function i, where i ranges from 0 to N-2 for N phase functions. All weights are normalized internally, so they don’t need to sum to 1.

P,

use_mis

boolean

Enable Multiple Importance Sampling (MIS) for variance reduction. When enabled, all phase functions are evaluated at each sampled direction to compute the mixture PDF and importance weight. This reduces variance when mixing very different phase functions at the cost of additional computation. (Default: true)

(Nested plugin)

phase

Two or more nested phase function instances to be mixed according to their respective weights. The phase functions are identified by order of appearance.

P,

This plugin implements a generalized multi-component phase function mixture that extends the standard two-phase blend to support an arbitrary number N ≥ 2 of phase functions. This is particularly useful for modeling complex participating media with multiple populations of scattering elements.

Key differences from standard blendphase:
  • Supports N phases instead of just 2

  • Weights are automatically normalized (don’t need to sum to 1)

  • Last weight is not inferred automatically

  • Optional Multiple Importance Sampling for variance reduction

Tabulated phase function (irregular angular grid) (tabphase_irregular)

Parameter

Type

Description

Flags

values

string

A comma-separated list of phase function values parameterized by the cosine of the scattering angle. Must have the same length as nodes.

P

nodes

string

A comma-separated list of \(\cos \theta\) specifying the grid on which values are defined. Bounds must be [-1, 1] and values must be strictly increasing. Must have the same length as values.

P

This plugin implements a generic phase function model for isotropic media parameterized by a lookup table giving values of the phase function as a function of the cosine of the scattering angle.

This plugin is a variant of the tabphase plugin and behaves similarly but uses an irregular distribution internally. Consequently, tabphase performs better for evaluation and sampling.

Lookup table (polarized) phase function (tabphase_polarized)

Parameter

Type

Description

Flags

m11

string

A comma-separated list of phase matrix coefficient 1,1 of the phase function, parametrized by the cosine of the scattering angle.

P

m12

string

A comma-separated list of phase matrix coefficient 1,2 of the phase function, parametrized by the cosine of the scattering angle.

P

m22

string

A comma-separated list of phase matrix coefficient 2,2 of the phase function, parametrized by the cosine of the scattering angle.

P

m33

string

A comma-separated list of phase matrix coefficient 3,3 of the phase function, parametrized by the cosine of the scattering angle.

P

m34

string

A comma-separated list of phase matrix coefficient 3,4 of the phase function, parametrized by the cosine of the scattering angle.

P

m44

string

A comma-separated list of phase matrix coefficient 4,4 of the phase function, parametrized by the cosine of the scattering angle.

P

nodes

string

A comma-separated list of \(\cos \theta\) specifying the grid on which values are defined. Bounds must be [-1, 1] and values must be strictly increasing. Must have the same length as values.

P

This plugin implements a generic phase function model for isotropic media parametrized by a lookup table giving values of the phase function as a function of the cosine of the scattering angle.

Notes

  • The scattering angle cosine is here defined as the dot product of the incoming and outgoing directions, where the incoming, resp. outgoing direction points toward, resp. outward the interaction point.

  • From this follows that \(\cos \theta = 1\) corresponds to forward scattering.

  • Lookup table points are regularly spaced between -1 and 1.

  • Phase function values are automatically normalized.

  • For polarized phase functions, this assumes (for the time being) the structure of a phase function with spherically symmetric particles, i.e. there are only four unique elements of the Mueller matrix: M_{11}, M_{12}, M_{33}, and M_{34}