public StencilState( StencilFunction func, int reference, int mask, StencilOperator zfail, StencilOperator fail, StencilOperator pass ) { Function = func; Reference = reference; Mask = mask; ZFail = zfail; Fail = fail; Pass = pass; }
private int ConvertStencilOp( StencilOperator op ) { switch ( op ) { case StencilOperator.Zero: return ( int ) SharpDX.Direct3D9.StencilOperation.Zero; case StencilOperator.Keep: return ( int ) SharpDX.Direct3D9.StencilOperation.Keep; case StencilOperator.Replace: return ( int ) SharpDX.Direct3D9.StencilOperation.Replace; case StencilOperator.Invert: return ( int ) SharpDX.Direct3D9.StencilOperation.Invert; case StencilOperator.Increase: return ( int ) SharpDX.Direct3D9.StencilOperation.Increment; case StencilOperator.Decrease: return ( int ) SharpDX.Direct3D9.StencilOperation.Decrement; case StencilOperator.IncreaseWrap: return ( int ) SharpDX.Direct3D9.StencilOperation.IncrementSaturate; case StencilOperator.DecreaseWrap: return ( int ) SharpDX.Direct3D9.StencilOperation.DecrementSaturate; default: throw new ArgumentException (); } }
private OpenTK.Graphics.OpenGL.StencilOp MistyValueToOriginal( StencilOperator op ) { switch ( op ) { case StencilOperator.Zero: return OpenTK.Graphics.OpenGL.StencilOp.Zero; case StencilOperator.Keep: return OpenTK.Graphics.OpenGL.StencilOp.Keep; case StencilOperator.Replace: return OpenTK.Graphics.OpenGL.StencilOp.Replace; case StencilOperator.Invert: return OpenTK.Graphics.OpenGL.StencilOp.Invert; case StencilOperator.Increase: return OpenTK.Graphics.OpenGL.StencilOp.Incr; case StencilOperator.Decrease: return OpenTK.Graphics.OpenGL.StencilOp.Decr; case StencilOperator.IncreaseWrap: return OpenTK.Graphics.OpenGL.StencilOp.IncrWrap; case StencilOperator.DecreaseWrap: return OpenTK.Graphics.OpenGL.StencilOp.DecrWrap; default: throw new ArgumentException (); } }