サンプルコードは次のようになります。
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.提示された情報は正しいですよね?