在功能
中glStencilFunc(GLenum func, GLint ref, GLuint mask)
mask的作用是什么,我们正在发送ref值,并将缓冲区内容与ref值进行比较,为什么我们需要发送mask值呢?
我所读到的关于掩码值的信息是“与参考值和存储的模板值都进行了AND运算的掩码”,但是为什么我们需要它呢?
答案 0 :(得分:3)
这完全取决于您对模板的处理方式。一些模板操作将模板值仅视为整数,出于某种效果或目的,增加和/或减小模板值。其他操作将其用作位掩码,其中模板值中的每个位或一组位特别表示某些内容。也就是说,从语义的角度来看,您有多个值恰好存储在相同的8位空间中。
mask
值适用于此类情况。您可能有8个单独的遮罩区域,并且您想针对其中一个区域渲染一些几何图形。您可以使用mask
参数来指定要遮盖一段几何图形的位(指定一个区域)。