In addition to partial reflections at surfaces, rays can also scatter due to microscopic roughness of the surface. Zemax supports many detailed models of scattering from optical surfaces, including Lambertian (used for very rough, highly scattering surfaces), Gaussian (typically used for modeling the scattering of a well-polished surface and ABg, which is used mainly for inputing measured scattering functions. There is also a powerful user-defined scattering function capability to allow you to add your own scattering distribution functions.
The scattering distribution function in this case is an ABg distribution:
Zemax gives you great control over how to handle scattering. On an object-by object basis you can define whether Zemax should decide whether a ray is scattered or not, or whether to always launch an unscattered ray and a specified number of scattered rays. This is what is done in the first screenshot above: the input ray is split into the specular (unscattered) ray plus three scattered rays chosen randomly from the scattering distribution function. Energy is correctly distributed between all the rays. Further controls allow you to define that scattered rays should only move along specified trajectories, so that the number of rays needed to build up a suitable signal/noise ratio is greatly reduced.
When dealing with objects imported from mechanical CAD packages, it is often important to distinguish between the different regions of the CAD object. Zemax allows you to place multiple different scattering functions on the various faces of the CAD object.
In this example, the faces in red are smooth, optical-quality injection-molded plastic, and the silver faces have a rough, scattering finish produced by spark-eroding the molding tool. Zemax gives you a simple point and click interface to apply different scattering functions easily to different faces of the CAD object.
In addition to scattering from the surfaces of objects, Zemax also supports detailed models of volume (or bulk) scattering, in which inclusions in the optical material cause scattering. This is ideal for modeling the effects of imperfections in optical materials, or scattering in biological tissue, for example.
Related Knowledge Base articles:
How To Model a Partially Reflective and Partially Scattering Surface
How to Add Coating and Scattering Functions to Non-Sequential Objects
Quantifying Veiling Glare