The stencil test conditionally discards a fragment based on the outcome of a comparison between the value in the stencil buffer and a reference value. The glStencilFunc function specifies the comparison function and the reference value. Whether the fragment passes or fails the stencil test, the value in the stencil buffer is modified according to the instructions specified with glStencilOp.