Depth peeling is a method of order-independent transparency. Depth peeling has the advantage of being able to generate correct results even for complex images containing intersecting transparent objects.
Depth peeling works by rendering the image multiple times.[1] Depth peeling uses two Z buffers, one that works conventionally, and one that is not modified, and sets the minimum distance at which a fragment can be drawn without being discarded. For each pass, the previous pass' conventional Z-buffer is used as the minimal Z-buffer, so each pass draws what was "behind" the previous pass. The resulting images can be combined to form a single image.