MTLCompareFunction TranslateCompareFunction(MgCompareOp compareOp) { switch (compareOp) { default: throw new NotSupportedException(); case MgCompareOp.ALWAYS: return(MTLCompareFunction.Always); case MgCompareOp.EQUAL: return(MTLCompareFunction.Equal); case MgCompareOp.GREATER: return(MTLCompareFunction.Greater); case MgCompareOp.GREATER_OR_EQUAL: return(MTLCompareFunction.GreaterEqual); case MgCompareOp.LESS: return(MTLCompareFunction.Less); case MgCompareOp.LESS_OR_EQUAL: return(MTLCompareFunction.LessEqual); case MgCompareOp.NEVER: return(MTLCompareFunction.Never); case MgCompareOp.NOT_EQUAL: return(MTLCompareFunction.NotEqual); } }
private static GLStencilFunction GetStencilFunc(MgCompareOp function) { switch (function) { case MgCompareOp.ALWAYS: return(GLStencilFunction.Always); case MgCompareOp.EQUAL: return(GLStencilFunction.Equal); case MgCompareOp.GREATER: return(GLStencilFunction.Greater); case MgCompareOp.GREATER_OR_EQUAL: return(GLStencilFunction.Gequal); case MgCompareOp.LESS: return(GLStencilFunction.Less); case MgCompareOp.LESS_OR_EQUAL: return(GLStencilFunction.Lequal); case MgCompareOp.NEVER: return(GLStencilFunction.Never); case MgCompareOp.NOT_EQUAL: return(GLStencilFunction.Notequal); default: return(GLStencilFunction.Always); } }
private static MTLCompareFunction GetDepthCompareFunction(MgCompareOp depthCompareOp) { switch (depthCompareOp) { default: throw new NotSupportedException(); case MgCompareOp.LESS: return(MTLCompareFunction.Less); case MgCompareOp.LESS_OR_EQUAL: return(MTLCompareFunction.LessEqual); case MgCompareOp.GREATER: return(MTLCompareFunction.Greater); case MgCompareOp.GREATER_OR_EQUAL: return(MTLCompareFunction.GreaterEqual); case MgCompareOp.NEVER: return(MTLCompareFunction.Never); case MgCompareOp.NOT_EQUAL: return(MTLCompareFunction.NotEqual); case MgCompareOp.EQUAL: return(MTLCompareFunction.Equal); } }
private static DepthFunction GetDepthFunction(MgCompareOp compare) { switch (compare) { default: throw new NotSupportedException(); case MgCompareOp.ALWAYS: return(DepthFunction.Always); case MgCompareOp.EQUAL: return(DepthFunction.Equal); case MgCompareOp.GREATER: return(DepthFunction.Greater); case MgCompareOp.GREATER_OR_EQUAL: return(DepthFunction.Gequal); case MgCompareOp.LESS: return(DepthFunction.Less); case MgCompareOp.LESS_OR_EQUAL: return(DepthFunction.Lequal); case MgCompareOp.NEVER: return(DepthFunction.Never); case MgCompareOp.NOT_EQUAL: return(DepthFunction.Notequal); } }
private static All GetCompareOp(MgCompareOp compareOp) { switch (compareOp) { case MgCompareOp.ALWAYS: return(All.Always); case MgCompareOp.EQUAL: return(All.Equal); case MgCompareOp.LESS: return(All.Less); case MgCompareOp.LESS_OR_EQUAL: return(All.Lequal); case MgCompareOp.GREATER: return(All.Greater); case MgCompareOp.GREATER_OR_EQUAL: return(All.Gequal); case MgCompareOp.NOT_EQUAL: return(All.Notequal); case MgCompareOp.NEVER: return(All.Never); default: throw new NotSupportedException(); } }
public void SetDepthBufferFunc(MgCompareOp func) { GL.DepthFunc(GetDepthFunction(func)); { var error = GL.GetError(); if (error != ErrorCode.NoError) { Debug.WriteLine("SetDepthBufferFunc : " + error); } } }
public void SetStencilFunction( MgCompareOp stencilFunction, int referenceStencil, uint compare) { GL.StencilFunc( GetStencilFunc(stencilFunction), referenceStencil, compare); { var error = GL.GetError(); if (error != ErrorCode.NoError) { Debug.WriteLine("SetStencilFunction : " + error); } } }
public void SetBackFaceCullStencilFunction(MgCompareOp func, int referenceStencil, uint compare) { var cullFaceModeBack = StencilFace.Back; GL.StencilFuncSeparate( cullFaceModeBack, GetStencilFunc(func), referenceStencil, compare); { var error = GL.GetError(); if (error != ErrorCode.NoError) { Debug.WriteLine("SetBackFaceCullStencilFunction : " + error); } } }
public void SetStencilFunction(MgCompareOp stencilFunction, int referenceStencil, uint compare) { }
public void SetFrontFaceCullStencilFunction(MgCompareOp func, int referenceStencil, uint compare) { }
public void SetDepthBufferFunc(MgCompareOp func) { }
public void SetTextureCompareFunc(int samplerId, MgCompareOp compareOp) { GL.SamplerParameter(samplerId, SamplerParameterName.TextureCompareFunc, (int)GetCompareOp(compareOp)); mErrHandler.LogGLError("SamplerParameter (TextureCompareFunc)"); }