how to make a dichroic filter DLL to apply in a volume surface, not just a 2D surface?

  • 1 August 2022
  • 1 reply


it’s easy to make a DLL working as dichroic filter in the surface scatter way, by just changing the specular ray direction according to its wavelength in the DLL. however, it seems it only works in a 2D surface, and when it goes to a volume surface with different refraction index from the air, especially when the ray needs to reflect at the surface inside the volume, it can no longer work normally. examples illustrated as follows:

I analyzed the cause through ray tracing and ray database viewer, and found that if the ray made reflective mandatorily inside a volume via the DLL  by one of its surfaces, zemax has no way to know the reflected ray by the surface is still inside the volume,  as it seems zemax does not provide such an interface in the function “UserScatterDefinition” .

I hope to consult zemax development engineers and also guys with related experience, how to solve this? thx in advance!

and I also wondering why zemax does not provide the incident ray direction cosines and why it does not support reset the object number where the specular ray is in inside the “UserScatterDefinition” interface?






1 reply

maybe this is a little complicated, but can be simplified to such a question:

it’s easy and there are examples of C files provided by zemax for surface scatter in the forward direction, like below:

forward surface scatter


however, zemax does not provide examples how to achieve backward surface scatter for one wavelength range and forward surface scatter for another wavelength range. see an illustration below. so what I need your help is:  do you know how to achieve this? Note you cannot simply set the surface reflective.

things are also easy when it comes to a single surface, as you can just mirror the rays direction from forward surface scatter to backward surface scatter, but when it comes to a volume surface with volume index not equal to air like below, it no longer works.

some wavelength light forward surface scatter, and some wavelength light backward surface scatter