示例代码如下所示:
glEnable(GL_STENCIL_TEST);
glClearStencil(2);
glClear(GL_STENCIL_BUFFER_BIT);
glStencilFuncSeparate(GL_FRONT, GL_NOTEQUAL, 0, 1);
object.draw();
glDisable(GL_STENCIL_TEST);
每个像素的模板缓冲区都有这个二进制值:00000010(8 位精度)接下来,glStencilFuncSeparate 进行以下逻辑操作:(00000000 & 00000001 = 00000000), (00000010 & 00000001 = 00000000) -> 00000000 != 00000000 测试失败并且不会绘制对象的正面。我们可以将掩码设置为例如 2 或 255,然后测试将通过。
如果 glStencilFuncSeparate 中的 Ref 参数是 257,那么将被钳制为 1。 1. 掩码参数和钳制呢?2.提供的信息是正确的,对吧?