示例#1
0
        public static BlendFactor ToBlend(this W3dShaderDestBlendFunc value, bool alpha)
        {
            switch (value)
            {
            case W3dShaderDestBlendFunc.Zero:
                return(BlendFactor.Zero);

            case W3dShaderDestBlendFunc.One:
                return(BlendFactor.One);

            case W3dShaderDestBlendFunc.SrcAlpha:
                return(BlendFactor.SourceAlpha);

            case W3dShaderDestBlendFunc.OneMinusSrcAlpha:
                return(BlendFactor.InverseSourceAlpha);

            case W3dShaderDestBlendFunc.SrcColor:
                return(alpha ? BlendFactor.SourceAlpha : BlendFactor.SourceColor);

            case W3dShaderDestBlendFunc.OneMinusSrcColor:
                return(alpha ? BlendFactor.InverseSourceAlpha : BlendFactor.InverseSourceColor);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
示例#2
0
        public static Blend ToBlend(this W3dShaderDestBlendFunc value)
        {
            switch (value)
            {
            case W3dShaderDestBlendFunc.Zero:
                return(Blend.Zero);

            case W3dShaderDestBlendFunc.One:
                return(Blend.One);

            case W3dShaderDestBlendFunc.SrcAlpha:
                return(Blend.SrcAlpha);

            case W3dShaderDestBlendFunc.OneMinusSrcAlpha:
                return(Blend.OneMinusSrcAlpha);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }