public void SetStencilOp(bool IsFrontFace, GalStencilOp Fail, GalStencilOp ZFail, GalStencilOp ZPass) { GL.StencilOpSeparate( IsFrontFace ? StencilFace.Front : StencilFace.Back, OGLEnumConverter.GetStencilOp(Fail), OGLEnumConverter.GetStencilOp(ZFail), OGLEnumConverter.GetStencilOp(ZPass)); }
public static StencilOp GetStencilOp(GalStencilOp op) { switch (op) { case GalStencilOp.Keep: return(StencilOp.Keep); case GalStencilOp.Zero: return(StencilOp.Zero); case GalStencilOp.Replace: return(StencilOp.Replace); case GalStencilOp.Incr: return(StencilOp.Incr); case GalStencilOp.Decr: return(StencilOp.Decr); case GalStencilOp.Invert: return(StencilOp.Invert); case GalStencilOp.IncrWrap: return(StencilOp.IncrWrap); case GalStencilOp.DecrWrap: return(StencilOp.DecrWrap); } throw new ArgumentException(nameof(op) + " \"" + op + "\" is not valid!"); }
public static StencilOp GetStencilOp(GalStencilOp Op) { switch (Op) { case GalStencilOp.Keep: return(StencilOp.Keep); case GalStencilOp.Zero: return(StencilOp.Zero); case GalStencilOp.Replace: return(StencilOp.Replace); case GalStencilOp.Incr: return(StencilOp.Incr); case GalStencilOp.Decr: return(StencilOp.Decr); case GalStencilOp.Invert: return(StencilOp.Invert); case GalStencilOp.IncrWrap: return(StencilOp.IncrWrap); case GalStencilOp.DecrWrap: return(StencilOp.DecrWrap); } throw new ArgumentException(nameof(Op)); }