示例#1
0
        public static void SetGL(this PICABlendFunction BlendFunction)
        {
            GL.BlendEquationSeparate(
                BlendFunction.ColorEquation.ToBlendEquation(),
                BlendFunction.AlphaEquation.ToBlendEquation());

            GL.BlendFuncSeparate(
                BlendFunction.ColorSrcFunc.ToBlendingFactorSrc(),
                BlendFunction.ColorDstFunc.ToBlendingFactorDest(),
                BlendFunction.AlphaSrcFunc.ToBlendingFactorSrc(),
                BlendFunction.AlphaDstFunc.ToBlendingFactorDest());
        }
示例#2
0
        void ICustomSerialization.Deserialize(BinaryDeserializer Deserializer)
        {
            PICACommandReader Reader = new PICACommandReader(Commands);

            while (Reader.HasCommand)
            {
                PICACommand Cmd = Reader.GetCommand();

                uint Param = Cmd.Parameters[0];

                switch (Cmd.Register)
                {
                case PICARegister.GPUREG_COLOR_OPERATION: ColorOperation = new PICAColorOperation(Param); break;

                case PICARegister.GPUREG_BLEND_FUNC: Function = new PICABlendFunction(Param); break;

                case PICARegister.GPUREG_LOGIC_OP: LogicalOperation = (PICALogicalOp)(Param & 0xf); break;

                case PICARegister.GPUREG_BLEND_COLOR: Color = new RGBA(Param); break;
                }
            }
        }