Different combinations of spectral wavelengths can produce the same apparent color. For instance, true yellow is 570nm-590nm, but computer screens produce it by mixing red and green. Both yellows look the same, but they are not really the same!
It's easy to demonstrate this effect in Blender. Cycles operates in RGB-only mode. It cannot simulate any colors in the visible light spectrum except for red, green, and blue. Secondary colors are combinations of the 3 RGB primaries.
To Cycles, yellow = red + green and cyan = green + blue. When you layer 2 planes with yellow and cyan glass shaders above a white emission plane, green light passes through. Each plane lets 2 wavelengths of light pass through it.
To Cycles, red and blue are pure primary colors. When you layer 2 planes with red and blue glass shaders above a white emission plane, what you see is black (not purple!) Each plane lets just 1 wavelength of light pass through it, and all light is blocked since the wavelengths are different.
Is it possible to make colors in Blender act as their own true wavelengths/spectral distributions instead of a mixture of red, green, and blue? If you do that, layering translucent yellow and cyan planes will result in black, just like layering red and blue. If you make 2 different colors that respond to a range of overlapping spectra, layering them will allow some light to pass through (resulting in a non-black color).
Can blender render colors with custom/non-RGB spectral distributions?