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}