private static StencilOp GetStencilOp(MgStencilOp operation) { switch (operation) { case MgStencilOp.KEEP: return(StencilOp.Keep); case MgStencilOp.DECREMENT_AND_WRAP: return(StencilOp.DecrWrap); case MgStencilOp.DECREMENT_AND_CLAMP: return(StencilOp.Decr); case MgStencilOp.INCREMENT_AND_CLAMP: return(StencilOp.Incr); case MgStencilOp.INCREMENT_AND_WRAP: return(StencilOp.IncrWrap); case MgStencilOp.INVERT: return(StencilOp.Invert); case MgStencilOp.REPLACE: return(StencilOp.Replace); case MgStencilOp.ZERO: return(StencilOp.Zero); default: return(StencilOp.Keep); } }
public static MTLStencilOperation GetStencilOperation(MgStencilOp stencilOp) { switch (stencilOp) { default: throw new NotSupportedException(); case MgStencilOp.DECREMENT_AND_CLAMP: return(MTLStencilOperation.DecrementClamp); case MgStencilOp.DECREMENT_AND_WRAP: return(MTLStencilOperation.DecrementWrap); case MgStencilOp.INCREMENT_AND_CLAMP: return(MTLStencilOperation.IncrementClamp); case MgStencilOp.INCREMENT_AND_WRAP: return(MTLStencilOperation.IncrementWrap); case MgStencilOp.INVERT: return(MTLStencilOperation.Invert); case MgStencilOp.KEEP: return(MTLStencilOperation.Keep); case MgStencilOp.REPLACE: return(MTLStencilOperation.Replace); case MgStencilOp.ZERO: return(MTLStencilOperation.Zero); } }
public void SetFrontFaceStencilOperation( MgStencilOp stencilFail, MgStencilOp stencilDepthBufferFail, MgStencilOp stencilPass) { var stencilFaceFront = StencilFace.Front; GL.StencilOpSeparate(stencilFaceFront, GetStencilOp(stencilFail), GetStencilOp(stencilDepthBufferFail), GetStencilOp(stencilPass)); }
public void SetStencilOperation( MgStencilOp stencilFail, MgStencilOp stencilDepthBufferFail, MgStencilOp stencilPass) { GL.StencilOp(GetStencilOp(stencilFail), GetStencilOp(stencilDepthBufferFail), GetStencilOp(stencilPass)); { var error = GL.GetError(); if (error != ErrorCode.NoError) { Debug.WriteLine("SetStencilOperation : " + error); } } }
public void SetBackFaceStencilOperation( MgStencilOp counterClockwiseStencilFail, MgStencilOp counterClockwiseStencilDepthBufferFail, MgStencilOp counterClockwiseStencilPass) { var stencilFaceBack = StencilFace.Back; GL.StencilOpSeparate(stencilFaceBack, GetStencilOp(counterClockwiseStencilFail), GetStencilOp(counterClockwiseStencilDepthBufferFail), GetStencilOp(counterClockwiseStencilPass)); { var error = GL.GetError(); if (error != ErrorCode.NoError) { Debug.WriteLine("SetBackFaceStencilOperation : " + error); } } }
public void SetStencilOperation(MgStencilOp stencilFail, MgStencilOp stencilDepthBufferFail, MgStencilOp stencilPass) { }