Example #1
0
        public void SetBlendFunc(BlendFunc func)
        {
            //Debug.Assert(false);
//			Debug.WriteLine("======================>SetBlendFunc not implemented");
//			if (func != null)
//			{
//				this.SetBlendFunc(func.mode, func.srcFactor, func.dstFactor);
//			}
//			else
//			{
//				Debug.Assert(false);
//			}
            this.SetBlendFunc(func.mode, func.srcFactor, func.dstFactor);
            __curBlendFunc = func;
        }
Example #2
0
        public void SetBlendFuncAlpha(BlendFunc v)
        {
//			Debug.Assert(false);
            __curBlendFuncAlpha = v;
        }
Example #3
0
        public void SetBlendFuncRgb(BlendFunc v)
        {
//			Debug.Assert(false);
            __curBlendFuncRgb = v;
        }
Example #4
0
        public void SetBlendFunc(BlendFuncMode mode, BlendFuncFactor srcFactor, BlendFuncFactor dstFactor)
        {
            __blendFunc = new BlendFunc(mode, srcFactor, dstFactor);

            BlendEquationMode _mode = BlendEquationMode.FuncAdd;

            switch (mode)
            {
            case BlendFuncMode.Add:
                _mode = BlendEquationMode.FuncAdd;
                break;

            default:
                Debug.Assert(false);
                break;
            }
            BlendingFactorSrc  _src = BlendingFactorSrc.SrcAlpha;
            BlendingFactorDest _dst = BlendingFactorDest.OneMinusSrcAlpha;

            switch (srcFactor)
            {
            case BlendFuncFactor.Zero:
                _src = BlendingFactorSrc.Zero;
                break;

            case BlendFuncFactor.SrcAlpha:
                _src = BlendingFactorSrc.SrcAlpha;
                break;

            case BlendFuncFactor.OneMinusSrcAlpha:
                _src = BlendingFactorSrc.OneMinusSrcAlpha;
                break;

            case BlendFuncFactor.One:
                _src = BlendingFactorSrc.One;
                break;

            case BlendFuncFactor.DstColor:
                _src = BlendingFactorSrc.DstColor;
                break;

            default:
                Debug.Assert(false);
                break;
            }
            switch (dstFactor)
            {
            case BlendFuncFactor.Zero:
                _dst = BlendingFactorDest.Zero;
                break;

            case BlendFuncFactor.SrcAlpha:
                _dst = BlendingFactorDest.SrcAlpha;
                break;

            case BlendFuncFactor.OneMinusSrcAlpha:
                _dst = BlendingFactorDest.OneMinusSrcAlpha;
                break;

            case BlendFuncFactor.One:
                _dst = BlendingFactorDest.One;
                break;

            case BlendFuncFactor.DstColor:
                _dst = BlendingFactorDest.DstColor;
                break;

            default:
                Debug.Assert(false);
                break;
            }
            //FIXME:??????in SpriteSample, for sprite black bg problem
            //GL.DepthMask(false); //not good
            GL.Clear(ClearBufferMask.DepthBufferBit);
            GL.BlendEquation(_mode);
            GL.BlendFunc(_src, _dst);
        }