The Extended Scripted scatter model allows the user to define polarization properties of the scattered rays. The example below demonstrates the use of a scatter model in which the rays become linearly s-polarized along the local X-axis after scattering.
The Scripted scatter model and the Extended Scripted scatter model both allow the user to define a BSDF in terms of any expression containing specular and scatter angles and can also be used to vary the scattered ray wavelength. However only the Extended Scripted scatter model allows the user to modify the scattered ray polarization state, this is done by using the T_SCATTERSCRIPTEX data structure.
In the simple script below, the definition of the "s" axis is defined to be aligned with the surface's x axis (lines 18-20). All generated scatter rays are set to be 100% linear polarized along this axis (lines 23-26). Note: g_Ascat_r_s and g_Ascat_i_s are the real and imaginary coefficients of the complex amplitude of the s vector, as are g_Ascat_r_p and g_Ascat_i_p for the p vector.
The simple example file below consists of a randomly polarized source (produces the rays drawn in red) and a scattering surface that creates scattered rays (drawn in green). Importance Sampling is used to ensure that rays are only scattered in the direction of the detector.
FRED's "Polarization Spot Diagram" plot shows the polarization state of the rays at the source and at the detector.
At the source:
At the detector:
Associated FRED file: PolarizedScatteringExample.frd