public void SetStencilTest(StencilTestDescriptor stencilTest) { if (!stencilTest.TestEnable) { GL.Disable(EnableCap.StencilTest); return; } GL.StencilOpSeparate( StencilFace.Front, stencilTest.FrontSFail.Convert(), stencilTest.FrontDpFail.Convert(), stencilTest.FrontDpPass.Convert()); GL.StencilFuncSeparate( StencilFace.Front, (StencilFunction)stencilTest.FrontFunc.Convert(), stencilTest.FrontFuncRef, stencilTest.FrontFuncMask); GL.StencilMaskSeparate(StencilFace.Front, stencilTest.FrontMask); GL.StencilOpSeparate( StencilFace.Back, stencilTest.BackSFail.Convert(), stencilTest.BackDpFail.Convert(), stencilTest.BackDpPass.Convert()); GL.StencilFuncSeparate( StencilFace.Back, (StencilFunction)stencilTest.BackFunc.Convert(), stencilTest.BackFuncRef, stencilTest.BackFuncMask); GL.StencilMaskSeparate(StencilFace.Back, stencilTest.BackMask); GL.Enable(EnableCap.StencilTest); _stencilFrontMask = stencilTest.FrontMask; }
public void SetStencilTest(StencilTestDescriptor stencilTest) { _renderer.New <SetStencilTestCommand>().Set(stencilTest); _renderer.QueueCommand(); }
public void Set(StencilTestDescriptor stencilTest) { _stencilTest = stencilTest; }